Commit Graph

446 Commits (d7651324264b03b6c1a9e6d8bb67f4f58870da88)

Author SHA1 Message Date
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'.
2 years ago
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.
2 years ago
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
2 years ago
Philipp Mildenberger 98415f288f
Improved yuck highlighting (and parser), and introduced a tag.builtin scope (#6242) 2 years ago
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 b247d526d69adf41434b6fd9c4983369c785aa22.

* 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>
2 years ago
Erasin Wang 0e5a4e55a4
Update highlights for golang (#6204)
- update tree-sitter-go
- refine keywords
- set package as namespace
- add label
2 years ago
Erasin Wang 622f90a157
Update highlight for PHP (#6203)
- update tree-sitter-php
- add basic types, operator
- refine keyword
2 years ago
Erasin Wang e6597bc992
Update queries for godot4 (#6186) 2 years ago
Roberto Vidal 725d9aecf0
Add support for reStructuredText (#6180) 2 years ago
Matthias Q 2bd8bc8d84
feat(prql): add prql support (#6126) 2 years ago
Andrey Grebenyk 0625f410eb
Add graphql schema file type (#6159)
Co-authored-by: Andrey Grebenyk <GrebenyukAE@ugpa.ru>
2 years ago
Matthew Toohey a4049e6f55
feat: add nasm language (#6068) 2 years ago
Sophie Dankel f69bb41169
Add language support for sway (#6023) 2 years ago
Matthias Deiml 0cbb61c3a4
Improve markdown highlights and add latex injection (#6100) 2 years ago
Skyler Hawthorne 621ab0e57f
update tree-sitter-git-rebase hash (#6094) 2 years ago
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
2 years ago
Erasin 864ee8fdef
Add GNU gettext PO grammar (#5996) 2 years ago
Philipp Mildenberger b89b2eaf68
Added yuck language support (for eww) (#6064) 2 years ago
Jummit 5ff2cb24e2
Add support for the uxntal language (#6047) 2 years ago
LeoniePhiline 4c85f4d151
Add `.env.dist` to `source.env` language scope (#6003) 2 years ago
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
2 years ago
Aleksey Kuznetsov 3b301a9d1d
Add comment-token to the hosts language definition (#5914) 2 years ago
ath3 1840d775c8
Added tree-sitter-hosts (#4950) 2 years ago
ath3 189c3c2ddc
Add tree-sitter-passwd (#4959) 2 years ago
zSchoen 882fa11d17
Add `Containerfile` file-type for dockerfile language (#5873) 2 years ago
Matthew Toohey 05c5207265
feat: add pem language (#5797) 2 years ago
Surendrajat fce30c0da0
xml: add mobileconfig & plist file types (#5863) 2 years ago
Ethan Budd 9c98043c1c
Recognize .C and .H file types as cpp (#5808) 2 years ago
Aleksey Kuznetsov 7b46a6cada
Add Podfile and *.podspec to the file types for ruby (#5811) 2 years ago
Brett Lyons d8f482e11e
Add MSBuild language based on XML grammar (#5793) 2 years ago
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
2 years ago
Eric Crosson 447909e4d0
Modify env language to extend bash (#5720)
Additionally, add `.envrc` to the `env`-supported file types.
2 years ago
LeoniePhiline 482cc22fec
Update tree-sitter-sql and improve highlight queries (#5683) 2 years ago
Sam Nystrom 291f39d66b
Add `Justfile` to the file types for make (#5687) 2 years ago
LeoniePhiline 250b6cd7f0
Update tree-sitter-xml to fix whitespace parsing (#5685) 2 years ago
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
2 years ago
Antonius Naumann 56c0810c68
Change default language server for 'v' from 'vls' to 'v ls' (#5677) 2 years ago
Eloi Torrents 7e191f5915
Support sagemath language (#5649) 2 years ago
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)
2 years ago
Jared Moulton 5c6b7127f8
Add build.gradle to list of java roots (#5641) 2 years ago
anna 8e10c592b9
add lua injection regex (#5606) 2 years ago
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>
2 years ago
Nachum Barcohen 94ef6fb69b
Add more file-types for python (#5593) 2 years ago
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>
2 years ago
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>
2 years ago
Clément Delafargue 1f6809c9ce Language support for dhall
https://dhall-lang.org/
2 years ago
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.
2 years ago
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";
2 years ago
Matthias Wahl e65f28d41a
Add language support for ponylang (#5416)
See https://www.ponylang.io
2 years ago
Michael Davis b368df5785
Use tree-sitter-ruby for crystal (#5205) 2 years ago
Julius de Bruijn 5627c604ef
Update Prisma tree-sitter for view support (#5417) 2 years ago
Jonathan LEI febe1a5172
Fix comment token for sshclientconfig (#5351) 2 years ago
k12ish 6f8f9cac9a
Add bash syntax highlighting for `.bash_aliases` (#5347) 2 years ago
Erasin f0c6e6c9ee
fix comment token of godot resource file (#5276) 2 years ago
g-s-k 042d03269e
Add support for MATLAB/Octave files (#5192) 2 years ago
Jonas Everaert aecb524e50
Crystal language support (#4993) 2 years ago
alice 3e6887648c
set 'c++' as a recognised extension for cpp (#5183) 2 years ago
Erasin 436296b76c
Add Mermaid.js for markdown support (#5147) 2 years ago
Blaž Hrastnik bae890d8fa
Update tree-sitter-scheme 2 years ago
garlic0x1 a34ba071be
Fix commonlisp filetypes typo and auto-pairs (#5091) 2 years ago
Danilo Spinella f323ffabcc
Treat patches as diff files (#5085) 2 years ago
Felipe S. S. Schneider d14de27709
Add support for the BibTeX file format (#5064) 2 years ago
Blaž Hrastnik 417676953b
Add basic support for common lisp 2 years ago
Aleksey Kuznetsov 2123e91e56
Enable auto format for css and scss files (#4987)
provideFormatter enables capability in LS and
auto-format performs format on save
2 years ago
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.
2 years ago
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.
2 years ago
Chickenkeeper bf908cc4a1
Update CSS syntax highlighting (#4882) 2 years ago
Lennard Hofmann fc811726e0
Update tree-sitter-java and add Java textobjects (#4886) 2 years ago
Chickenkeeper f2a55331d0
Bump tree-sitter-html version (#4881) 2 years ago
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 `<-`.
2 years ago
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.
2 years ago
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.
2 years ago
alois31 26ec1cf39a
Add QML language support (#4842)
Fixes https://github.com/helix-editor/helix/issues/2771
2 years ago
ath3 598bd8bf11
Update tree-sitter-cmake (#4809) 2 years ago
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)
2 years ago
Blaž Hrastnik 433ccef3fc
Make nil the preferred language server over rnix-lsp 2 years ago
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>
2 years ago
Michael Davis 652497bdd6
Use tree-sitter-bicep fork with sources checked in (#4751) 2 years ago
Jonathan 1233c9a989
Add support for Bicep files (#4403) 2 years ago
Alexis (Poliorcetics) Bourget 53b70d821e deps: Update tree-sitter-rust (supports let-else && let-chains) 2 years ago
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
2 years ago
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>
2 years ago
Philip Giuliani e17ad2722a
Enable elixir-ls for heex language (#4679) 2 years ago
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.
2 years ago
ChrHorn 4ec2a21c6e
Update Julia grammar, queries (#4588) 2 years ago
Antoine Stevan 921d351013
bump up LhKipp/tree-sitter-nu's version to latest (#4583) 2 years ago
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.
2 years ago
ChrHorn c667ff8da3
Increase default language server timeout for Julia (#4575) 2 years ago
Sebastian Hoß 9b247b1104
Update SSH client config grammar & highlight queries (#4538)
Co-authored-by: Sebastian Hoß <seb@hoß.de>
2 years ago
seshotake ed7ea8c9ba
add highlights for env and ini file formats (#4536) 2 years ago
hh9527 9df4358492
Support WIT grammar (#4525) 2 years ago
seshotake f6710879d1
Update SQL grammar (#4529) 2 years ago
Triton171 908529ccac
Update LaTex grammar (#4528)
Fix comment injection & add highlighting for math delimiters.
2 years ago
Matthew Toohey f054a3f3ed
feat(lang): add xml (#4518) 2 years ago
Jaden b5e7501935
feat(lang): add kdl grammar (#4481) 2 years ago
rsteube 26f21da531
language: added vhs (#4486) 2 years ago
Sora de5b100556
Add the debugger for Zig (#4492) 2 years ago
Matthias Deiml 27217bb435
Update tree-sitter markdown grammar (#4483) 2 years ago
Owen Lynch d8ffa02255
Update scala treesitter grammar (#4353) 2 years ago
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.
2 years ago