Commit Graph

615 Commits (1dd1735909fe09829683ab634862dbaeaa048e28)

Author SHA1 Message Date
Blaž Hrastnik 0266ec6ba3
Update language support doc 1 year ago
LeoniePhiline 41f52d74fe
fix(docs): Remove `config` from language configuration docs (#7082) 1 year ago
Szabin 70e4cdbd8e
Add command to merge non-consecutive ranges (#7053)
* Add command for merging non-consecutive ranges

* Add `merge_selections` command to book

* Simplify `merge_ranges`

Heeded the advice of @the-mikedavis to stop iterating over all ranges and simply merge the first and the last range, as the invariants of `Selection` guarantee that the list of ranges is always sorted and never empty.

* Clarify doc comment of `merge_ranges`
1 year ago
Philipp Mildenberger f8fa0d8a10 Clarify language-servers documentation for mergeable LSP features (`diagnostics`, `code-action`, `completion`, `document-symbols` and `workspace-symbols`) 1 year ago
Philipp Mildenberger 7d20740b5b Fix docgen and lsp-stop documentation 1 year ago
Philipp Mildenberger d963050621 Format/fix language docs a bit 1 year ago
Philipp Mildenberger 74e21e1b25 Fix some lints/docgen hints 1 year ago
Philipp Mildenberger 71551d395b Adds support for multiple language servers per language.
Language Servers are now configured in a separate table in `languages.toml`:

```toml
[langauge-server.mylang-lsp]
command = "mylang-lsp"
args = ["--stdio"]
config = { provideFormatter = true }

[language-server.efm-lsp-prettier]
command = "efm-langserver"

[language-server.efm-lsp-prettier.config]
documentFormatting = true
languages = { typescript = [ { formatCommand ="prettier --stdin-filepath ${INPUT}", formatStdin = true } ] }
```

The language server for a language is configured like this (`typescript-language-server` is configured by default):

```toml
[[language]]
name = "typescript"
language-servers = [ { name = "efm-lsp-prettier", only-features = [ "format" ] }, "typescript-language-server" ]
```

or equivalent:

```toml
[[language]]
name = "typescript"
language-servers = [ { name = "typescript-language-server", except-features = [ "format" ] }, "efm-lsp-prettier" ]
```

Each requested LSP feature is priorized in the order of the `language-servers` array.
For example the first `goto-definition` supported language server (in this case `typescript-language-server`) will be taken for the relevant LSP request (command `goto_definition`).

If no `except-features` or `only-features` is given all features for the language server are enabled, as long as the language server supports these. If it doesn't the next language server which supports the feature is tried.

The list of supported features are:

- `format`
- `goto-definition`
- `goto-declaration`
- `goto-type-definition`
- `goto-reference`
- `goto-implementation`
- `signature-help`
- `hover`
- `document-highlight`
- `completion`
- `code-action`
- `workspace-command`
- `document-symbols`
- `workspace-symbols`
- `diagnostics`
- `rename-symbol`
- `inlay-hints`

Another side-effect/difference that comes with this PR, is that only one language server instance is started if different languages use the same language server.
1 year ago
Kitsu 92c328c088
Add wbc and wbc! commands (#6947) 1 year ago
Ollie Charles 8424f387b5
Remove `tree-sitter-cabal` (#6996) 1 year ago
David Else 69332ae3b2
Add Flathub as third party repository (#6994) 1 year ago
Dave Powers 5ae30f1993
Fix keymap select / extend mode anchor link (#6974) 1 year ago
taupiqueur c49faf5681
Add language server command for Crystal (#6948) 1 year ago
sscheele f52e81b1f3
Update docs for `move_visual_line_*` (#6918) 1 year ago
Timothy DeHerrera 9c6c63a2be
inject language based on file extension & shebang (#3970)
* inject language based on file extension

Nodes can now be captured with "injection.filename". If this capture
contains a valid file extension known to Helix, then the content will
be highlighted as that language.

* inject language by shebang

Nodes can now be captured with "injection.shebang". If this capture
contains a valid shebang line known to Helix, then the content will
be highlighted as the language the shebang calls for.

* add documentation for language injection

* nix: fix highlights

The `@` is now highlighted properly on either side of the function arg.

Also, extending the phases with `buildPhase = prev.buildPhase + ''''`
is now highlighted properly.

Fix highlighting of `''$` style escapes (requires tree-sitter-nix bump)

Fix `inherit` highlighting.

* simplify injection_for_match

Split out injection pair logic into its own method to make the overall
flow easier to follow.

Also transform the top-level function into a method on a
HighlightConfiguration.

* markdown: add shebang injection query
1 year ago
jorge 204d1eba4b
feat(commands): add clear-register typable command (#5695)
Co-authored-by: Jorge <chorcheus@tutanota.com>
1 year ago
ap29600 9cdc6b2e8a
Change Odin grammar to `ap29600/tree-sitter-odin` (#6766)
* Change Odin grammar to `ap29600/tree-sitter-odin`

The previously adopted grammar, `MineBill/tree-sitter-odin`, is unmaintained and mentions my repository as an alternative source.

* update queries

* docgen

* fix queries

* Update runtime/queries/odin/highlights.scm

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

* remove `ERROR` query for `odin`

* track the latest rev in `ap29600/tree-sitter-odin`

* runtime/queries/odin/highlights.scm: update rune highlight class

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
1 year ago
Vitalii Solodilov 2836ea2ac4
feat: add a config option to exclude declaration from LSP references (#6886)
* feat: added the config option to exclude declaration from reference query

Fixes: #5344

* fix: review

* fix: review
1 year ago
Wesley 903bdaae87
Set PerlNavigator as the language server for Perl (#6860) 1 year ago
Atticus Sebastiani 228a4af35f
make `:u` alias `:update` (#6835)
* Gave the command update the alias u

* Re added trailing newline

* generated docs
1 year ago
Michael T. Mordowanec a1044a6c68
Change soft-wrap.wrap_at_text_width to kebab case in documentation (#6842)
Solves #6803.
1 year ago
David Else 83c307a66a
Improve and update the installation documentation (#6809) 1 year ago
VuiMuich 4cdba7cccd
Add standalone language support for `just` (#6453)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
1 year ago
Michael 161fef2166
Add DTD language support (#6644)
- Added syntax highlighting for the DTD subset of the XML spec.
- Included .dtd and .ent as common file extensions
1 year ago
lefp fff8543b58
Add OpenCL tree-sitter and LSP config (#6473) 1 year ago
Matouš Dzivjak 70de5026b8
feat(languages): Support markdoc (#6432)
Add basic support for [markdoc](https://markdoc.dev/).

For language server, see: https://github.com/markdoc-extra/markdoc-ls
For tree sitter, see: https://github.com/markdoc-extra/tree-sitter-markdoc
1 year ago
Ollie Charles 92c5f5f18c
Initial Cabal language support (#6485) 1 year ago
tippfehlr 5106a124ed
Fix `file-picker.follow-symlinks` config option name in docs (#6685) 1 year ago
Nico Bos 894c2b9edb
Add Windows install instructions using Winget (#6602) 1 year ago
Alireza Alavi 78b516430a
Fix minor grammar issue in 'from-vim' docs (#6667) 1 year ago
karei 1148ce1fd9
Add support for Robot Framework files (#6611)
* Add support for Robot Framework files

* Run docgen
1 year ago
Clara Hobbs 4b32b544fc
Add textobject queries for Julia (#6588)
* Add textobjects queries for Julia

* Update docs for Julia textobject queries
1 year ago
Erasin Wang c22ebfe62e
Add Hurl Support (#6450)
* Add http Support

It's like [vscode-restclient](https://github.com/Huachao/vscode-restclient)

- https://github.com/erasin/tree-sitter-http/tree/main/tests

* Add Hurl Support
1 year ago
Pascal Kuthe 9fe3adcff9
add option to enable/disable lsp snippets 1 year ago
Clara Hobbs d284444eb4
Add indents.scm for Julia (#6490)
* Add indents.scm for Julia

* Update documentation for new indent support
1 year ago
Pascal Kuthe 5b3dd6a678 implement proper lsp-workspace support
fix typo

Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com>
1 year ago
Pascal Kuthe 2d10a429eb add workspace config and manual LSP root management
fixup documentation

Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com>

fixup typo

Co-authored-by: LeoniePhiline <22329650+LeoniePhiline@users.noreply.github.com>
1 year ago
Filip Dutescu d59b80514e
feat(debug): highlight current line (#5957)
Add new theme highlight keys, for setting the colour of the breakpoint
character and the current line at which execution has been paused at.
The two new keys are `ui.highlight.frameline` and `ui.debug.breakpoint`.
Highlight according to those keys, both the line at which debugging
is paused at and the breakpoint indicator.

Add an indicator for the current line at which execution is paused
at, themed by the `ui.debug.active` theme scope. Update various themes
to showcase how the new functionality works.

Better icons are dependent on #2869, and as such will be handled in the
future, once it lands.

Closes: #5952

Signed-off-by: Filip Dutescu <filip.dutescu@gmail.com>
1 year ago
Michael Davis d7431db55c
Update tree-sitter-git-commit, add comment textobject (#6439)
The update includes a fix for comments in commit messages where there
was no space separating the '#' and the comment text.

The comment textobject can be useful occasionally to jump to the
summary part of the commit edit message.
1 year ago
JJ c8fde8b6f9
Initial Nim language support (#6123) 1 year ago
Juan C. Müller 5d7c90c5cf
Add language support for rego (OpenPolicyAgent) (#6415) 1 year ago
Tom Burdick 685ae2365a
Add vhdl language support (#5826)
Simple highlight query file with keywords and builtin types
matching. Many VHDL types however are defined in std libraries
which do not currently get matched on.

This is because the grammar doesn't consider them builtin types.
1 year ago
Erasin Wang 851ac6cdd3
Add theme keys for (un)checked markup list items (#6434) 1 year ago
Juan C. Müller 6acd200028
Fix spelling of diagnostics (#6418) 1 year ago
zetashift 0e0c16e6fa
Add initial Smithy support (#6370) 1 year ago
Gautam Panchal 3da63fa481
Add instructions for installing via AppImage (#6368) 1 year ago
Aaron Bull Schaefer 203cf1a919
Document `ui.highlight` theme key (#6372)
This scope was added via bf5b9a9f35
1 year ago
angelodlfrtr ac2a7731a6
Add language support for Cap’n Proto format (#6325) 1 year ago
Erasin Wang fb56a4bb75
Improve tree-sitter queries for vlang (#6279)
- Update hightlight
- add indents
- add textobject
- add injections
1 year ago
Jonatan Pettersson d479adfdc6
Add undercurl config option #6196 (#6253)
If set to 'true' this option will force terminal undercurl support.
1 year ago