Commit Graph

552 Commits (39aa6fa646aeae08f4156558af199df1ecba4638)

Author SHA1 Message Date
Jesse Luehrs 2caca1c4e9
Add pod highlighting (#7907) 1 year ago
Ivan Isekeev 57f093d836
Jinja language family syntax support (#7233)
* feat: add jinja language support

* feat: add nunjucks language support

* feat: add to lang support book jinja and nunjucks languages
1 year ago
Jan9103 c0eae84073
feat: add todo.txt tree-sitter (#7835) 1 year ago
Artemiy 1077630834
Update tree-sitter grammar for nu (#7873)
* Update tree-sitter grammar for nu

Change tree-sitter grammar for nushell to 'officially' maintained
by nushell project https://github.com/nushell/tree-sitter-nu. Update
to the latest version. Replace queries with supported

* Restore injection queries for nu

Restore injection.scm queries for nushell tree-sitter grammar
1 year ago
zetashift 294aa669a2
Add Unison support (#7724) 1 year ago
woojiq 7cda5b8592
build(tree-sitter): update javascript, typescript and tsx (#7852)
* build(tree-sitter): update javascript, typescript and tsx

* update revision of tree-sitter parsers for these languages.
* rename `?.` to `optional_chain`, introduced in tree-sitter/tree-sitter-javascript@186f2adbf7.

* fix(highlight): change jsx queries to match latest tree-sitter

Latest tree-sitter/tree-sitter-javascript@bb1f97b643 added some breaking changes that broke highlighting.
* Remove some queries with `nested_identifier`.
* Remove deprecated `jsx_fragment` from indent query.
* Count `</` and `/>` as a single token.
1 year ago
Michael Davis d6c799fb30
Update tree-sitter-git-commit (#7831)
This fixes a problem parsing the "On branch _branch_" part of the
commit comment when the branch contains a slash.
1 year ago
Blaž Hrastnik 57071513a8 Only use tsq for tsq files
This makes our highlight files more plain but it correctly highlights
scheme :/
1 year ago
Blaž Hrastnik 979933b514 Update tree-sitter-scheme 1 year ago
woojiq 1d189820a1
feat(indent): add basic java indentation queries (#7844) 1 year ago
Jummit f19793c2f8
Improve wren support (#7819) 1 year ago
Christoph Sax 5a51036bc1
Update t32 language queries to version 2.2.1 (#7811)
Version 2.2.1 of the grammar adds extended support for HLL (C, C++,..)
expressions. Quite a few node types were added, renamed or removed in
the process.

This change brings the highlight queries in sync with the ones found in
the repository of the grammar. The highlighting tests "look" okay after
updating the queries.

Recently, Codeberg had some reliability issues. That is why the language
is now using the mirror repository on GitLab as source instead.

Co-authored-by: Christoph Sax <christoph.sax@mailbox.org>
1 year ago
J. Brock 286e44050d
Bump the version of Hare's grammar (#7784) 1 year ago
voroskoi bc737404e8
Update tree-sitter-zig (#7803) 1 year ago
Jimmy Zelinskie 325692a154
languages: add protobuf language servers (#7796)
* languages: add bufls protobuf language server

* languages: add pbkit protobuf language server
1 year ago
lydiandy 57952c46a4
replace new lsp for vlang (#7760)
* fix vlang grammar fetch and build fail

* update highlights.scm for v-analyzer

* Update languages.toml

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* Update runtime/queries/v/highlights.scm

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* update scm for new lsp

* gen doc lang-support.md

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
1 year ago
Mateusz S. Szczygieł 13e7edab19
Register .gltf file type for JSON (#7781) 1 year ago
Matthias Q 224fd5fa29
feat: update prql parser (#7771) 1 year ago
Jummit 9a4890f62b
Add wren support (#7765) 1 year ago
Jesse Luehrs e7f60611ac
switch to https://github.com/tree-sitter-perl/tree-sitter-perl (#7644) 1 year ago
Doug Kelkhoff 79a8fd6249
Add a more file types for R (#7633) 1 year ago
kaashyapan 2ace6032e7
Add fsharp language support (#7619) 1 year ago
Michael Goodness 86bf0e00fe
feat: add Brewfile to Ruby file-types (#7629) 1 year ago
Erasin Wang 2cb00bcbc4
Support inlay-hints for svelteserver. (#7622) 1 year ago
Jeppe Christiansen bc4f08febf
Update Typescript, TSX and Svelte grammar, to latest tag (#6874)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
1 year ago
Arian Dehghani a5f7190614
Register systemd files as ini (#7592) 1 year ago
Jorge Santiago 9259c52606
Add shebang for nushell files (#7606) 1 year ago
Queyrouzec f68956a306
Update dart commit in languages.toml (#7576) 1 year ago
Borys Lykah 7c338429f8
Add language support for persistent library syntax (#7261) 1 year ago
Gammut 607b426e26
Refactor queries for ecma based languages (#7207) 1 year ago
Álan Crístoffer 550192826b
highlight(matlab): Better UTF-8 handling. (#7532) 1 year ago
Erin van der Veen 3fb430257e
Update Nickel grammar (#7551) 1 year ago
Álan Crístoffer 457b389395
highlight(matlab): Many bug fixes and improvements (#7511) 1 year ago
Chris Heyes aec1b997dd
Add .cppm file type to cpp language configuration (#7492) 1 year ago
Álan Crístoffer 78505e0149
Update tree-sitter-matlab (#7491) 1 year ago
Álan Crístoffer 08c0a23b79
highlight(matlab): Bumps tree-sitter-matlab commit. (#7442) 1 year ago
Álan Crístoffer 2c5288dafb
Replace MATLAB grammar (#7388) 1 year ago
LeoniePhiline 48ad9ae1bb
highlight(sql): Update tree-sitter-sql to `98a7fc9` (#7387)
* highlight(sql): Update tree-sitter-sql to 92018a3

* highlight(sql): Update tree-sitter-sql to 98a7fc9
1 year ago
Alexander Brevig b4fe31cad6
Add forth-lsp and update tree-sitter-forth (#7334)
* feat: add forth lsp and update tree sitter

* fix: update highlights
1 year ago
Ivan Svoboda df094909d1
Webc language support (#7290)
* feat: add webc language support

* feat: add to lang-support book webc
1 year ago
Selwyn 18e07addfd
Use Vue language server based on Volar (#7312) 1 year ago
Vitalii Solodilov a981a2525d
Support core mode for delve debugger (#7300) 1 year ago
Dimitri Sabadie 31b8b728a2
Fix C++ queries and update tree-sitter-cpp (#7285) 1 year ago
Christoph Sax d324feb072
Add support for language t32 (#7140)
Co-authored-by: Christoph Sax <christoph.sax@mailbox.org>
1 year ago
blt__ ba691f4fb0
Fix verilog grammar source repo and revision (#7262) 1 year ago
Alexander Brevig 78e8695420
Add support for Forth (#7256) 1 year ago
Tobias Clasen 71688a387b
Recognize 'make' file-type as Makefile (#7212) 1 year ago
Ivan Tkachuk 2022e6175b
Add blueprint language (#7213)
* Add blueprint tree-sitter support

* Add blueprint lsp support

* Run cargo xtask docgen
1 year ago
zetashift 92380540b8
chore: update scala tree-sitter grammar (#7147)
* chore: update scala tree-sitter grammar

* Add locals.scm for Scala
2 years ago
yvt 3a8592abdb
feat(languages): recognise `.gir` as XML (#7152) 2 years ago
Jimmy Zelinskie b107814e39
languages: add .zimrc to bash filetypes (#7146) 2 years ago
William Etheredge a2e11af608
Support hidden justfiles (#7088) 2 years ago
Brandon Sprague 16375cd94a
Treat 'Vagrantfile' files as Ruby code (#7112)
`Vagrantfile`s are configuration files for the [vagrant](https://www.vagrantup.com/) tool, and they are written in Ruby. Even as vagrant [is ported to Go](https://www.hashicorp.com/blog/toward-vagrant-3-0), `Vagrantfile`s [will be written in Ruby](https://developer.hashicorp.com/vagrant/docs/experimental/vagrant_go)

When a Vangrantfile is created, it starts with these lines:

```
```

But since Helix (quite reasonably) doesn't change editor behavior based on file contents, adding this to `languages.toml` seems like a reasonable way to get this functionality.
2 years ago
Viktor Kleen 0c21c227e1
Update languages.toml for Nickel (#7059) 2 years ago
Blaž Hrastnik 591629ec11
fix compilation 2 years ago
Blaž Hrastnik c6d1430243
Drop old cairo grammar, alias to rust for now 2 years ago
yvt 16e0340b4a feat(languages): recognise `Cargo.lock` as TOML 2 years ago
Chris d3cca0f357
Recognise XAML files as XML (#7083) 2 years ago
Charles Hall e4a9bec562
fix off-by-one git-commit rulers (#7072)
Characters should maximally reside *inside* the ruler, not on top of it.
2 years ago
Philipp Mildenberger b6d0e26814 Sort language servers table in languages.toml and rename language server 'R' to 'r' 2 years ago
Philipp Mildenberger 71551d395b Adds support for multiple language servers per language.
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.
2 years ago
gibbz00 6f135e58a3
languages.toml: recognize `gml` files. (#7055) 2 years ago
gibbz00 e9efcebdb0
languages.toml: recognize `geojson` files. (#7054) 2 years ago
Vitalii Solodilov 5938e2c0dc
fix: update upstream tree-sitter-dockerfile (#6895)
* fix: update upstream tree-sitter-dockerfile

Fixes: #6797

* fix: review

* fix: review
2 years ago
Ollie Charles 8424f387b5
Remove `tree-sitter-cabal` (#6996) 2 years ago
Andrius Pukšta 3a9e77934b
Treat .sty and .cls files as latex (#6986) 2 years ago
Diego Pontoriero fc1e9a6ff9
languages: add build.gradle.kts to java and scala roots (#6970)
Gradle scripts written in kotlin use a .kts extension:

https://docs.gradle.org/current/userguide/kotlin_dsl.html#sec:scripts
2 years ago
taupiqueur c49faf5681
Add language server command for Crystal (#6948) 2 years ago
Scott Stevenson 015623720c
Recognise Jupyter notebooks as JSON documents (#6927) 2 years ago
Scott Stevenson d7878238c1
Recognise poetry.lock as TOML (#6928) 2 years ago
Timothy DeHerrera 9c6c63a2be
inject language based on file extension & shebang (#3970)
* 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
2 years ago
ap29600 9cdc6b2e8a
Change Odin grammar to `ap29600/tree-sitter-odin` (#6766)
* 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>
2 years ago
Wesley 903bdaae87
Set PerlNavigator as the language server for Perl (#6860) 2 years ago
Daniel Martí 488707c7c8
add go.work and remove Gopkg.toml as Go roots (#6884)
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.
2 years ago
Timothy DeHerrera 080f85c34f
fix(nix): fix superflous `/` that breaks the build (#6880)
Resolves #1779
2 years ago
Ollie Charles 5aedf11493
Replace `*.cabal` in Haskell `roots` with `cabal.project` (#6828)
`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.
2 years ago
Lakshya Singh 4f03c03556
update tree-sitter-markdown (#6785)
* 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>
2 years ago
VuiMuich 4cdba7cccd
Add standalone language support for `just` (#6453)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
zetashift cd7ef57818
Change smithy language server to the one from AWS (#6572) 2 years ago
Michael 161fef2166
Add DTD language support (#6644)
- Added syntax highlighting for the DTD subset of the XML spec.
- Included .dtd and .ent as common file extensions
2 years ago
lefp fff8543b58
Add OpenCL tree-sitter and LSP config (#6473) 2 years ago
Matouš Dzivjak 70de5026b8
feat(languages): Support markdoc (#6432)
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
2 years ago
Ollie Charles deab323c28
Update tree-sitter-haskell (#6317) 2 years ago
Ollie Charles 92c5f5f18c
Initial Cabal language support (#6485) 2 years ago
Michael Davis 686a1e2f31
Update tree-sitter-git-commit (#6692)
Trailers are now supported, for example 'Co-authored-by' or
'Signed-off-by'. Commits are also now recognized in message bodies.
2 years ago
Arnar 6dabd36491
Update gleam grammar (#6641) 2 years ago
karei 1148ce1fd9
Add support for Robot Framework files (#6611)
* Add support for Robot Framework files

* Run docgen
2 years ago
Michael b663b89529
xml: highlight .xsd as XML files (#6631)
xsd or "XML Schema Definition" files are in XML format and should therefore be
highlighted as such
2 years ago
Danillo Melo 3dd715a115
Update Ruby Highlights (#6587)
* update ruby highlights

* Updated SQL injection.scm

* Move private, public, protected to builtin methods
2 years ago
Erasin Wang c22ebfe62e
Add Hurl Support (#6450)
* 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
2 years ago
Ivan Ermakov b6909bc41a
Add gdformat support (#6614) 2 years ago
Jack Wolfard 577aded04a
Recognize CUDA files as C++ (#6521) 2 years ago
Rowan Shi 789833c995
minor: R lang config update --slave to --no-echo (#6570) 2 years ago
Michael Davis 565445be60
Update tree-sitter-git-commit (#6493)
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.
2 years ago
Philip Giuliani 5323020c3f
Add .arb as a supported extension with json highlighting (#6452) 2 years ago
Michael Davis d7431db55c
Update tree-sitter-git-commit, add comment textobject (#6439)
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.
2 years ago
JJ c8fde8b6f9
Initial Nim language support (#6123) 2 years ago
Juan C. Müller 5d7c90c5cf
Add language support for rego (OpenPolicyAgent) (#6415) 2 years ago
Tom Burdick 685ae2365a
Add vhdl language support (#5826)
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.
2 years ago
Matouš Dzivjak 2f64c768df
feat(languages): highlight .svg as xml (#6431)
Add "svg" as a file type for xml.

Fixes: https://github.com/helix-editor/helix/issues/6337
2 years ago