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 (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-21T14:55:10.000Z (6 months ago)
- Last Synced: 2024-11-18T00:04:30.071Z (3 months ago)
- Language: Swift
- Homepage:
- Size: 1.24 GB
- Stars: 104
- Watchers: 11
- Forks: 30
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
CodeEditLanguages
A collection of `tree-sitter` languages for syntax highlighting.




[](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/tree-sitter/tree-sitter-agda.git) | ✅ | _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/tree-sitter/tree-sitter-css.git) | ✅ | ✅ |
| [Dart](https://github.com/UserNobody14/tree-sitter-dart.git) | ✅ | ✅ |
| [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/fwcd/tree-sitter-kotlin) | ✅ | ✅ |
| [Lua](https://github.com/tree-sitter-grammars/tree-sitter-lua) | ✅ | ✅ |
| [Markdown](https://github.com/tree-sitter-grammars/tree-sitter-markdown) | ✅ | ✅ |
| [Objective C](https://github.com/tree-sitter-grammars/tree-sitter-objc) | ✅ | ✅ |
| [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/tree-sitter-grammars/tree-sitter-yaml.git) | ✅ | ✅ |
| [Zig](https://github.com/tree-sitter-grammars/tree-sitter-zig.git) | ✅ | ✅ |## Related Repositories
![]()
CodeEdit
![]()
CodeEditSourceEditor
![]()
CodeEditTextView
![]()
CodeEditCLI
![]()
CodeEditKit