Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CodeEditApp/CodeEditLanguages
A Collection of Tree-Sitter Parsers for Syntax Highlighting
https://github.com/CodeEditApp/CodeEditLanguages
Last synced: 3 months ago
JSON representation
A Collection of Tree-Sitter Parsers for Syntax Highlighting
- Host: GitHub
- URL: https://github.com/CodeEditApp/CodeEditLanguages
- Owner: CodeEditApp
- Created: 2022-10-28T20:55:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-07T17:46:52.000Z (6 months ago)
- Last Synced: 2024-07-05T13:37:08.480Z (4 months ago)
- Language: Swift
- Homepage:
- Size: 1.24 GB
- Stars: 96
- Watchers: 11
- Forks: 25
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
CodeEditLanguages
A collection of `tree-sitter` languages for syntax highlighting.
![Github Tests](https://img.shields.io/github/actions/workflow/status/CodeEditApp/CodeEditLanguages/tests.yml?branch=main&label=tests&style=flat-square)
![Documentation](https://img.shields.io/github/actions/workflow/status/CodeEditApp/CodeEditLanguages/build-documentation.yml?branch=main&label=docs&style=flat-square)
![GitHub Repo stars](https://img.shields.io/github/stars/CodeEditApp/CodeEditLanguages?style=flat-square)
![GitHub forks](https://img.shields.io/github/forks/CodeEditApp/CodeEditLanguages?style=flat-square)
[![Discord Badge](https://img.shields.io/discord/951544472238444645?color=5865F2&label=Discord&logo=discord&logoColor=white&style=flat-square)](https://discord.gg/vChUXVf9Em)## Overview
This package includes a binary framework `CodeLanguagesContainer.xcframework` which bundles all `tree-sitter` languages in a single binary to greatly reduce SPM package resolution times.
The languages are then served as a `CodeLanguage`.
## SwiftTreeSitter
This package heavily depends on [SwiftTreeSitter](https://github.com/ChimeHQ/SwiftTreeSitter) by [Matt Massicotte](https://twitter.com/mattie).
## Documentation
The documentation including a guide on how to add support for new languages can be found **[here](https://codeeditapp.github.io/CodeEditLanguages/documentation/codeeditlanguages)**!
## Supported Languages
There are several [language grammars](https://tree-sitter.github.io/tree-sitter/#available-parsers) available for [tree-sitter](https://tree-sitter.github.io/tree-sitter/). Many of them are already supported in `CodeEditLanguages`. In order to use **syntax-highlighting** with those grammars, they need to supply a `highlights.scm` file. Grammars for which this file does not exist yet, are marked with _`not available`_ below. This file has to be added to the grammar's repo directly.
In order to add support for additional languages we have a complete guide on how to implement them in `CodeEditLanguages` available [here](https://codeeditapp.github.io/CodeEditLanguages/documentation/codeeditlanguages/add-languages/).
> If you want to add support for another language, please file an [issue](https://github.com/CodeEditApp/CodeEditLanguages/issues/new/choose) first, so everyone knows that this is in progress.
| Grammar | Implemented | Syntax Highlighting |
| -------------- | :---------: | :-----------------: |
| [Agda](https://github.com/cengelbart39/tree-sitter-agda/tree/feat/spm) | ✅ | _not available_ |
| [Bash](https://github.com/tree-sitter/tree-sitter-bash) | ✅ | ✅ |
| [C](https://github.com/tree-sitter/tree-sitter-c) | ✅ | ✅ |
| [C++](https://github.com/tree-sitter/tree-sitter-cpp) | ✅ | ✅ |
| [C#](https://github.com/tree-sitter/tree-sitter-c-sharp) | ✅ | ✅ |
| [CSS](https://github.com/lukepistrol/tree-sitter-css) | ✅ | ✅ |
| [Dart](https://github.com/lukepistrol/tree-sitter-dart/tree/feature/spm) | ✅ | ✅ |
| [Dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) | ✅ | ✅ |
| [Elixir](https://github.com/elixir-lang/tree-sitter-elixir) | ✅ | ✅ |
| [ERB, EJS](https://github.com/tree-sitter/tree-sitter-embedded-template) | | |
| [Go](https://github.com/tree-sitter/tree-sitter-go) | ✅ | ✅ |
| [Haskell](https://github.com/tree-sitter/tree-sitter-haskell) | ✅ | ✅ |
| [HTML](https://github.com/tree-sitter/tree-sitter-html) | ✅ | ✅ |
| [Java](https://github.com/tree-sitter/tree-sitter-java) | ✅ | ✅ |
| [JavaScript/JSX](https://github.com/tree-sitter/tree-sitter-javascript) | ✅ | ✅ |
| [JSDoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | ✅ | ✅ |
| [JSON](https://github.com/tree-sitter/tree-sitter-json) | ✅ | ✅ |
| [Julia](https://github.com/tree-sitter/tree-sitter-julia) | ✅ | _not available_ |
| [Kotlin](https://github.com/lukepistrol/tree-sitter-kotlin/tree/feature/spm-queries) | ✅ | ✅ |
| [Lua](https://github.com/lukepistrol/tree-sitter-lua/tree/feature/spm) | ✅ | ✅ |
| [Markdown](https://github.com/MDeiml/tree-sitter-markdown) | ✅ | ✅ |
| [Objective C](https://github.com/lukepistrol/tree-sitter-objc/tree/feature/spm) | ✅ | ✅ |
| [OCaml](https://github.com/tree-sitter/tree-sitter-ocaml) | ✅ | ✅ |
| Plain Text | ✅ | _not available_ |
| [Perl](https://github.com/ganezdragon/tree-sitter-perl) | ✅ | _not available_ |
| [PHP](https://github.com/tree-sitter/tree-sitter-php) | ✅ | ✅ |
| [Python](https://github.com/tree-sitter/tree-sitter-python) | ✅ | ✅ |
| [Regex](https://github.com/tree-sitter/tree-sitter-regex) | ✅ | ✅ |
| [Ruby](https://github.com/mattmassicotte/tree-sitter-ruby) | ✅ | ✅ |
| [Rust](https://github.com/tree-sitter/tree-sitter-rust) | ✅ | ✅ |
| [Scala](https://github.com/tree-sitter/tree-sitter-scala) | ✅ | ✅ |
| [Sql](https://github.com/DerekStride/tree-sitter-sql) | ✅ | ✅ |
| [Swift](https://github.com/alex-pinkus/tree-sitter-swift/tree/with-generated-files) | ✅ | ✅ |
| [TOML](https://github.com/cengelbart39/tree-sitter-toml/tree/feature/spm) | ✅ | ✅ |
| [TypeScript/TSX](https://github.com/tree-sitter/tree-sitter-typescript) | ✅ | ✅ |
| [Verilog](https://github.com/tree-sitter/tree-sitter-verilog) | ✅ | _not available_ |
| [YAML](https://github.com/lukepistrol/tree-sitter-yaml/tree/feature/spm) | ✅ | ✅ |
| [Zig](https://github.com/maxxnino/tree-sitter-zig) | ✅ | ✅ |## Related Repositories
CodeEdit
CodeEditSourceEditor
CodeEditTextView
CodeEditCLI
CodeEditKit