Commit graph

641 commits

Author SHA1 Message Date
7ombie
204c3707b0
Updated Swift grammar, adding 'any' and 'await' keywords. (#9586) 2024-02-12 02:17:44 +01:00
Galen Abell
581a1ebf5d
Add glob file type support (#8006)
* Replace FileType::Suffix with FileType::Glob

Suffix is rather limited and cannot be used to match files which have
semantic meaning based on location + file type (for example, Github
Action workflow files). This patch adds support for a Glob FileType to
replace Suffix, which encompasses the existing behavior & adds
additional file matching functionality.

Globs are standard Unix-style path globs, which are matched against the
absolute path of the file. If the configured glob for a language is a
relative glob (that is, it isn't an absolute path or already starts with
a glob pattern), a glob pattern will be prepended to allow matching
relative paths from any directory.

The order of file type matching is also updated to first match on globs
and then on extension. This is necessary as most cases where
glob-matching is useful will have already been matched by an extension
if glob matching is done last.

* Convert file-types suffixes to globs

* Use globs for filename matching

Trying to match the file-type raw strings against both filename and
extension leads to files with the same name as the extension having the
incorrect syntax.

* Match dockerfiles with suffixes

It's common practice to add a suffix to dockerfiles based on their
context, e.g. `Dockerfile.dev`, `Dockerfile.prod`, etc.

* Make env filetype matching more generic

Match on `.env` or any `.env.*` files.

* Update docs

* Use GlobSet to match all file type globs at once

* Update todo.txt glob patterns

* Consolidate language Configuration and Loader creation

This is a refactor that improves the error handling for creating
the `helix_core::syntax::Loader` from the default and user language
configuration.

* Fix integration tests

* Add additional starlark file-type glob

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-02-11 18:24:20 +01:00
Matouš Dzivjak
d137a08231
feat(languages): pkl (#9515)
* feat(languages): pkl

Add [pkl](https://github.com/apple/pkl) language.
Official documentation: https://pkl-lang.org/

* remove branch indent
2024-02-09 11:44:46 +01:00
Tobias Hunger
a1272bdb17
slint: Update treesitter parser and queries (#9551)
* slint: Update treesitter parser and queries

* slint: Port over suggestions from nvim review
2024-02-07 19:36:29 +01:00
zetashift
6e3ed7f0fa
Update Unison tree-sitter grammar for type changes and add indent queries (#9505)
* Update Unison tree-sitter grammar for type changes

* Add indent queries for Unison

* Improve Unison indent queries
2024-02-04 02:10:20 +01:00
Novus Nota
d1054de3ce
feat: Add Tact language support (#9512)
Re-submitting
2024-02-04 02:09:11 +01:00
Devyn Cairns
3f380722fb
Update grammars for Nushell to rev 358c4f50 (#9502) 2024-02-04 02:04:51 +01:00
sogaiu
f5b67d9acb
Use janet-simple grammar for Janet (#9247)
* Use janet-simple grammar for Janet

* Update book

* Tweak language name and related

* Rename janet-simple to janet in book

* Remove spurious language section for janet

* Drop quote_lit and qq_lit related highlighting

---------

Co-authored-by: sogaiu <983021772@users.noreply.github.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2024-01-28 19:17:46 +09:00
Poliorcetics
0d09fb4f55
lang(git-ignore): add helix/ignore to git-ignore file types (#9447) 2024-01-27 13:17:37 -06:00
blinxen
2661e05b34
Update some grammars to a commit where the license file is included (#9279)
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-01-25 14:12:17 +09:00
Idobenhamo
299bcce481
Update Typst Tree-Sitter grammar (#9403)
Co-authored-by: Idobenhamo <idobenhamo@users.noreply.github.com>
2024-01-23 18:27:46 +01:00
Boris Verkhovskiy
7d7ace551c
Highlight .bash_history as bash (#9401) 2024-01-23 00:19:28 +01:00
Jaakko Paju
9ed3dc52e0
Update Scala tree-sitter grammar (#9348)
* Update Scala tree-sitter grammar

* Support block comments

Modify comment handling in textobjects and highlights to support new TS-scala node type 'block_comment'
2024-01-22 19:51:56 +01:00
Jeremy Brudvik
f41727cc9c
Support PureScript's new spago.yaml configs (#9362) 2024-01-17 23:15:38 +09:00
Michael Davis
17dd102e5c
Remove sourcehut tree-sitter grammars from default build (#9316)
Sourcehut has outages occasionally that cause the CI and from-source
builds to fail. It also doesn't setup redirects when a user renames
themselves, so if a user that publishes a tree-sitter grammar we use
changes their sourcehut name then it breaks the build and any prior
builds using that grammar.

For now let's remove them from the default build. It's a bandaid over
a larger reliability and trust problem with the grammar repositories
but it should fix the build for now.
2024-01-11 09:26:25 -06:00
Kirawi
7af78c7788
update comment grammar (#9253) 2024-01-09 09:56:51 +09:00
Greedwolf DSS
918bd9c2b0
feat: update wren tree-sitter grammar (#8544)
Co-authored-by: masai.dss <masai.dss@bytedance.com>
2024-01-08 03:54:16 +01:00
Jaakko Paju
a32d537d0a
Add HOCON language support (#9203)
* Add HOCON language support

* Remove error query

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

* Change include query

* Fix query error

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-01-08 03:04:43 +01:00
petrak@
7e389b67c2
Add auto-pairs to scheme language support (#9232)
Currently, typing a single quote in a `.scm` file "helpfully" auto-
completes a closing quote. This is because there is no auto-pairs
section in the languages.toml. This commit adds that.
2024-01-04 14:49:50 -06:00
Jaakko Paju
a6ed104ea2
Add .prettierrc to json file types (#9214) 2024-01-02 17:47:59 -05:00
Pascal Kuthe
8653e1b02f Add config to mark diagnostic sources as persistent 2023-12-27 15:28:14 +09:00
romi
ab50299efa
Add .glif to XML file-types (#9130)
`.glif` files are standard files in the type design industry. From the
Unified Font Object specification website:

The Glyph Interchange Format (GLIF) is a simple and clear XML
representation of a single glyph. GLIF files typically have a .glif
extension.
https://unifiedfontobject.org/versions/ufo3/glyphs/glif/
2023-12-22 13:51:21 +09:00
Evan Richter
a98b8ddd1a
add smali language support (#9089) 2023-12-20 00:31:27 +01:00
Lucas Wagler
970f9e6333
Add Avro schema file support (#9113) 2023-12-19 10:05:58 +09:00
0rphee
0a83d85124
Add haskell-language-server as lsp for cabal files (#9111) 2023-12-19 10:05:55 +09:00
JJ
c56cd6ee8b
Add support for Agda (#8285)
* agda language support (wip)

* improve highlights

* disable agda-language-server

* minor addendum to documentation

* cargo xtask docgen

* oh i can just do this neat

* minor comment cleanup

* upstream updated

* imports: missed a spot

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-12-16 05:29:26 +01:00
Matthew Toohey
11856329bf
Change R markdown language name to fix language server detection (#9012) 2023-12-15 15:54:43 +09:00
Phil
b4571c292e
Add initial support for janet-lang (#9081)
* Add initial support for janet-lang

* Use default roots for janet-lang
2023-12-15 15:54:25 +09:00
Michal Rostecki
c2591445c9
chore: Update tree-sitter-d (#9021)
One of the included changes is gdamore/tree-sitter-d#22 which
fixes the build of Helix when using clang as `CC`.
2023-12-13 02:37:03 +01:00
Frederick Schwalbe
c3cb1795bf
Update gleam grammar and queries (#9003) 2023-12-05 22:54:00 +09:00
Manuel Mendez
9fcfb88132
Add .envrc.local and .envrc.private to env file-types (#8988) 2023-12-05 10:45:41 +09:00
Skyler Hawthorne
fcd564fddf
upgrade tree-sitter-python (#8976)
supports new syntaxes from Python 3.12
2023-12-04 17:26:11 +09:00
Nan Zhong
466b87c8e5
languages: update rescript grammar (#8962)
This bump fixes a build failure of the grammer with clang.
2023-12-04 01:46:00 +01:00
Tudyx
f8d261cd20
add log tree-sitter (#8916)
* add log tree-sitter

* better highlight queries
2023-11-29 02:42:59 +01:00
A-Walrus
0739d13b03
Add musicxml to xml extensions (#8935) 2023-11-29 02:41:35 +01:00
Blaž Hrastnik
6d168eda27
fix CI: tree-sitter-gemini user renamed 2023-11-28 14:38:15 +09:00
ghashy
ff095ebd9b
DBML Language support (#8860)
* DBML language support

* DBML language support, highlights.scm added

* DBML support

* Update runtime/queries/dbml/highlights.scm

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

* Update runtime/queries/dbml/highlights.scm

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

* Update runtime/queries/dbml/highlights.scm

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

* remove unnecessary block highlight

* remove unnecessary line

* remove index_block query

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-11-22 18:27:25 +01:00
Ethan Brierley
f1b9c19fa9
add LSP for nushell (#8878) 2023-11-22 18:24:34 +01:00
Dan Field
b306b25e82
GN language support (#6969)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-11-18 17:11:18 +09:00
blinxen
39aa6fa646
Update some grammars to a commit where the license file is included (#8691) 2023-11-18 10:24:59 +09:00
Michael Davis
69a0df929a Remove 'roots' keys with default value from languages.toml 2023-11-14 11:56:53 +09:00
blt__
172ef2fa9f
Highlight meson_options.txt as a meson file (#8794) 2023-11-12 23:04:03 +01:00
Triton171
cb0bc25a9f
Add indent queries for scheme (and reuse them for common-lisp & racket). (#8720) 2023-11-08 20:53:07 +01:00
postsolar
a98ad137f9
Update PureScript grammar (#8712) 2023-11-05 14:16:25 +01:00
MDeiml
2fddc2a4fc Update markdown grammar to v0.1.6 2023-11-05 07:31:19 -05:00
cgahr
5c325fe342
replace kdl tree-sitter to fix highlighting (#8652)
* replace kdl tree-sitter

* kdl: adopt highlights for new tree-sitter

* kdl: add indent queries

* kdl: add textobjects

* kdl: improve syntax highlighting

* kdl: update lang-support

* kdl: make indents more concise

---------

Co-authored-by: Constantin Gahr <constantin.gahr@ipp.mpg.de>
2023-11-03 22:21:54 +01:00
Angus Dippenaar
44e03fa414
add golangci-lint-langserver (#8656)
* languages add golangci-lint-langserver

* update docs
2023-10-29 17:53:15 +01:00
Gabriel Dinner-David
4f1d414d9c
switch to tree-sitter-ron (#8624) 2023-10-27 01:40:16 +02:00
Frans Skarman
9eec9adb8f
Add LPF tree sitter (#8536)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-10-27 01:32:49 +02:00
Alexander Brevig
2906660119
Add typst language and lsp (#7474)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-10-27 01:27:42 +02:00
rsteube
764715a6c0
languages: add templ (#8540) 2023-10-21 14:15:18 +02:00
Ryan Mehri
814cf177d4
bump tree-sitter-haskell and update queries (#8558) 2023-10-17 12:19:57 +02:00
NomisIV
1ef7f24dae
Update purescript-tree-sitter grammar (#8527) 2023-10-13 17:08:27 +02:00
Kasper Juul Hermansen
5cb76e74f9
add lsp for graphql (#8492)
graphql-lsp has quite the strange name upstream, the project is technically called graphql-language-service,
but the binary shipped is called graphql-lsp hence the strange naming scheme

Signed-off-by: kjuulh <contact@kjuulh.io>
2023-10-09 17:30:27 +02:00
DS/Charlie
96bbfb7c2e
bump tree-sitter-sql (#8464)
* bump tree-sitter-sql

* update highlights classes to helix flavour

* replace lua-match with match
2023-10-09 17:29:30 +02:00
Laurent Wandrebeck
bdf7937a59
Add ansible-language-server for yaml (#7973)
* Update languages.toml

Add ansible support to yaml.

* cargo xtask docgen
2023-10-08 12:34:21 +02:00
DS/Charlie
93e54fa0c8
add support for json5 (#8473)
* add json5 language

* docgen
2023-10-07 00:29:42 +02:00
David Else
68fce3e160
Add tailwindcss language server (#8442) 2023-10-04 19:00:43 +09:00
David Else
0e13db2832
Add validation to CSS and JSON language servers (#8433) 2023-10-02 00:41:54 +02:00
Yoav Lavi
893802d5a2
Add VSCode file associations (#8388)
* Add VSCode file associations

* Update languages.toml

Co-authored-by: Robert Clover <robert@clover.gdn>

* Change cpp *.in files to suffixes

---------

Co-authored-by: Robert Clover <robert@clover.gdn>
2023-10-02 00:40:47 +02:00
Ken Micklas
0c879d4edc
Add shebangs for Makefiles (#8410)
For example, this is standard for Debian rules files: https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#defaultrules
2023-09-26 22:19:24 +02:00
nerohd
0252c7b162
add polkit rules files to javascript detection (#8370) 2023-09-25 10:44:35 +09:00
nerohd
7702e130ba
add polkit policy files to xml detection (#8369)
polkit policy files are just xml files, https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html for more info
2023-09-24 13:33:43 +02:00
zefr0x
842687e845
Add .webmanifest as supported JSON files (#8342)
Closes #8310
2023-09-23 10:50:44 +09:00
NomisIV
cb39242783
Use Maskhjarnas tree-sitter-purescript (#8306) 2023-09-17 18:50:58 +02:00
Yoav Lavi
ca9a7d506e
add .babelrc highlighting (#8309) 2023-09-17 10:29:14 -05:00
Yoav Lavi
8b076e3851
Add .editorconfig highlighting as INI (#8308) 2023-09-16 15:31:19 -05:00
Yoav Lavi
0e556484b7
Add JSON highlighting for flake.lock files (#8304) 2023-09-16 14:27:50 -05:00
Cyrill Schenkel
941dc6c614
add GNU assembler (gas) support #8291) 2023-09-16 02:04:44 +02:00
Bannerets
e4ba237258
Disable auto-pairing ` in OCaml (#8260) 2023-09-12 12:51:54 -05:00
Blaž Hrastnik
95e994ab38
Add more shebangs to languages 2023-09-11 13:15:45 +09:00
Jesse Luehrs
81d6d3ff0e
re-add indent and textobject queries for perl (#7947)
* bump tree-sitter-perl version

need some grammar tweaks for the indent queries to function properly

* add indent queries for perl

* add textobject queries for perl
2023-09-10 21:27:04 +02:00
Alexis Mousset
829db76563
Add feed-related formats as xml (#8232) 2023-09-10 13:54:34 -05:00
Ross Manchester
0d986fce76
chore: add additional ignore file highlights (#8220)
* chore: add additional ignore file highlights

Various files use the same syntax highlighting as `.gitignore` and
similarly tell different tools what files/folders to ignore. Update the
languages file so that other ignore type files use the same highlighting
as gitignore. The files added are:

- `.ignore`
- `.prettierignore`
- `.eslintignore`
- `.npmignore`

* chore: add highlighting for codeowners files

Add `CODEOWNERS` as an additional file type for `git-ignore` in the
language file. `CODEOWNERS`'s grammar is close enough to that of
`.gitignore`, this can be used to avoid making a new grammar
specifically for `CODEOWNERS` files.
2023-09-10 13:53:15 -05:00
Jaden
528a5e3aff
Update EdgedDB (ESDL) grammar (#8222) 2023-09-09 21:58:28 +02:00
Ivan Molodetskikh
9d7f66574d
Update tree-sitter-blueprint (#8161) 2023-09-04 18:50:42 +02:00
Michael Davis
072e1eae92
Update tree-sitter-gleam, enable auto-format (#8085) 2023-08-28 18:44:49 +09:00
sigmaSd
992c858369
chore: update strace tree sitter grammar (#8087) 2023-08-28 18:44:28 +09:00
Álan Crístoffer
9f843e4f56
highlight(matlab): bumps grammar after some improvements (#8040) 2023-08-28 03:07:51 +02:00
Sol Fisher Romanoff
aeaeb09f48
add gemini language support (#8070) 2023-08-27 00:43:18 +02:00
David Else
c9694f680f
Add ltex-ls language server (#7838) 2023-08-23 14:03:19 -05:00
David Else
454b61cb21
Update pyright config to avoid time-outs (#8032) 2023-08-21 21:26:32 +02:00
kaashyapan
75342968e2
update fsharp tree-sitter (#8024) 2023-08-21 16:38:21 +02:00
Tomas Sandven
18a79aa3bf
Update tree-sitter-robot (#7970)
* Update tree-sitter-robot

* Update Robot highlights query for Helix

* Change @comment.single to @comment

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-08-18 22:48:47 +02:00
David Bell
567eda88ef
add .star as starlark file extension (#7922)
In addition to the other defined extensions, `.star` is a frequently used extension for starlark files. This can be demonstrated through a cursory search of github for files ending in `.star` here: https://github.com/search?q=path%3A%2F.star%24%2F&type=code
2023-08-15 09:39:37 +02:00
sigmaSd
cbfe8eef89
add strace highlighting (#7928)
* feat: add strace tree sitter

* f
2023-08-15 09:38:57 +02:00
N
7b2f3f533c
Recognize more filenames for zsh (#7930)
Including `zshrc` et al. since this is convention in dotfiles repos
2023-08-15 09:31:30 +02:00
Erasin Wang
19dff5c3a4
Update slint grammar (#7893) 2023-08-13 09:18:57 +02:00
Noob Zhang
b0c270f8e6
Added some LSP servers and updated python's roots (#7897)
* Add csharp-ls for possible c-sharp LSP

See https://github.com/razzmatazz/csharp-language-server for more info
about it.

* Add pyright for possible python LSP

It may be prefered than pylsp by someone.
According to https://github.com/helix-editor/helix/issues/5479, I don't
make it default for everyone. Just for people who need this.

* Update roots of python

Using some known filenames to detect correct project root.

* Add pylyzer for possible python LSP

Co-authored-by: zetashift <rskaraya@gmail.com>

---------

Co-authored-by: zetashift <rskaraya@gmail.com>
2023-08-13 09:17:56 +02:00
Jesse Luehrs
2caca1c4e9
Add pod highlighting (#7907) 2023-08-12 20:14:18 -05:00
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
2023-08-09 16:26:58 +02:00
Jan9103
c0eae84073
feat: add todo.txt tree-sitter (#7835) 2023-08-09 15:35:29 +02:00
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
2023-08-09 14:00:59 +02:00
zetashift
294aa669a2
Add Unison support (#7724) 2023-08-08 20:50:49 +02:00
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.
2023-08-07 14:07:56 -05:00
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.
2023-08-08 03:27:16 +09:00
Blaž Hrastnik
57071513a8 Only use tsq for tsq files
This makes our highlight files more plain but it correctly highlights
scheme :/
2023-08-07 23:46:16 +09:00
Blaž Hrastnik
979933b514 Update tree-sitter-scheme 2023-08-07 23:46:16 +09:00
woojiq
1d189820a1
feat(indent): add basic java indentation queries (#7844) 2023-08-07 08:48:54 -05:00
Jummit
f19793c2f8
Improve wren support (#7819) 2023-08-04 16:25:36 +02:00