Commit Graph

727 Commits (e4f3483bd19b51ea7b80925b841f399d7eb411bb)

Author SHA1 Message Date
Arian Dehghani a5f7190614
Register systemd files as ini (#7592) 2023-07-12 13:40:58 +09:00
Jorge Santiago 9259c52606
Add shebang for nushell files (#7606) 2023-07-12 13:40:36 +09:00
Queyrouzec f68956a306
Update dart commit in languages.toml (#7576) 2023-07-10 11:29:20 +09:00
Borys Lykah 7c338429f8
Add language support for persistent library syntax (#7261) 2023-07-09 19:17:01 +02:00
Gammut 607b426e26
Refactor queries for ecma based languages (#7207) 2023-07-09 18:35:32 +02:00
Álan Crístoffer 550192826b
highlight(matlab): Better UTF-8 handling. (#7532) 2023-07-09 17:08:29 +02:00
Erin van der Veen 3fb430257e
Update Nickel grammar (#7551) 2023-07-06 18:53:10 +02:00
Álan Crístoffer 457b389395
highlight(matlab): Many bug fixes and improvements (#7511) 2023-07-03 09:43:17 -05:00
Chris Heyes aec1b997dd
Add .cppm file type to cpp language configuration (#7492) 2023-06-30 23:56:39 +02:00
Álan Crístoffer 78505e0149
Update tree-sitter-matlab (#7491) 2023-06-30 10:06:34 -05:00
Álan Crístoffer 08c0a23b79
highlight(matlab): Bumps tree-sitter-matlab commit. (#7442) 2023-06-24 15:20:42 +02:00
Álan Crístoffer 2c5288dafb
Replace MATLAB grammar (#7388) 2023-06-23 00:19:40 +02:00
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
2023-06-20 00:04:40 +02:00
Alexander Brevig b4fe31cad6
Add forth-lsp and update tree-sitter-forth (#7334)
* feat: add forth lsp and update tree sitter

* fix: update highlights
2023-06-16 23:12:29 +02:00
Ivan Svoboda df094909d1
Webc language support (#7290)
* feat: add webc language support

* feat: add to lang-support book webc
2023-06-13 17:41:30 +02:00
Selwyn 18e07addfd
Use Vue language server based on Volar (#7312) 2023-06-12 00:46:47 +09:00
Vitalii Solodilov a981a2525d
Support core mode for delve debugger (#7300) 2023-06-10 02:31:02 +02:00
Dimitri Sabadie 31b8b728a2
Fix C++ queries and update tree-sitter-cpp (#7285) 2023-06-07 18:13:39 -05:00
Christoph Sax d324feb072
Add support for language t32 (#7140)
Co-authored-by: Christoph Sax <christoph.sax@mailbox.org>
2023-06-07 18:01:25 -05:00
blt__ ba691f4fb0
Fix verilog grammar source repo and revision (#7262) 2023-06-07 17:49:52 +09:00
Alexander Brevig 78e8695420
Add support for Forth (#7256) 2023-06-06 08:14:34 -05:00
Tobias Clasen 71688a387b
Recognize 'make' file-type as Makefile (#7212) 2023-06-06 08:13:27 -05:00
Ivan Tkachuk 2022e6175b
Add blueprint language (#7213)
* Add blueprint tree-sitter support

* Add blueprint lsp support

* Run cargo xtask docgen
2023-06-05 10:40:14 +02:00
zetashift 92380540b8
chore: update scala tree-sitter grammar (#7147)
* chore: update scala tree-sitter grammar

* Add locals.scm for Scala
2023-05-30 13:29:43 +02:00
yvt 3a8592abdb
feat(languages): recognise `.gir` as XML (#7152) 2023-05-27 09:01:50 -05:00
Jimmy Zelinskie b107814e39
languages: add .zimrc to bash filetypes (#7146) 2023-05-27 00:55:25 +02:00
William Etheredge a2e11af608
Support hidden justfiles (#7088) 2023-05-26 10:43:48 +02:00
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.
2023-05-26 10:43:15 +02:00
Viktor Kleen 0c21c227e1
Update languages.toml for Nickel (#7059) 2023-05-26 02:23:15 -05:00
Blaž Hrastnik 591629ec11
fix compilation 2023-05-26 13:35:03 +09:00
Blaž Hrastnik c6d1430243
Drop old cairo grammar, alias to rust for now 2023-05-26 11:17:30 +09:00
yvt 16e0340b4a feat(languages): recognise `Cargo.lock` as TOML 2023-05-21 22:51:33 -04:00
Chris d3cca0f357
Recognise XAML files as XML (#7083) 2023-05-20 02:38:55 +02:00
Charles Hall e4a9bec562
fix off-by-one git-commit rulers (#7072)
Characters should maximally reside *inside* the ruler, not on top of it.
2023-05-20 01:29:06 +02:00
Philipp Mildenberger b6d0e26814 Sort language servers table in languages.toml and rename language server 'R' to 'r' 2023-05-18 22:11:37 +02:00
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.
2023-05-18 21:48:30 +02:00
gibbz00 6f135e58a3
languages.toml: recognize `gml` files. (#7055) 2023-05-16 13:02:22 +09:00
gibbz00 e9efcebdb0
languages.toml: recognize `geojson` files. (#7054) 2023-05-16 13:01:27 +09:00
Vitalii Solodilov 5938e2c0dc
fix: update upstream tree-sitter-dockerfile (#6895)
* fix: update upstream tree-sitter-dockerfile

Fixes: #6797

* fix: review

* fix: review
2023-05-12 03:29:06 +02:00
Ollie Charles 8424f387b5
Remove `tree-sitter-cabal` (#6996) 2023-05-09 21:31:22 +02:00
Andrius Pukšta 3a9e77934b
Treat .sty and .cls files as latex (#6986) 2023-05-08 19:11:23 +02:00
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
2023-05-05 10:02:19 +09:00
taupiqueur c49faf5681
Add language server command for Crystal (#6948) 2023-05-03 09:43:37 +09:00
Scott Stevenson 015623720c
Recognise Jupyter notebooks as JSON documents (#6927) 2023-05-01 16:21:30 +02:00
Scott Stevenson d7878238c1
Recognise poetry.lock as TOML (#6928) 2023-05-01 16:21:10 +02:00
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
2023-04-28 18:21:34 +09:00
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>
2023-04-27 16:32:21 +02:00
Wesley 903bdaae87
Set PerlNavigator as the language server for Perl (#6860) 2023-04-27 01:28:54 +02:00
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.
2023-04-26 22:51:04 +09:00
Timothy DeHerrera 080f85c34f
fix(nix): fix superflous `/` that breaks the build (#6880)
Resolves #1779
2023-04-26 10:15:16 +09:00
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.
2023-04-21 12:51:17 +09:00
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>
2023-04-19 01:21:15 +02:00
VuiMuich 4cdba7cccd
Add standalone language support for `just` (#6453)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-04-14 17:03:21 +02:00
zetashift cd7ef57818
Change smithy language server to the one from AWS (#6572) 2023-04-14 09:08:11 -05:00
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
2023-04-12 15:28:51 -05:00
lefp fff8543b58
Add OpenCL tree-sitter and LSP config (#6473) 2023-04-12 14:42:41 -05:00
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
2023-04-12 10:28:03 -05:00
Ollie Charles deab323c28
Update tree-sitter-haskell (#6317) 2023-04-12 09:35:01 -05:00
Ollie Charles 92c5f5f18c
Initial Cabal language support (#6485) 2023-04-12 08:38:11 -05:00
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.
2023-04-11 00:52:03 +09:00
Arnar 6dabd36491
Update gleam grammar (#6641) 2023-04-09 14:23:01 -05:00
karei 1148ce1fd9
Add support for Robot Framework files (#6611)
* Add support for Robot Framework files

* Run docgen
2023-04-07 08:19:48 +08:00
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
2023-04-06 14:48:10 -05:00
Danillo Melo 3dd715a115
Update Ruby Highlights (#6587)
* update ruby highlights

* Updated SQL injection.scm

* Move private, public, protected to builtin methods
2023-04-07 00:37:45 +08:00
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
2023-04-07 00:26:41 +08:00
Ivan Ermakov b6909bc41a
Add gdformat support (#6614) 2023-04-06 12:28:08 +09:00
Jack Wolfard 577aded04a
Recognize CUDA files as C++ (#6521) 2023-04-04 14:25:06 -05:00
Rowan Shi 789833c995
minor: R lang config update --slave to --no-echo (#6570) 2023-04-03 11:36:54 -05:00
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.
2023-03-31 10:32:49 +09:00
Philip Giuliani 5323020c3f
Add .arb as a supported extension with json highlighting (#6452) 2023-03-27 12:24:17 -05:00
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.
2023-03-27 15:27:38 +09:00
JJ c8fde8b6f9
Initial Nim language support (#6123) 2023-03-26 17:06:48 -05:00
Juan C. Müller 5d7c90c5cf
Add language support for rego (OpenPolicyAgent) (#6415) 2023-03-26 16:49:37 -05:00
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.
2023-03-25 12:10:54 -05:00
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
2023-03-25 08:40:19 -05:00
Alexis-Lapierre 9a65118899
Recognize .cts and .mts file type as TypeScript (#6424)
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
2023-03-24 13:13:01 -05:00
Aleksey Kuznetsov 2904a10fb1
Add xib and storyboard file types (#6407) 2023-03-22 12:30:33 -05:00
zetashift 0e0c16e6fa
Add initial Smithy support (#6370) 2023-03-21 17:12:24 -05:00
pithlessly 78613ac0f2
Disable auto-pairing ' by default in OCaml (#6381)
Since OCaml uses 'a syntax for type variables, the editor shouldn't insert a
second ', for the same reason as Rust.
2023-03-20 12:51:26 -05:00
angelodlfrtr ac2a7731a6
Add language support for Cap’n Proto format (#6325) 2023-03-18 09:17:02 -05:00
Erasin Wang fb56a4bb75
Improve tree-sitter queries for vlang (#6279)
- Update hightlight
- add indents
- add textobject
- add injections
2023-03-15 16:22:24 -05:00
Michael Davis fb4d703b9f Update Nix highlights
* Switch nix grammar repository location to the new repo. The author
  has transferred the repository to 'nix-community'.
* Capture ':' and '...' as 'punctuation.delimiter'.
2023-03-14 10:56:49 +09:00
Michael Davis cdd6c8d91e Update Erlang highlights
* 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.
2023-03-14 10:56:49 +09:00
Poliorcetics bdcd4d9411
Feat: LSP Type Hints (#5934)
* 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
2023-03-11 11:32:14 +09:00
Philipp Mildenberger 98415f288f
Improved yuck highlighting (and parser), and introduced a tag.builtin scope (#6242) 2023-03-10 10:32:45 -06:00
Clément Delafargue 8dd1ab4899
Softwrapping improvements (#5893)
* use max_line_width + 1 during softwrap to account for newline char

Helix softwrap implementation always wraps lines so that the newline
character doesn't get cut off so he line wraps one chars earlier then
in other editors. This is necessary, because newline chars are always
selecatble in helix and must never be hidden.

However That means that `max_line_width` currently wraps one char
earlier than expected. The typical definition of line width does not
include the newline character and other helix commands like `:reflow`
also don't count the newline character here.

This commit makes softwrap use `max_line_width + 1` instead of
`max_line_width` to correct the impedance missmatch.

* fix typos

Co-authored-by: Jonathan Lebon <jonathan@jlebon.com>

* Add text-width to config.toml

* text-width: update setting documentation

* rename leftover config item

* remove leftover max-line-length occurrences

* Make `text-width` optional in editor config

When it was only used for `:reflow` it made sense to have a default
value set to `80`, but now that soft-wrapping uses this setting, keeping
a default set to `80` would make soft-wrapping behave more aggressively.

* Allow softwrapping to ignore `text-width`

Softwrapping wraps by default to the viewport width or a configured
`text-width` (whichever's smaller). In some cases we only want to set
`text-width` to use for hard-wrapping and let longer lines flow if they
have enough space. This setting allows that.

* Revert "Make `text-width` optional in editor config"

This reverts commit b247d526d6.

* soft-wrap: allow per-language overrides

* Update book/src/configuration.md

Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>

* Update book/src/languages.md

Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>

* Update book/src/configuration.md

Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>

---------

Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
Co-authored-by: Jonathan Lebon <jonathan@jlebon.com>
Co-authored-by: Alex Boehm <alexb@ozrunways.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2023-03-08 11:02:11 +09:00
Erasin Wang 0e5a4e55a4
Update highlights for golang (#6204)
- update tree-sitter-go
- refine keywords
- set package as namespace
- add label
2023-03-07 18:33:13 -06:00
Erasin Wang 622f90a157
Update highlight for PHP (#6203)
- update tree-sitter-php
- add basic types, operator
- refine keyword
2023-03-07 18:28:44 -06:00
Erasin Wang e6597bc992
Update queries for godot4 (#6186) 2023-03-05 12:41:18 -06:00
Roberto Vidal 725d9aecf0
Add support for reStructuredText (#6180) 2023-03-04 20:36:01 -06:00
Matthias Q 2bd8bc8d84
feat(prql): add prql support (#6126) 2023-03-03 13:12:37 -06:00
Andrey Grebenyk 0625f410eb
Add graphql schema file type (#6159)
Co-authored-by: Andrey Grebenyk <GrebenyukAE@ugpa.ru>
2023-03-02 09:59:16 -06:00
Matthew Toohey a4049e6f55
feat: add nasm language (#6068) 2023-02-25 12:53:37 -06:00
Sophie Dankel f69bb41169
Add language support for sway (#6023) 2023-02-25 12:47:54 -06:00
Matthias Deiml 0cbb61c3a4
Improve markdown highlights and add latex injection (#6100) 2023-02-25 12:40:02 -06:00
Skyler Hawthorne 621ab0e57f
update tree-sitter-git-rebase hash (#6094) 2023-02-24 13:27:24 +09:00
LeoniePhiline 6494fc1daf
feat(sql): MariaDB/MySQL syntax, Apache Hive syntax, unified builtin functions, floats, negative integers (#6041)
* feat(sql): MariaDB/MySQL table options `COLLATE`, `CHARACTER SET`, `ENGINE`

Upstream changes: 286e10c5bc...30e15d45dc

* feat(sql): Optional `COLUMN` in `ALTER TABLE`

Upstream changes: 30e15d45dc...c508e6044a

* feat(sql): Add `UNSIGNED` support, refactor numeric types

Upstream changes: c508e6044a...2d1d5b68a1

* feat(sql): Add support for Apache Spark create Hive table

Upstream changes: 2d1d5b68a1...7be06f4d5e

* feat(sql): Add support for signed and unsigned floating point literals

Upstream changes: https://github.com/DerekStride/tree-sitter-sql/pull/92/files

* feat(sql): Add interval data type

Upstream changes: 13d375dea3...7b4bcd0394

* feat(sql): Add support for DROP INDEX

Upstream changes: 7b4bcd0394...173d6feb50

* feat(sql): Add MariaDB/MySQL `ALTER TABLE ... CHANGE|MODIFY ... [FIRST|AFTER]` syntax

Upstream changes: 173d6feb50...0d7a121b2a

* feat(sql): Extract fields from Apache Hive storage location and row format

Upstream changes: 0d7a121b2a...d2f0f6695f

* feat(sql): Fix unified built-in functions

Upstream changes: d2f0f6695f...e4e43ba742

* feat(sql): Support negative integers

Upstream changes: e4e43ba742...3a3f92b29c

* rework(sql): Improve `@constant.numeric` regex
2023-02-22 18:04:33 -06:00
Erasin 864ee8fdef
Add GNU gettext PO grammar (#5996) 2023-02-20 17:04:17 -06:00
Philipp Mildenberger b89b2eaf68
Added yuck language support (for eww) (#6064) 2023-02-20 16:42:54 -06:00
Jummit 5ff2cb24e2
Add support for the uxntal language (#6047) 2023-02-19 12:32:42 -06:00
LeoniePhiline 4c85f4d151
Add `.env.dist` to `source.env` language scope (#6003) 2023-02-15 18:47:34 -06:00
Erasin c71b4c5579
Update grammar for godot (#5944)
* update grammar for gdscript.
* add comment injections for gdscript.
* add indent for gdscript
* add file-type support for godot-resource
2023-02-12 14:03:02 -06:00
Aleksey Kuznetsov 3b301a9d1d
Add comment-token to the hosts language definition (#5914) 2023-02-11 19:43:30 +09:00
ath3 1840d775c8
Added tree-sitter-hosts (#4950) 2023-02-10 11:32:04 -06:00
ath3 189c3c2ddc
Add tree-sitter-passwd (#4959) 2023-02-10 11:12:46 -06:00
zSchoen 882fa11d17
Add `Containerfile` file-type for dockerfile language (#5873) 2023-02-08 15:08:10 -06:00
Matthew Toohey 05c5207265
feat: add pem language (#5797) 2023-02-07 17:24:26 -06:00
Surendrajat fce30c0da0
xml: add mobileconfig & plist file types (#5863) 2023-02-07 17:17:48 -06:00
Ethan Budd 9c98043c1c
Recognize .C and .H file types as cpp (#5808) 2023-02-05 16:02:36 -06:00
Aleksey Kuznetsov 7b46a6cada
Add Podfile and *.podspec to the file types for ruby (#5811) 2023-02-03 11:46:57 -08:00
Brett Lyons d8f482e11e
Add MSBuild language based on XML grammar (#5793) 2023-02-03 08:24:22 -06:00
LeoniePhiline 30412366be
feat: Update `tree-sitter-sql` and migrate `highlights.scm` to match grammar (#5772)
* Sort buildin functions alphabetically

* fix: Query float type like other numeric types

* Update tree-sitter-sql and update highlights.scm to match grammar
2023-02-02 16:44:36 -06:00
Eric Crosson 447909e4d0
Modify env language to extend bash (#5720)
Additionally, add `.envrc` to the `env`-supported file types.
2023-01-30 08:56:42 -06:00
LeoniePhiline 482cc22fec
Update tree-sitter-sql and improve highlight queries (#5683) 2023-01-28 14:15:53 -06:00
Sam Nystrom 291f39d66b
Add `Justfile` to the file types for make (#5687) 2023-01-26 16:06:35 -06:00
LeoniePhiline 250b6cd7f0
Update tree-sitter-xml to fix whitespace parsing (#5685) 2023-01-26 15:24:21 -06:00
Jimmy Zelinskie 2db879629f
add explicit formatter for cue (#5679)
cuelsp does not support formatting.
Cue language support was added to Helix before
"formatter" was available.

References:
https://github.com/helix-editor/helix/pull/3262
https://github.com/dagger/cuelsp/issues/44
2023-01-25 16:25:08 -06:00
Antonius Naumann 56c0810c68
Change default language server for 'v' from 'vls' to 'v ls' (#5677) 2023-01-25 09:56:51 -06:00
Eloi Torrents 7e191f5915
Support sagemath language (#5649) 2023-01-23 12:10:27 -06:00
Eric Crosson 17acadb305
Use markdown language for hub pull-request files (#5634)
The hub[^1] command-line tool uses a file called `PULLREQ_EDITMSG`[^2].
This file is used to edit the text from of each commit being submitted
in a pull request, and the final content is rendered as markdown by
GitHub.

This commit adds `PULLREQ_EDITMSG` to the list of markdown file-types.

[^1]: https://github.com/github/hub
[^2]: c8e68d548a/commands/pull_request.go (L225)
2023-01-23 08:51:42 -06:00
Jared Moulton 5c6b7127f8
Add build.gradle to list of java roots (#5641) 2023-01-23 16:49:54 +09:00
anna 8e10c592b9
add lua injection regex (#5606) 2023-01-20 15:20:40 +09:00
eugene yokota 4535d0fa74 highlight(scala): update to fix potential crash (#5576)
* highlight(scala): update to fix crash

tree-sitter-scala has recently add a fix to workaround segv crashes in other editors.
Not sure if it happens to Helix as well, but it's probably a good idea to use the latest.

* highlight(scala): String interpolator support

This captures String interpolator as `function`

Co-authored-by: Chris Kipp <ckipp@pm.me>
2023-01-19 11:26:12 -06:00
Nachum Barcohen 94ef6fb69b
Add more file-types for python (#5593) 2023-01-19 10:08:56 -06:00
Ayoub Benali 97083f8836
Enable http server by default in Metals config (#5551)
This is required to make commands like [doctor-run](https://scalameta.org/metals/docs/integrations/new-editor#run-doctor) work.
It simply opens a browser to get general information about the build.

Co-authored-by: Ayoub Benali <ayoub.benali@xing.com>
2023-01-16 10:03:03 -06:00
eugene yokota 6f6334f3c6
highlight(scala): update the Scala highlight queries (#5546)
There have been a lot of changes in tree-sitter/tree-sitter-scala,
including partial support for Scala 3 syntax and breaking changes in
some of the nodes.

This bumps up the grammar to the latest, and adjusts the queries.

Co-authored-by: Anton Sviridov <keynmol@gmail.com>
Co-authored-by: Chris Kipp <ckipp@pm.me>
2023-01-16 09:48:17 -06:00
Clément Delafargue 1f6809c9ce Language support for dhall
https://dhall-lang.org/
2023-01-13 09:42:05 -06:00
Yura Shymon 4e9a0700db
Update tree-sitter-json, add jsonc as file-type for json (#5509)
New git revision of tree-sitter-json that supports comments.
Jsonc is alias for json.
Both formats doesn't mark comments as errors now.
2023-01-12 13:21:11 +09:00
Sam McCall a8248c50e1
Update tree-sitter-cpp, support injections in tagged rawstrings (#5457)
The grammar now exposes the delimiter of raw-strings.
We can now inject the inner grammar in cases like:

    const char* script = R"js(
      alert('hello world!');
    )js";
2023-01-10 19:57:10 -06:00
Matthias Wahl e65f28d41a
Add language support for ponylang (#5416)
See https://www.ponylang.io
2023-01-10 19:54:19 -06:00
Michael Davis b368df5785
Use tree-sitter-ruby for crystal (#5205) 2023-01-09 02:12:04 +09:00
Julius de Bruijn 5627c604ef
Update Prisma tree-sitter for view support (#5417) 2023-01-06 06:12:51 -06:00
Jonathan LEI febe1a5172
Fix comment token for sshclientconfig (#5351) 2022-12-31 11:30:17 -06:00
k12ish 6f8f9cac9a
Add bash syntax highlighting for `.bash_aliases` (#5347) 2022-12-30 08:09:15 -06:00
Erasin f0c6e6c9ee
fix comment token of godot resource file (#5276) 2022-12-24 17:00:44 +05:30
g-s-k 042d03269e
Add support for MATLAB/Octave files (#5192) 2022-12-17 13:44:08 -06:00
Jonas Everaert aecb524e50
Crystal language support (#4993) 2022-12-17 13:34:00 -06:00
alice 3e6887648c
set 'c++' as a recognised extension for cpp (#5183) 2022-12-16 08:43:58 -06:00
Erasin 436296b76c
Add Mermaid.js for markdown support (#5147) 2022-12-14 07:51:00 -06:00
Blaž Hrastnik bae890d8fa
Update tree-sitter-scheme 2022-12-12 17:50:12 +09:00
garlic0x1 a34ba071be
Fix commonlisp filetypes typo and auto-pairs (#5091) 2022-12-11 19:59:27 -06:00
Danilo Spinella f323ffabcc
Treat patches as diff files (#5085) 2022-12-09 18:40:27 -06:00
Felipe S. S. Schneider d14de27709
Add support for the BibTeX file format (#5064) 2022-12-08 22:33:08 -06:00
Blaž Hrastnik 417676953b
Add basic support for common lisp 2022-12-05 14:40:41 +09:00
Aleksey Kuznetsov 2123e91e56
Enable auto format for css and scss files (#4987)
provideFormatter enables capability in LS and
auto-format performs format on save
2022-12-03 08:24:43 -06:00
Matouš Dzivjak d0bc38d6fa
feat(lang): bump tree-sitter-go (#4969)
Update tree-sitter-go to latest with updated support for generics.

See: 0fa917a702..05900faa3c
for full diff.
2022-12-02 08:06:35 -06:00
Michael Davis 67415e096e
Fix file-types declaration for racket (#4915)
Both the racket and scheme entries used the rkt file-extension. This
commit removes that entry for scheme and so that the racket entry takes
precedence. We explicitly point to the scheme grammar now and setup
queries that inherit from scheme. This should enable using the racket
language server configuration.
2022-11-30 23:27:08 +09:00
Chickenkeeper bf908cc4a1
Update CSS syntax highlighting (#4882) 2022-11-27 19:11:12 -06:00
Lennard Hofmann fc811726e0
Update tree-sitter-java and add Java textobjects (#4886) 2022-11-26 10:17:10 -06:00
Chickenkeeper f2a55331d0
Bump tree-sitter-html version (#4881) 2022-11-25 19:43:41 -06:00
Michael Davis ee06d4d337 Update tree-sitter-gleam
This update includes a handful of fixes, a new binary concatenation
operator (already highlighted by the `binary_operator` rule), and a
new `use` language construct. The nodes are backwards compatible but
this update introduces two new nodes for highlighting: `use` and `<-`.
2022-11-24 11:07:05 +09:00
Michael Davis cbc72e84d7 Update tree-sitter-heex
tree-sitter-heex split out the ending_expression_value from the
partial_expression value which can help with indentation.
2022-11-24 11:07:05 +09:00
Michael Davis 452f7d071c Improve Edoc highlighting within Erlang
This highlights edoc within Erlang comments. The trick was to have
the Erlang grammar consume newlines and then give them to EDoc in the
injection to use so that line-wise elements could be parsed accurately.
2022-11-24 11:07:05 +09:00
alois31 26ec1cf39a
Add QML language support (#4842)
Fixes https://github.com/helix-editor/helix/issues/2771
2022-11-22 21:49:02 -06:00
ath3 598bd8bf11
Update tree-sitter-cmake (#4809) 2022-11-18 14:13:13 -06:00
Ollie Charles eada6d534e
Match `.hs-boot` files to Haskell (#4800)
Haskell source files are now either `.hs` (as before) or `.hs-boot`, which is a type of Haskell file that only contains type declarations (https://downloads.haskell.org/ghc/latest/docs/users_guide/separate_compilation.html#how-to-compile-mutually-recursive-modules)
2022-11-18 08:36:40 -06:00
Blaž Hrastnik 433ccef3fc
Make nil the preferred language server over rnix-lsp 2022-11-18 09:52:05 +09:00
Garrett D'Amore f843967059
Improvements to Meson syntax. (#4572)
Co-authored-by: Garrett D'Amore <garrett.damore@weka.io>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-11-15 20:17:03 -06:00
Michael Davis 652497bdd6
Use tree-sitter-bicep fork with sources checked in (#4751) 2022-11-15 14:57:36 +09:00
Jonathan 1233c9a989
Add support for Bicep files (#4403) 2022-11-14 19:43:22 -06:00
Alexis (Poliorcetics) Bourget 53b70d821e deps: Update tree-sitter-rust (supports let-else && let-chains) 2022-11-11 18:43:55 -06:00
Chris Kipp d7be5463c5
update scala roots (#4701)
This adds in a couple more roots that are common in Scala.

- `build.sc` which is used in Mill
- `build.gradle` for Scala Gradle projects
- `.scala-build` for scala-cli projects
2022-11-11 07:49:56 -06:00
Gabriel Dinner-David 7367abd6c6
Update typescript grammar and queries (#4703)
* fix(grammars): update treesitter grammar and queries

* add override keyword

* Update runtime/queries/typescript/highlights.scm

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2022-11-11 14:42:56 +09:00
Philip Giuliani e17ad2722a
Enable elixir-ls for heex language (#4679) 2022-11-10 09:21:31 -06:00
Chris Kipp 183d1fadf4
feat: add sc to filetypes for Scala (#4697)
Files ending in `.sc` are known as "Scala Scripts". The scalac compiler
knows how to handle these, popular tools like
[Ammonite](https://github.com/com-lihaoyi/Ammonite) and
[scala-cli](https://github.com/Virtuslab/scala-cli) use them, and even
some Scala build tools like [mill](https://github.com/com-lihaoyi/mill)
use them as their build files (`build.sc`). This change just makes sure
that they are treated as Scala files so Metals kicks in.
2022-11-10 09:17:01 -06:00
ChrHorn 4ec2a21c6e
Update Julia grammar, queries (#4588) 2022-11-05 13:30:40 -05:00
Antoine Stevan 921d351013
bump up LhKipp/tree-sitter-nu's version to latest (#4583) 2022-11-03 21:20:14 -05:00
throwaway-helix-zsh d357f1673f
Use language=bash when shebang line uses zsh (#4582)
This PR makes the editor use language=bash when the shebang line uses
zsh. This is in the same line as using language=bash for zsh related
file (~/.zshrc, ~/.zshenv etc.) as we already do.
2022-11-03 21:18:24 -05:00
ChrHorn c667ff8da3
Increase default language server timeout for Julia (#4575) 2022-11-03 21:17:06 -05:00
Sebastian Hoß 9b247b1104
Update SSH client config grammar & highlight queries (#4538)
Co-authored-by: Sebastian Hoß <seb@hoß.de>
2022-10-31 19:27:53 -05:00
seshotake ed7ea8c9ba
add highlights for env and ini file formats (#4536) 2022-10-31 19:23:09 -05:00
hh9527 9df4358492
Support WIT grammar (#4525) 2022-10-31 18:48:01 -05:00
seshotake f6710879d1
Update SQL grammar (#4529) 2022-10-30 11:54:37 -05:00
Triton171 908529ccac
Update LaTex grammar (#4528)
Fix comment injection & add highlighting for math delimiters.
2022-10-30 11:45:58 -05:00
Matthew Toohey f054a3f3ed
feat(lang): add xml (#4518) 2022-10-29 15:41:28 -05:00
Jaden b5e7501935
feat(lang): add kdl grammar (#4481) 2022-10-29 10:33:23 -05:00
rsteube 26f21da531
language: added vhs (#4486) 2022-10-28 08:22:41 -05:00
Sora de5b100556
Add the debugger for Zig (#4492) 2022-10-27 20:19:01 -05:00
Matthias Deiml 27217bb435
Update tree-sitter markdown grammar (#4483) 2022-10-27 08:39:22 -05:00
Owen Lynch d8ffa02255
Update scala treesitter grammar (#4353) 2022-10-24 17:44:36 -05:00
Michael Davis 17daf6ac0a
Change syntax for suffix file-types configurations (#4414)
The change in d801a6693c to search for
suffixes in `file-types` is too permissive: files like the tutor or
`*.txt` files are now mistakenly interpreted as R or perl,
respectively.

This change changes the syntax for specifying a file-types entry that
matches by suffix:

```toml
file-types = [{ suffix = ".git/config" }]
```

And changes the file-type detection to first search for any non-suffix
patterns and then search for suffixes only with the file-types entries
marked explicitly as suffixes.
2022-10-22 09:34:15 +09:00
Garrett D'Amore 36f97b6aad
Add support for D (#4372)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-10-20 16:54:17 -05:00
Jared Ramirez de607830a2
Upgrade rescript tree sitter & highlights (#4356)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-10-20 16:30:16 -05:00
midnightexigent d801a6693c
Allow using path suffixes to associate language file-types (#2455)
* feat(syntax): add strategy to associate file to language through pattern

File path will match if it ends with any of the file types provided in the config.
Also used this feature to add support for the .git/config and .ssh/config files

* Add /etc/ssh/ssh_config to languages.toml

* cargo xtask docgen

* Update languages.md

* Update languages.md

* Update book/src/languages.md

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* Update book/src/languages.md

Co-authored-by: Ivan Tham <pickfire@riseup.net>

Co-authored-by: Ivan Tham <pickfire@riseup.net>
2022-10-20 23:13:56 +09:00
Sukera a7e7c2cc05
Add `roots` for julia to languages.toml (#4361) 2022-10-19 07:53:22 -05:00
Clay b07ef6bec3
Bump tree-sitter-elixir (#4333) 2022-10-18 01:05:14 +09:00
Blaž Hrastnik 09a6df199e Support Cairo 0.10 syntax 2022-10-17 10:35:15 +09:00
Blaž Hrastnik 431f9c14f3 Support Cairo 0.10 syntax 2022-10-17 10:35:15 +09:00
Jonathan LEI 17488f14d6 Fix Cairo comment token 2022-10-17 10:35:15 +09:00
Filip Dutescu 2457111bf0
feat(csharp,debug): add C# debugger support (#4213) 2022-10-15 15:33:57 -05:00
Dario Oddenino 2d958d6c50
Add support for Purescript language (#4242) 2022-10-14 11:57:52 -05:00
Chickenkeeper b4e795d704
Fix C++ syntax highlighting, and improve C & WGSL highlighting (#4079) 2022-10-13 20:31:32 -05:00
Lennard Hofmann a24fae3b3c
Update tree-sitter-lua and add textobjects for Lua (#3552) 2022-10-12 08:45:56 -05:00
gbprod 9f36468b15
Change twig tree-sitter grammar (#4176) 2022-10-10 16:27:14 -05:00
Chickenkeeper 8e8ba06f60
Improve C# syntax highlighting (#4118) 2022-10-10 12:07:14 -05:00
David 18f6ec7a8e
Update treesitter markdown (#4078)
* Update treesitter markdown

* Update inline and add table injections
2022-10-03 23:14:16 +09:00
Roberto Vidal cc257e9bf9
Add support for webassembly text format (#4040) 2022-10-01 09:13:52 -05:00
Chickenkeeper 60aa7d3607
WGSL syntax highlighting fix (#3996) 2022-09-30 17:43:07 -05:00
Clay 1a4a9b86d7
heex: upgrade grammar, add roots matching elixir (#3959) 2022-09-25 15:51:25 +09:00
Riccardo Binetti 3a245fe792
Add mix.exs and mix.lock as Elixir root markers (#3917) 2022-09-23 11:40:16 -05:00
Alex Suraci ea25ed6431
add `bass` language + highlighting (#3771) 2022-09-18 12:06:51 -05:00
Artem Pyanykh 08937fc00e Add Markdown LSP via Marksman
Marksman is an LSP server for Markdown: https://github.com/artempyanykh/marksman
It supports a bunch of LSP features: symbols, references, rename, diag,
etc. and already has integrations with emacs, neovim, and vscode.
2022-09-17 20:58:42 +02:00
Benjamin Streit 714db9c666
fix: Improving JSX and TSX indents (#3853) 2022-09-16 16:51:19 +09:00
Benjamin Streit ffb41a94f0
feat: Syntax highlighting for Astro files (#3829) 2022-09-13 01:53:55 -05:00
Erasin a15420ed1c
Add textobject for gdscript (#3760) 2022-09-10 08:47:08 -05:00
Erasin 54e78dd24f
Add godot resource support (#3759)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-09-10 08:45:52 -05:00
Matouš Dzivjak 321cce3f13 enable lint option
Enable lint option to highlight unused vars, etc.
and take full advantage of the running language server.
2022-09-08 18:38:41 -05:00
Matouš Dzivjak 76b3f502c4 feat(lsp): jsonnet-language-server
Add jsonnet-language-server for jsonnet language.
See: https://github.com/grafana/jsonnet-language-server
2022-09-08 18:38:41 -05:00
ChemicalXandco 7210b39587
change to openscad-lsp (#3750) 2022-09-08 18:36:03 -05:00
Akseli 8a1047c844
Add "markdown" as a possible filetype (#3749) 2022-09-08 18:29:36 -05:00
Matouš Dzivjak 5ab85283e9
feat(languages): jsonnet (#3714)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-09-08 09:04:18 -05:00
Benoît Cortier 16ce036bdf
Add good default rulers when editing git messages (#3738)
Around 50 columns for the summary is good because it is often used as
heading or as subject in emails. 72 columns for the body is generally
good because some tools do not wrap long lines (`git log` with pager
`less` is a good example). Helix's `:reflow` command is really good to
help with the second point.

Linux kernel documentation says:

> For these reasons, the ``summary`` must be no more than 70-75
> characters, and it must describe both what the patch changes, as well
> as why the patch might be necessary.  It is challenging to be both
> succinct and descriptive, but that is what a well-written summary
> should do.

Source:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst#n627

tpope:
https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html

Commit message style guide for Git:
https://commit.style/
2022-09-07 16:29:41 -04:00
Giorbo 5b1113766d
Add syntax highlighting for SML (#3692)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-09-07 13:13:06 -05:00
Timothy DeHerrera 5ed751c67d remove `^$` from injection regexs 2022-09-06 17:39:41 -05:00
Michael Davis 43b31f702a
Update tree-sitter-diff (#3708)
This change also renames the grammar from `git-diff` to `diff`.
The grammar covers regular diff syntax so I renamed the repository
a while ago.
2022-09-06 12:02:37 +09:00
Lennard Hofmann fb92d71d08
Update tree-sitter-fish to latest commit (#3704) 2022-09-05 08:35:14 -05:00
Blaž Hrastnik 20ed8c2595
tree-sitter-solidity: Use upstream, update queries 2022-09-05 10:50:32 +09:00
voroskoi 6e5e38c2ba
update zig grammar and highlight rules (#3621) 2022-09-02 17:22:07 -05:00
Michael Davis 03f0ef93ac Update tree-sitter-rust to latest
There don't appear to be any regressions from the updates.
Also included is a fix which highlights the "#" as in attributes
as punctuation. This was previously unhighlighted.
2022-08-31 17:46:34 +09:00
Michael Davis acf3599723 erlang: Use Edoc style auto-pairs
Specifically this changes backtic's right-hand-side pair character
to single-quote which is the syntax for inline and block code in
Edoc.
2022-08-31 17:46:34 +09:00
Gustavo Bogarín e066782782
Add c-sharp textobjects (#3494)
Co-authored-by: Gustavo Bogarín <gbogarin@outlook.com>
Co-authored-by: Gustavo Bogarín <gbogarin@posibillian.tech>
2022-08-27 09:24:47 -05:00
ath3 86a8ea57bb
Pascal support (#3542) 2022-08-25 17:59:02 -05:00
Michael Davis 28c5e2170e
Update tree-sitter-ruby (#3527) 2022-08-25 09:15:44 +09:00
ath3 45add73fb1
AWK support (#3528) 2022-08-24 11:58:15 -05:00
Christoph Horn 77f11bf272 Julia queries: update grammar, fix breaking changes 2022-08-24 11:55:47 -05:00
Jaden 2b16fd43f9
feat(lang): Add esdl grammar (#3526) 2022-08-24 09:51:10 -05:00
seb-bl ccae718a67
Improve dart indent (#3419) 2022-08-23 21:35:57 -05:00
ChemicalXandco 6b912b8641
add syntax highlights for xit (#3521) 2022-08-23 20:52:01 -05:00
ScribblyBirb 7e330697e1
Update tree-sitter-elm to latest commit (#3497) 2022-08-21 15:42:19 -05:00
Michael Davis e61c0b461c
Update tree-sitter-org (#3489)
The update fixes a bug that caused the external scanner to hang during
error recovery.

Looking at the diff, there are no structural changes in this update.
There are a few new fields and it looks like some edge-case fixes
but nothing that breaks compatibility with the current queries.
2022-08-21 13:52:52 +09:00
Alexander Brevig aef00a3ab6
feat: add taskwarrior to languages so `task N edit` is nice (#3468)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-08-19 19:16:54 -05:00
jdrst 9b0fd51318
removes deprecated stdio flag for omnisharp (#3480) 2022-08-19 08:44:17 -05:00
Michael Davis 254d558907
Update tree-sitter-swift (#3461) 2022-08-17 10:40:21 +09:00
Joshua Suskalo d192d59753
Update Clojure language definition (#3387) 2022-08-10 16:57:23 -05:00
Erasin 921027fb32
Update tree-sitter-latex and highlights (#3370)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-08-10 07:29:43 -05:00
Kyle L. Davis 4ce5a94552
Add language: beancount (#3297)
Co-authored-by: erasin <erasinoo@gmail.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Erasin <erasinoo@gmail.com>
2022-08-08 17:59:55 -05:00
Erasin f09d2bc56b Add slint-ui support
<https://slint-ui.com/>
lsp: <https://github.com/slint-ui/slint/tree/HEAD/tools/lsp>
tree-sitter-slint: <https://github.com/jrmoulton/tree-sitter-slint>
2022-08-08 17:57:08 -05:00
Matthias Deiml ea04220874
Use split_parser branch for markdown grammar (#3108) 2022-08-06 10:56:48 -05:00
PiergiorgioZagaria 219d2c2515
Change default formatter for any language (#2942)
* Change default formatter for any language

* Fix clippy error

* Close stdin for Stdio formatters

* Better indentation and pattern matching

* Return Result<Option<...>> for fn format instead of Option

* Remove unwrap for stdin

* Handle FormatterErrors instead of Result<Option<...>>

* Use Transaction instead of LspFormatting

* Use Transaction directly in Document::format

* Perform stdin type formatting asynchronously

* Rename formatter.type values to kebab-case

* Debug format for displaying io::ErrorKind (msrv fix)

* Solve conflict?

* Use only stdio type formatters

* Remove FormatterType enum

* Remove old comment

* Check if the formatter exited correctly

* Add formatter configuration to the book

* Avoid allocations when writing to stdin and formatting errors

* Remove unused import

Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
2022-08-04 13:01:48 +09:00
Banst 7e06681413
feat: add cue support (#3262) 2022-07-31 07:04:57 -05:00
Erasin 919edfb323
Add Graphviz Dot lang support (#3241)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-07-30 12:34:00 -05:00
Ricardo Silva 2f1d3d0899
Add LSP config for Odin (#3214) 2022-07-27 12:28:20 -05:00
Kirawi 0a2646e720
Improve python highlighting (#3103)
* improve python queries

* update python grammar to `0.20.2`

* fix variadic parameter scope

* add punctuation scopes

* fix order of punctuation scopes

* undo  `embedded` delete
2022-07-26 10:17:51 +09:00
Daniel Longeuay 2ede98c4b4
feat(tree-sitter): add go template support (#3091)
* feat(tree-sitter):  add go template support

* fix(tree-sitter): 🐛 go template highlight scope selectors

* chore(tree-sitter): 🔧 update go template grammar commit
2022-07-26 10:17:28 +09:00
Joe d6fd93788c
Add rabl/jbuilder/jb extensions for Ruby (#3173)
* Add rabl and jbuilder

* Add jb
2022-07-24 11:50:04 +09:00
Andrey Tkachenko 1b3a10d906
Add `vh` verilog header file type to `file-types` (#3158) 2022-07-23 09:35:20 +05:30
Clay e560212ec5
Gleam: add support for built-in language server (#3139)
* Add gleam lsp support

* Docgen gleam lsp support
2022-07-22 10:19:42 +09:00
Joe 43761d426c
Remove .git extension from SCSS tree-sitter repo url (#3089) 2022-07-17 21:41:05 +05:30
Joe 0c9594e41e
Add SCSS language support (#3074) 2022-07-17 17:55:20 +08:00
Philipp Mildenberger e97b8607c1
Added ungrammar language support (#3048) 2022-07-12 10:06:53 -05:00
Austen LeBeau 0cb0c30618
add fortran language (#3025) 2022-07-10 11:27:44 -05:00
Erin van der Veen e0cf19c612
Update tree-sitter-nickel (#2987) 2022-07-06 13:05:51 +02:00
Ivan Tham b612211070
Update tree-sitter-ledger (#2936) 2022-07-05 09:12:28 -05:00
Michael Davis aacd0c8aa5
Update TSQ queries (#2960)
A few changes to make TSQ highlights better:

* A parsing error has been fixed in the grammar itself
    * Previously tree-sitter-tsq did not parse the variables
      in predicates like `(#set! injection.language "javascript")`
* Theme nodes as `tag`
    * The newly added node to the parser (from the above fix) is
      `variable` which takes over the `variable` capture from nodes
* Highlight known predicates as `function` and unsupported
  predicates as `error`
    * This may help when translating queries from nvim-treesitter.
      For example `#any-of?` is a common one used in nvim-treesitter
      queries but not implemented in Helix or tree-sitter-cli.
* Inject tree-sitter-regex into `#match?` predicates
2022-07-05 20:01:05 +09:00
Matthew Toohey d78354c537
add language `idris` (#2971) 2022-07-05 20:00:38 +09:00
0rphee e58d28a972
Add Haskell roots (#2954) 2022-07-03 22:44:17 -05:00
rsteube 4c30a3609a
languages: added elvish (#2948) 2022-07-03 16:19:12 -05:00
Michael Davis c5600c9c01 markdown: limit raw block highlight to code fence content 2022-07-01 11:04:23 +02:00
Michael Davis bf1aa8876c git-commit: fix highlight edge cases
* branch message with current branch and diverged branch has been
  added to the parser
* scissors used in verbose commits are marked as a punctuation
  delimiter
    * we could use comment instead since they're visually the
      same but IMO this works better
2022-07-01 11:04:23 +02:00
Michael Davis a890c4a64d tsq: update parser to fix escaping double quotes
This includes a fix for the new HTML highlights introduced a few
parent commits back:

    ["\"" (attribute_name)] @string

Would get tripped up and the entire line would be highlighted as
a string. Now `\"` is a valid escape.

I'm switching to my fork as the primary repo as the upstream hasn't
been touched in over a year (mostly because stability afaict) but
it has no watchers currently so I'm not hopeful that my PR will
be merged.
2022-07-01 11:04:23 +02:00
Michael Davis d8f036f0a9 erlang: update parser for fix on remote calls 2022-07-01 11:04:23 +02:00
Michael Davis 199a2460ca make: add injection-regex 2022-07-01 11:04:23 +02:00
Michael Davis beb19fe1bd bash: expand injection-regex to common shells 2022-07-01 11:04:23 +02:00
Michael Davis 64cf4c859b
support Bazel languages (#2903) 2022-06-28 08:48:38 +05:30
Kihaya Sugiura 24351c20d4
languages: Fix ruby rakefile and gemfile file type (#2875) 2022-06-26 12:04:53 -05:00
Hekno25 33e6df8707
feat: add wgsl_analyzer as wgsl language server (#2872) 2022-06-24 16:21:26 -05:00
Erin van der Veen b365f2d614
update tree-sitter-nickel to include ' in ident (#2859)
see https://github.com/nickel-lang/tree-sitter-nickel/pull/9
and  https://github.com/tweag/nickel/pull/737
2022-06-22 20:01:54 +09:00
Clay b13e534b92
HEEx: upgrade version and support new special_attribute node (#2800) 2022-06-17 17:30:28 -05:00
Axot 4d604d3b50
Add clojure language support (#2780)
Co-authored-by: Mateusz Ledwoń <mateusz.ledwon@iteo.com>
2022-06-16 11:47:52 -05:00
Ivan 0bc7259672
add prisma tree-sitter and lsp support (#2703)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-06-12 14:08:51 -05:00
Clay f37ffaa3a1
elixirLS disable dialyzer by default (#2710)
Not all Elixir projects use dialyzer and it can cause the editor
to slow down quite a bit on large projects if the PLT is not built.

See https://github.com/elixir-lsp/elixir-ls#dialyzer-integration=
2022-06-10 10:45:17 +09:00
Michael Davis 7a9147489e add textobject queries for erlang 2022-06-07 20:03:31 +09:00
farwyler f0d1c85553
support for openscad (#2680)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-06-06 12:26:56 -05:00
Michael Davis fd4858c03d
add tree-sitter-jsdoc (#2650) 2022-06-03 10:26:47 +05:30
Michael Davis 42d780b103
add tree-sitter-edoc (#2640)
* add tree-sitter-edoc

* fix escape character capture in markdown queries

* add field negation operator "!" to tsq highlights
2022-06-03 07:41:17 +08:00
Fanda Vacek 8d4c954060
CPON parser supports unsigned int (#2643)
Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
2022-06-01 15:11:14 -05:00
Timothy DeHerrera eba82250bb
feat(lang): Update Nix grammar & improve queries (#2472) 2022-05-30 13:47:18 -05:00
pancake 7706a4a0d8
Add Vlang tree-sitter in the languages.toml (#2526)
Co-authored-by: pancake <pancake@nopcode.org>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-05-28 14:46:10 -05:00
Michael Davis 82da9bd4f2 update Erlang grammar and queries
The update to the grammar itself covers the case where the document
is a single expression without a trailing newline such as "min(A, B)".
A small change to the parser now parses these expressions correctly
which improves the display of the function head in the signature
help popup.

The update to the queries marks 'andalso', 'orelse', 'not', etc. as
`@keyword.operator` which improves the look - it looks odd to see
operators that are words highlighted the same as tokens like '->'
or '=:='.
2022-05-25 21:26:26 +09:00
Michael Davis 45dd54082e update Gleam grammar and queries
With respect to the queries:

The locals scope for functions was not large enough, so a function's
parameter could outlive the function body. To fix it, we just widen
the scope to the `function` node.

See also https://github.com/gleam-lang/tree-sitter-gleam/issues/25

With respect to the parser:

An external scanner has been added that fixes the parsing of strings.
Previously, a comment inside a string would act like a comment rather
than string contents.

See also https://github.com/gleam-lang/tree-sitter-gleam/issues/14#issuecomment-1129263640

A new constructor node has been added as well which makes type
highlighting more fine grained.

See also https://github.com/gleam-lang/tree-sitter-gleam/pull/29
2022-05-25 21:26:26 +09:00
Andrey Tkachenko 67fe16008e
Basic verilog support (#2552) 2022-05-24 12:52:32 -05:00
Erasin 386dccc84e
Add lua lsp (#2560) 2022-05-24 10:03:53 -05:00
Blaž Hrastnik d25bae844c
Add Scheme support
Skipped scm for now :/ it overlaps with tree-sitter-tsq
2022-05-22 00:01:07 +09:00
Jacob Thompson e8e252648f
Added a default lsp server for Java in languages.toml (#2511)
* Added a default lsp server for Java in languages.toml

* Added a default lsp server for Java in languages.toml cont.

Co-authored-by: Jacob Thompson <a01657923@usu.edu>
2022-05-20 15:17:46 +09:00
midnightexigent 8493b5fca6
Add tree-sitter ssh client config queries (#2498)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-05-18 14:49:50 -05:00
Alexis Geoffrey 595213ca74
Change default Hare tab width to 8 (#2480) 2022-05-16 16:48:28 +09:00
spindlebink af387e6873
Default to tabs instead of spaces for Odin files (#2464) 2022-05-12 08:23:38 -05:00
unrelentingtech 2cb1ea7127
feat(lang): add Meson language support (#2314)
https://mesonbuild.com/Syntax.html
2022-05-11 10:06:37 +09:00
Yt ae19aaf1a6
languages: add inc files to php (#2440) 2022-05-09 05:53:03 -05:00
Fanda Vacek 76d55c0d9e
Cpon support tree sitter version bumped (#2424)
Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
2022-05-07 06:47:15 -05:00
Robert Walter 495ba40eaf
feat(languages): add odin language (#2399) 2022-05-05 12:09:09 -05:00
Ben Lee-Cohen 2f240b018e
Adding the global gitignore to the default (#2410) 2022-05-05 10:58:18 -05:00
Matthew Toohey a5f4925f53
feat(languages): git-ignore and git-attributes (#2397) 2022-05-05 08:47:28 -05:00
Pavel Borzenkov f1a77370cf
feat(languages): detect 't' as perl (#2395) 2022-05-04 08:32:05 -05:00
Matthew Toohey 25d128b5b3
feat(languages): detect cjs as javascript (#2387) 2022-05-03 20:55:40 -05:00
Fanda Vacek 1668183590
feat(lang): Cpon lang support (#2355)
Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
2022-05-01 09:34:46 -05:00
Blaž Hrastnik 73879052c1
Add Cairo support 2022-05-01 11:24:17 +09:00
unrelentingtech 8e77e3388c
feat(lang): add devicetree (Flattened Device Tree Source) (#2329) 2022-04-29 15:08:00 -05:00
Erin van der Veen 21487d13fd
feat(lang): Update nickel to include "rec" keyword (#2320) 2022-04-29 07:34:15 -05:00
Alexis Kalabura 2e46961886
feat(lsp): add toml lsp (#2302) 2022-04-27 13:48:04 -05:00