aboutsummaryrefslogtreecommitdiff
path: root/languages.toml
Commit message (Collapse)AuthorAge
* Adds support for multiple language servers per language.Philipp Mildenberger2023-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Language Servers are now configured in a separate table in `languages.toml`: ```toml [langauge-server.mylang-lsp] command = "mylang-lsp" args = ["--stdio"] config = { provideFormatter = true } [language-server.efm-lsp-prettier] command = "efm-langserver" [language-server.efm-lsp-prettier.config] documentFormatting = true languages = { typescript = [ { formatCommand ="prettier --stdin-filepath ${INPUT}", formatStdin = true } ] } ``` The language server for a language is configured like this (`typescript-language-server` is configured by default): ```toml [[language]] name = "typescript" language-servers = [ { name = "efm-lsp-prettier", only-features = [ "format" ] }, "typescript-language-server" ] ``` or equivalent: ```toml [[language]] name = "typescript" language-servers = [ { name = "typescript-language-server", except-features = [ "format" ] }, "efm-lsp-prettier" ] ``` Each requested LSP feature is priorized in the order of the `language-servers` array. For example the first `goto-definition` supported language server (in this case `typescript-language-server`) will be taken for the relevant LSP request (command `goto_definition`). If no `except-features` or `only-features` is given all features for the language server are enabled, as long as the language server supports these. If it doesn't the next language server which supports the feature is tried. The list of supported features are: - `format` - `goto-definition` - `goto-declaration` - `goto-type-definition` - `goto-reference` - `goto-implementation` - `signature-help` - `hover` - `document-highlight` - `completion` - `code-action` - `workspace-command` - `document-symbols` - `workspace-symbols` - `diagnostics` - `rename-symbol` - `inlay-hints` Another side-effect/difference that comes with this PR, is that only one language server instance is started if different languages use the same language server.
* languages.toml: recognize `gml` files. (#7055)gibbz002023-05-16
|
* languages.toml: recognize `geojson` files. (#7054)gibbz002023-05-16
|
* fix: update upstream tree-sitter-dockerfile (#6895)Vitalii Solodilov2023-05-12
| | | | | | | | | * fix: update upstream tree-sitter-dockerfile Fixes: #6797 * fix: review * fix: review
* Remove `tree-sitter-cabal` (#6996)Ollie Charles2023-05-09
|
* Treat .sty and .cls files as latex (#6986)Andrius Pukšta2023-05-08
|
* languages: add build.gradle.kts to java and scala roots (#6970)Diego Pontoriero2023-05-05
| | | | | Gradle scripts written in kotlin use a .kts extension: https://docs.gradle.org/current/userguide/kotlin_dsl.html#sec:scripts
* Add language server command for Crystal (#6948)taupiqueur2023-05-03
|
* Recognise Jupyter notebooks as JSON documents (#6927)Scott Stevenson2023-05-01
|
* Recognise poetry.lock as TOML (#6928)Scott Stevenson2023-05-01
|
* inject language based on file extension & shebang (#3970)Timothy DeHerrera2023-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * inject language based on file extension Nodes can now be captured with "injection.filename". If this capture contains a valid file extension known to Helix, then the content will be highlighted as that language. * inject language by shebang Nodes can now be captured with "injection.shebang". If this capture contains a valid shebang line known to Helix, then the content will be highlighted as the language the shebang calls for. * add documentation for language injection * nix: fix highlights The `@` is now highlighted properly on either side of the function arg. Also, extending the phases with `buildPhase = prev.buildPhase + ''''` is now highlighted properly. Fix highlighting of `''$` style escapes (requires tree-sitter-nix bump) Fix `inherit` highlighting. * simplify injection_for_match Split out injection pair logic into its own method to make the overall flow easier to follow. Also transform the top-level function into a method on a HighlightConfiguration. * markdown: add shebang injection query
* Change Odin grammar to `ap29600/tree-sitter-odin` (#6766)ap296002023-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Change Odin grammar to `ap29600/tree-sitter-odin` The previously adopted grammar, `MineBill/tree-sitter-odin`, is unmaintained and mentions my repository as an alternative source. * update queries * docgen * fix queries * Update runtime/queries/odin/highlights.scm Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * remove `ERROR` query for `odin` * track the latest rev in `ap29600/tree-sitter-odin` * runtime/queries/odin/highlights.scm: update rune highlight class Co-authored-by: Michael Davis <mcarsondavis@gmail.com> --------- Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Set PerlNavigator as the language server for Perl (#6860)Wesley2023-04-26
|
* add go.work and remove Gopkg.toml as Go roots (#6884)Daniel Martí2023-04-26
| | | | | | | | | | | | | | | Gopkg.toml was used by dep, Go's original dependency management tool. It was an experiment that culminated in official and built-in support for Go modules in mid 2018, and dep was deprecated and archived in mid 2020 per https://github.com/golang/go/issues/38158. Now, in 2023, Gopkg.toml files are incredibly rare in actively developed Go projects, as people use go.mod with Go modules instead. While here, also add go.work as a root file, since that is used by Go module workspaces, added in Go 1.18 in early 2022. gopls or commands like `go build` work inside either go.work or go.mod. These two root files are the same ones used by gopls integrations with other editors like vim or neovim.
* fix(nix): fix superflous `/` that breaks the build (#6880)Timothy DeHerrera2023-04-26
| | | Resolves #1779
* Replace `*.cabal` in Haskell `roots` with `cabal.project` (#6828)Ollie Charles2023-04-21
| | | `roots` doesn't support wildcards. As such this root is dropped, and `cabal.project` is added, which is probably the best we can do for Cabal-based projects for now.
* update tree-sitter-markdown (#6785)Lakshya Singh2023-04-18
| | | | | | | | | | | | | * chore: fix bump tree-sitter-markdown Signed-off-by: Lakshya Singh <lakshay.singh1108@gmail.com> * chore: bump markdown_inline to latest rev Signed-off-by: Lakshya Singh <lakshay.singh1108@gmail.com> --------- Signed-off-by: Lakshya Singh <lakshay.singh1108@gmail.com>
* Add standalone language support for `just` (#6453)VuiMuich2023-04-14
| | | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Change smithy language server to the one from AWS (#6572)zetashift2023-04-14
|
* Add DTD language support (#6644)Michael2023-04-12
| | | | - Added syntax highlighting for the DTD subset of the XML spec. - Included .dtd and .ent as common file extensions
* Add OpenCL tree-sitter and LSP config (#6473)lefp2023-04-12
|
* feat(languages): Support markdoc (#6432)Matouš Dzivjak2023-04-12
| | | | | | Add basic support for [markdoc](https://markdoc.dev/). For language server, see: https://github.com/markdoc-extra/markdoc-ls For tree sitter, see: https://github.com/markdoc-extra/tree-sitter-markdoc
* Update tree-sitter-haskell (#6317)Ollie Charles2023-04-12
|
* Initial Cabal language support (#6485)Ollie Charles2023-04-12
|
* Update tree-sitter-git-commit (#6692)Michael Davis2023-04-10
| | | | Trailers are now supported, for example 'Co-authored-by' or 'Signed-off-by'. Commits are also now recognized in message bodies.
* Update gleam grammar (#6641)Arnar2023-04-09
|
* Add support for Robot Framework files (#6611)karei2023-04-07
| | | | | * Add support for Robot Framework files * Run docgen
* xml: highlight .xsd as XML files (#6631)Michael2023-04-06
| | | | xsd or "XML Schema Definition" files are in XML format and should therefore be highlighted as such
* Update Ruby Highlights (#6587)Danillo Melo2023-04-06
| | | | | | | * update ruby highlights * Updated SQL injection.scm * Move private, public, protected to builtin methods
* Add Hurl Support (#6450)Erasin Wang2023-04-06
| | | | | | | | | * Add http Support It's like [vscode-restclient](https://github.com/Huachao/vscode-restclient) - https://github.com/erasin/tree-sitter-http/tree/main/tests * Add Hurl Support
* Add gdformat support (#6614)Ivan Ermakov2023-04-06
|
* Recognize CUDA files as C++ (#6521)Jack Wolfard2023-04-04
|
* minor: R lang config update --slave to --no-echo (#6570)Rowan Shi2023-04-03
|
* Update tree-sitter-git-commit (#6493)Michael Davis2023-03-31
| | | | | | The last update introduced a bug with comments where a comment would be recognized as a message if there were multiple newlines between the last message or subject and the comment, causing a noticeable change in highlighting. This change fixes that behavior.
* Add .arb as a supported extension with json highlighting (#6452)Philip Giuliani2023-03-27
|
* Update tree-sitter-git-commit, add comment textobject (#6439)Michael Davis2023-03-27
| | | | | | | The update includes a fix for comments in commit messages where there was no space separating the '#' and the comment text. The comment textobject can be useful occasionally to jump to the summary part of the commit edit message.
* Initial Nim language support (#6123)JJ2023-03-26
|
* Add language support for rego (OpenPolicyAgent) (#6415)Juan C. Müller2023-03-26
|
* Add vhdl language support (#5826)Tom Burdick2023-03-25
| | | | | | | Simple highlight query file with keywords and builtin types matching. Many VHDL types however are defined in std libraries which do not currently get matched on. This is because the grammar doesn't consider them builtin types.
* feat(languages): highlight .svg as xml (#6431)Matouš Dzivjak2023-03-25
| | | | | Add "svg" as a file type for xml. Fixes: https://github.com/helix-editor/helix/issues/6337
* Recognize .cts and .mts file type as TypeScript (#6424)Alexis-Lapierre2023-03-24
| | | | | | | | | TypeScript can use three type of file extensions: - .ts for regular TypeScript - .cts for CommonJS modules - .mts for ES modules Official documentation on supported file extensions: https://www.typescriptlang.org/docs/handbook/esm-node.html#new-file-extensions
* Add xib and storyboard file types (#6407)Aleksey Kuznetsov2023-03-22
|
* Add initial Smithy support (#6370)zetashift2023-03-21
|
* Disable auto-pairing ' by default in OCaml (#6381)pithlessly2023-03-20
| | | | Since OCaml uses 'a syntax for type variables, the editor shouldn't insert a second ', for the same reason as Rust.
* Add language support for Cap’n Proto format (#6325)angelodlfrtr2023-03-18
|
* Improve tree-sitter queries for vlang (#6279)Erasin Wang2023-03-15
| | | | | | - Update hightlight - add indents - add textobject - add injections
* Update Nix highlightsMichael Davis2023-03-14
| | | | | | * Switch nix grammar repository location to the new repo. The author has transferred the repository to 'nix-community'. * Capture ':' and '...' as 'punctuation.delimiter'.
* Update Erlang highlightsMichael Davis2023-03-14
| | | | | | | * Macros that start with underscore were incorrectly marked as 'comment.unused' rather than 'keyword.directive' due to an ordering issue of those two patterns. * Recognize escripts as Erlang by the shebang.
* Feat: LSP Type Hints (#5934)Poliorcetics2023-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * misc: missing inline, outdated link * doc: Add new theme keys and config option to book * fix: don't panic in Tree::try_get(view_id) Necessary for later, where we could be receiving an LSP response for a closed window, in which case we don't want to crash while checking for its existence * fix: reset idle timer on all mouse events * refacto: Introduce Overlay::new and InlineAnnotation::new * refacto: extract make_job_callback from Context::callback * feat: add LSP display_inlay_hint option to config * feat: communicate inlay hints support capabilities of helix to LSP server * feat: Add function to request range of inlay hint from LSP * feat: Save inlay hints in document, per view * feat: Update inlay hints on document changes * feat: Compute inlay hints on idle timeout * nit: Add todo's about inlay hints for later * fix: compute text annotations for current view in view.rs, not document.rs * doc: Improve Document::text_annotations() description * nit: getters don't use 'get_' in front * fix: Drop inlay hints annotations on config refresh if necessary * fix: padding theming for LSP inlay hints * fix: tracking of outdated inlay hints should not be dependant on document revision (because of undos and such) * fix: follow LSP spec and don't highlight padding as virtual text * config: add some LSP inlay hint configs
* Improved yuck highlighting (and parser), and introduced a tag.builtin scope ↵Philipp Mildenberger2023-03-10
| | | | (#6242)