Commit graph

403 commits

Author SHA1 Message Date
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 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>
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