Commit Graph

942 Commits (d0275a554a1c75d298003bbe54c1288bb0138a0d)

Author SHA1 Message Date
Alfie Richards 68ee87695b
Add clipboard provider configuration (#10839) 2024-11-20 16:06:23 -06:00
Mark Stosberg 239262e094
docs: Document what directory file_picker opens from (#10816) 2024-11-20 15:58:50 -06:00
Eduardo Rittner Coelho 23600e3ecb
Add correct source file for TypableCommandList (#11839)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-11-20 15:58:24 -06:00
Sam Kagan 287e412780
docs(keymap): add select_all_children (#11972)
Co-authored-by: Sam Kagan <skagan@nrao.edu>
2024-11-20 15:58:00 -06:00
Sebastian Dörner 3fd7ca334e
Add support for textproto language. (#11874) 2024-11-20 15:57:30 -06:00
Elliot Fontaine 38faf74feb
feat: Add support for cylc configuration files (#11830)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-10-30 13:39:24 -05:00
Sebastian Dall a1453350df
Adding snakemake to language (#11858)
* feat: snakemake language

* feat: snakemake syntax highlighting

* doc: xtask docgen - snakemake

* Addressed feedback: removed redundant grammar

* fixed indentation

* removed has-ancestor predicate

---------

Co-authored-by: “SebastianDall” <“semoda@bio.auu.dk”>
2024-10-18 23:12:36 +02:00
Ivan B. 5ab1f1eb5a
docs(themes): place `ui.highlight.frameline` and `ui.highlight` together (#11896)
* docs(themes): place `ui.highlight.frameline` and `ui.highlight` together

* docs(themes): small fix
2024-10-18 13:08:54 +09:00
langurmonkey 1437ba1e5a
Add glsl_analyzer as default language server for GLSL (#11891)
* Add glsl_analyzer as default language server for GLSL

* Generate docs
2024-10-18 11:17:25 +09:00
David Else f2d54db24f
Update repology URL after change from helix to helix-editor (#11877)
* Update repology URL after change from helix to helix-editor

* Update book/src/package-managers.md

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-10-16 01:53:59 +09:00
Christopher Kaster 048973fc55
Add support for dune project language (#11829) 2024-10-06 21:53:12 +02:00
offsetcyan e5dd60f794
Add Erlang Language Platform (ELP) support to Erlang (#11499)
* Add ELP LSP to Erlang

* generate docs

---------

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2024-09-30 11:06:45 +09:00
David Crespo 42453786a0
add key concepts to usage.md (#11485) 2024-09-30 11:06:24 +09:00
RoloEdits 24f24299f2
feat(languages): add `superhtml` as lsp for `html` (#11609) 2024-09-30 11:01:49 +09:00
chtenb 5ffd4ae529
Add undocumented keybindings to book (#11662) 2024-09-30 11:01:36 +09:00
chtenb 8cdce9212c
Improve tree-sitter-subtree (#11663)
* Make unnamed nodes visible in subtree view

* Refine command description

* Update generated docs

* Update unit test expected output
2024-09-30 10:59:31 +09:00
Thor 🪁 c850b90f67
add circom tree-sitter, syntax-highlighting, and lsp support (#11676)
* add circom tree-sitter and lsp support

* add circom syntax highlighting queries

* cargo xtask docgen

* updated highlights to reflect helix themes typing

* bugfix: ~= operator causing issues

* minor adjustment: add = and ; operator and delimiter
2024-09-21 19:13:02 +02:00
Nicolas Karolak a7b8b27abf
chore: add ruff and jedi lsp servers (#11630)
* chore: add ruff lsp server

Ruff provide a `server` command that starts a LSP server:
https://docs.astral.sh/ruff/editors/#language-server-protocol

* chore: add jedi lsp server

[jedi-language-server](https://github.com/pappasam/jedi-language-server) is a Python LSP server based the popular [jedi](https://jedi.readthedocs.io/en/latest/) library.

* docs: add ruff and jedi as python lsp servers
2024-09-18 12:12:31 +09:00
Jaakko Paju b90ec5c779
Add/improve textobject queries (#11513)
* Add textobject queries for YAML

* Add textobject queries for SQL

* Add textobject queries for HOCON

* Add textobject queries for git-config

* Add textobject queries for env

* Add textobject queries for Dockerfile

* Add textobject queries for docker-compose

* Add textobject queries for prisma

* Add entry textobject queries for hcl

* Add entry textobject queries for Nix

* Update docs
2024-08-17 19:27:50 +02:00
Samy AB 91e642ce50
Add gherkin syntax highlighting (#11083)
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2024-08-10 08:25:31 +09:00
Michael Davis 7e85fd5b77 Add documentation for static/typable/macro commands 2024-08-10 00:39:47 +09:00
Timothy Hutz bb43a90b86
removed duplicate in lang-support MD file with vector dedup. (#10563) 2024-08-10 00:36:47 +09:00
Kiara Grouwstra 3b306fa022
Update languages.toml - add nixd, closes #10734 (#10767) 2024-08-10 00:35:29 +09:00
chtenb e884daea41
Document completion menu bindings (#10994)
* Update keymap.md

* Update keymap.md

* Update keymap.md
2024-08-10 00:34:29 +09:00
Eduard Bardají Puig 779ce41a1f
Provide more details on runtime directory (#11026)
* Provide more details on runtime directory

* Improve pre-built binaries description
2024-08-10 00:34:18 +09:00
麦芽糖 aaaafb8f5f
feat: add thrift hightlight (#11367) 2024-08-10 00:26:58 +09:00
Val Packett 2f60c21727
Add jq language support (#11393)
jq is a language for manipulating JSON data: https://jqlang.github.io/jq/
2024-08-10 00:26:28 +09:00
Heath Stewart d6431f41d9
Add TypeSpec support (#11412)
* Add TypeSpec support

Adds support for TypeSpec <https://typespec.io> in helix.

* Resolve PR comments

* Pull in LICENSE

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-08-10 00:25:06 +09:00
Raph ca47b3c140
Added `mesonlsp` as the default LSP for Meson (#11416)
* defaulted meson to JCWasmx86/mesonlsp

* generated docs for mesonlsp
2024-08-10 00:23:42 +09:00
Erasin Wang b19551b11b
Updated Godot support (#11235)
- update gdscript highlights
- add godot-resource textobjects
2024-07-31 05:52:47 +09:00
麦芽糖 08ac37d295
Add theme keys for the picker header area (#11343)
* feat: pertty header

* 更新 themes.md

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-07-29 16:52:15 +02:00
Damir Vandic 9b65448f53
Fix example query in pickers.md (#11322)
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-07-25 16:23:08 -05:00
karei f34dca797c
Add support for `jjdescription` files (#11271) 2024-07-25 23:12:55 +09:00
Ryan Roden-Corrent 5d3f05cbe1
Document use of filter columns in pickers (#11218)
* Document use of filter columns in pickers.

Filtering on columns was implemented in #9647.
The only documentation I could find on this feature
was the PR itself, and the video demo used a different syntax.

* Note that column filters are space-separated.

* Note that picker filters can be abbreviated.

* Specify correct picker in docs.

* Clarify picker filter prefix shortenting.

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

* Move picker docs to their own section.

* Update book/src/pickers.md

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

* Improve docs on picker registers, keybinds, and syntax.

* Clarify wording around picker queries.

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

---------

Co-authored-by: Ryan Roden-Corrent <ryan@rcorre.net>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-07-24 18:25:00 +02:00
Trevor Gross 70a9477ec8
Add `:mv` as an alias for `:move` (#11256)
`mv` is the familiar shell command to move or rename a file. Add this to
Helix as an alias for `:move`.
2024-07-22 16:55:12 +02:00
Adam Perkowski 850c9f691e
Fixed headings (# / ##) to match other docs (#11192) 2024-07-16 12:29:00 +09:00
Masanori Ogino 6b947518c6
Regenerate documentation (#11196) 2024-07-16 12:27:45 +09:00
Pascal Kuthe 6d051d7084
render diagnostic inline 2024-07-15 16:35:30 +02:00
Michael Davis 9de5f5cefa
Picker: Highlight the currently active column
We can track the ranges in the input text that correspond to each column
and use this information during rendering to apply a new theme key that
makes the "active column" stand out. This makes it easier to tell at
a glance which column you're entering.
2024-07-15 10:03:35 -04:00
Michael Davis f40fca88e0
Refactor Picker in terms of columns
`menu::Item` is replaced with column configurations for each picker
which control how a column is displayed and whether it is passed to
nucleo for filtering. (This is used for dynamic pickers so that we can
filter those items with the dynamic picker callback rather than nucleo.)

The picker has a new lucene-like syntax that can be used to filter the
picker only on certain criteria. If a filter is not specified, the text
in the prompt applies to the picker's configured "primary" column.

Adding column configurations for each picker is left for the child
commit.
2024-07-15 09:31:31 -04:00
David Else 501af93c92
Documentation: Convert links in the `.desktop` file to absolute paths (#11115) 2024-07-12 03:16:55 +02:00
David Else d70f58da10
Fix multiple broken links in the documentation (#10953)
* Fix multiple broken links in the documentation

* Apply code review suggestion

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-06-18 10:43:36 +02:00
Hendrik Wolff 265608a3d8
Auto Save All Buffers After A Delay (#10899)
* auto save after delay

* configable

* clearer names

* init

* working with some odd behaviour

* working with greater consistency

* Apply reviewer suggestions

- Remove unneccessary field
- Remove blocking save

* Improve auto-save configuration

Auto save can be configured to trigger on focus loss:
```toml
auto-save.focus-lost = true|false
```

and after a time delay (in milli seconds) since last keypress:
```toml
auto-save.after-delay.enable = true|false
auto-save.after-delay.timeout = [0, u64::MAX] # default: 3000
```

* Remove boilerplate and unnecessary types

* Remove more useless types

* Update docs for auto-save.after-delay

* Fix wording of (doc) comments relating to auto-save

* book: Move auto-save descriptions to separate section

---------

Co-authored-by: Miguel Perez <miguelvojito@gmail.com>
Co-authored-by: Miguel Perez <perezoji@cs.fsu.edu>
2024-06-11 00:39:06 +02:00
Arturs Krumins aa1630a41a
Update Swift Grammar and Queries (#10802) 2024-06-07 12:29:42 -05:00
Zoey Hewll 44504b720b
add elisp support (#10644)
* add elisp support

* update queries for some constants
2024-06-07 13:02:27 +09:00
Dmitry Salin 889bbefeb3
Add support for Mojo (#10743)
* Add support for Mojo

* Update grammar

* Fix queries

* Fix docs

* Use inheritance for some files
2024-05-15 16:24:57 +02:00
Felix Richter 00e9e5eade
docs/src/package-managers: update nixos link to official wiki (#10718)
This commit updates the the link from the former, unofficial
nixos wiki page to the new https://wiki.nixos.org

ref: https://github.com/NixOS/foundation/issues/113
2024-05-10 06:43:07 +09:00
Aral Balkan f4a61006bf
Remove outdated comment about key binding being disabled (#10717)
I just used the `=` binding to format a selection in a CSS file in helix 23.10 (5931a46c) so removing this comment as outdated.
2024-05-08 21:49:44 +09:00
Yorick Peterse b437b8b0ee
Add support for Inko (#10656)
This adds formatting and Tree-sitter support for Inko
(https://inko-lang.org/).
2024-05-06 18:04:32 +02:00
Arthur D 295a9a95ce
feat: add support for gjs and gts (#9940) 2024-05-06 18:04:08 +02:00
David Else a959c0ef9b
Improve the structure of the documentation (#10619) 2024-05-06 17:39:06 +02:00
Guilherme Salustiano 50b13d1aea
docs[install/pre-build binaries]: add runtime setup (#10693) 2024-05-06 10:09:21 -05:00
Silvan Schmidt 7d1e5f18a2
fix: update link in adding_languages.md (#10677)
Previously, the link would point to the now moved "How to install the default language servers" page. The link now directly points to the up-to-date page.
2024-05-06 17:07:34 +02:00
Ryan Roden-Corrent 31273c69e0
Add completion/signature bindings to keymap.md (#10654)
* Add completion/signature bindings to keymap.md

PR #9974 added alt-p/alt-n keybindings to scroll through signatures.
This wasn't very discoverable, as it's not in the docs or the command palette.

This also removes a broken link for "comment mode" in the table of contents.

* Update keymap.md
2024-05-02 12:25:15 +02:00
TobiEiss d8701bfd1e
add textobjects queries for hurl (#10594)
* add textobjects queries comment and function

* update doc for hurl lang support

* switch entry.inner to entry.outer

* switch to function.inside

---------

Co-authored-by: Tobias Eiß <te@clarilab.de>
2024-04-29 18:17:46 +02:00
Erasin Wang 724a96abc8
Add pest support (#10616)
Support [pest-parser](https://github.com/pest-parser)

- [pest-language-server](https://github.com/pest-parser/pest-ide-tools)
- [tree-sitter-pest](https://github.com/pest-parser/tree-sitter-pest)

close #7878
2024-04-29 17:44:03 +02:00
Elizabeth bc03b6b5fe
Fixed ECMAScript private member highlighting (#10554) 2024-04-27 21:55:12 +02:00
Nuke 2209effb02
Update lang-support.md for new wiki page name (#10508)
The prior URL invites you to create a new wiki page. I think https://github.com/helix-editor/helix/wiki/Language-Server-Configurations is the correct place to point to now.

There might be more issues related to changes in wiki structure that are not caught by some CI link check because of this (it's a valid URL, just not what you want to direct to lol)
2024-04-19 10:26:04 +09:00
Blaž Hrastnik 8924691c5d minor: Update docs 2024-04-18 14:59:46 +09:00
Sean Perry 30baff907d
Implement read command (#10447)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Ibrahim Dursun <ibrahim@dursun.cc>
2024-04-17 17:57:57 -05:00
Rowan Lovejoy 7775b35cba
Add a warning in docs about conflicts with terminal default key bindings (#10380)
Add a warning about conflicts with terminal default key bindings.
2024-04-16 09:13:02 -05:00
Idobenhamo 68765f51c9
Support Typst 0.11 (#10321)
* Update the tree sitter to support Typst 0.11 and changed the lsp to Tinymist

* Fixed

* Added typst-lsp & tinymist

---------

Co-authored-by: Idobenhamo <idobenhamo@users.noreply.github.com>
2024-04-16 16:00:13 +02:00
Alexis-Lapierre 8256ca7bc3
Add support for Xena OpenAutomation files (#10448)
Add support for .xtc/.xoa/.xpc files

* XTC stand for Xena Traffic Configuration
* XOA stand for Xena OpenAutomation
* XPC stand for Xena Port Configuration

Theses three file time seems to be the most common file extension I
encountered in the wild
2024-04-16 15:33:50 +02:00
Alexander Brevig 009a5498ca
add LDIF support (#10330)
* feat(lang): add LDIF support

* style: no unnecessary glob

* Update runtime/queries/ldif/highlights.scm

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-04-11 17:17:44 +02:00
Valentin B b8ddb2f114
feat(solidity): add textobject queries for solidity (#10318)
* feat: add textobject queries for solidity

* feat(solidity): add parameter textobject query for call expressions

* feat(solidity): add more textobject queries for parameters

* feat(solidity): add yul function textobject query

* feat(solidity): add textobject query for emit statement arguments

* feat(solidity): add textobject query for revert call arguments

* feat(solidity): update tree-sitter grammar and fix typo

* docs: update auto-generated docs

* fix(solidity): fix identifiers highlight query priority

* feat(solidity): add "abstract" to keywords list

* feat(solidity): add highlight query for type alias

* feat(solidity): add variable builtin highlight queries
2024-04-09 16:42:51 +02:00
Evgeniy Tatarkin 07cb24abdd
Respect lsp definition order for code actions (#9590) 2024-04-09 09:28:54 -05:00
Alexander Brevig be8afe1bfe
chore: remove unused xtask themelint (#10294)
* chore: remove unused xtask themelint

* chore(clippy): remove unused themes
2024-04-08 18:15:31 +02:00
Gary Miller 0da809c981
feat: Add ADL language support (#10029)
* feat: Add ADL language support

* removed error match & change captures to match https://docs.helix-editor.com/master/themes.html\#syntax-highlighting

* fixes to grammar, highlight changes based on PR and grammar fixes
2024-04-08 04:45:20 +02:00
Matthew Toohey a2ee2e66f2
Add koka language server and update grammar (#10119) 2024-04-05 18:53:07 +09:00
Eloi Torrents 88f2931153
Add tcl highlighting (#9837)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-04-04 03:31:00 +02:00
Gaëtan Lehmann 226b2755fb
add earthfile language configuration (#10111) 2024-04-03 10:30:15 +09:00
woojiq cc8290f393
show newest options in jumplist picker first, fix docs (#10095)
* docs: mention `<space>g` changed file picker

* picker(jumplist): show jumps in order from latest to oldest
2024-04-02 16:39:44 +02:00
Jonathan LEI a224ee5079
Changed file picker (#5645)
Co-authored-by: WJH <hou32hou@gmail.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-03-31 17:36:28 -05:00
Daniel S Poulin 1abb64e48d
Add textobject for entries/elements of list-like things (#8150) 2024-03-31 11:53:15 -05:00
Pascal Eberhard 9a80f7203d
add initial support for bitbake language (#10010)
Signed-off-by: Pascal Eberhard <pascal.eberhard@se.com>
2024-03-31 14:16:19 +02:00
Yomain d4b467090b
doc: small formatting corrections (#9986) 2024-03-26 01:08:42 +01:00
Quentin 614a744d24
Add narrow no-break space support (#9604) 2024-03-25 10:29:36 +09:00
Novus Nota 2d9e336f64
feat: Add `Ohm` language support (#9991)
* feat: Add `Ohm` language support

Hope this commit makes it into release :)

* Update runtime/queries/ohm/highlights.scm

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

* chore: final newline

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-03-24 23:30:59 +01:00
Pascal Kuthe b46064b8c4 Add an Amp-like jump command
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-03-23 15:35:25 +09:00
Jaakko Paju d5c2973cd1
Fix repeat last motion for goto next/prev diagnostic (#9966) 2024-03-23 15:25:08 +09:00
Arthur Deierlein 427dd2f383
Add support for ember.js templates (#9902)
* feat: add support for ember .hbs (glimmer) templates

* adjust highlights to helix

* highlight this correctly in block statements

* correctly highlight attributes

* correctly highlight hash_pair

* add newline to highlights.scm

* refactor: use #any-of and #eq instead of #match

* chore: add newline to languages.toml
2024-03-19 17:26:50 +01:00
Arthur Deierlein 4b4947639a
feat: add suport for helm charts (#9900) 2024-03-19 15:07:44 +01:00
Damian Zaręba 485c5cf0b8
Initial Ada language support (after stale) (#9908)
* Adding initial support for ada language, based off #7790 PR from tomekw

* More translation to helix-specific tree-sitter scm labels, add ada gpr switch to ada LSP

* Generate ada in lang-support.md using cargo xtask docgen

* Update tree-sitter definitions according to comments

* Remove .gpr glob from languages.toml

* Fix unit in languages.toml for ada, update locals.scm to helix needs
2024-03-19 13:28:15 +01:00
Arthur Deierlein 0b6dea6dc2
Enhance support for PKGBUILDS (#9909)
* enhance support for PKGBUILDS

* run cargo xtask docgen
2024-03-19 13:27:46 +01:00
Jaakko Paju 58022586a0
Add yaml LSP for docker compose (#9916)
* Add yaml LSP for docker compose

* Change docs
2024-03-18 20:39:32 +01:00
Matthew Toohey 2e4653ea31
add koka language support (#8727)
Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
2024-03-18 13:14:10 +01:00
Phil 94d210c9bf
Add initial support for SuperCollider (#9329) 2024-03-18 13:13:23 +01:00
Joey Hain 476e6baf8f
Add textobject queries for vala (#8541) 2024-03-18 00:11:28 +01:00
Leonardo Eugênio d99b6177c2
Add blade support (#9513)
* Add php-only language config and queries

php-only is required enabling php injections like in blade templates

* Add blade templates support
2024-03-18 00:07:09 +01:00
Jonas De Vuyst 0301d01e78
Fix URL in doc chapter about Textobject queries (#5773)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-03-17 23:56:17 +01:00
Dan Cardamore 3890376a23
add 'file-absolute-path' to statusline (#4535)
* feat: add 'file-abs-path' to statusline (#4434)

* cleanup implementation

* rename to be non-abbreviated names

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-03-17 23:55:49 +01:00
George "Riye" Hollister e36774c2c8
Add Support for JSONC (#9906)
* Added `jsonc` language with support for comments

The `vscode-json-language-server` accepts `jsonc` as a language id.
Allowing the use of comments within JSON files.

* fix: Update `injdection-rejex` to be unique

* fix: use includes to remove redundant queries

* ci: Generate language-support docs
2024-03-17 23:54:05 +01:00
Arthur Deierlein 9ec0271873
Add support for hyprland config (#9899)
* feat: add hyprland config language

* adjust indents to helix

* adjust highlights to helix
2024-03-17 23:53:30 +01:00
Kirawi 0c51ab16d0
Add a yank diagnostic command (#9640)
* yank diagnostic command

* improve success message

* move to a typed command

* docgen
2024-03-15 17:38:22 +01:00
Matthew Toohey e3c6c82828
add linker script language (#9835) 2024-03-09 16:59:56 +09:00
Chris 301dfb07cc
Add PowerShell highlighting (#9827) 2024-03-07 23:39:00 +01:00
Michael Davis 5ca6a448e9
Support LSP diagnostic tags (#9780) 2024-03-02 13:37:11 +09:00
Felix Zeller 062fb819a2
feat: Add markdown-oxide language server (#9758) 2024-03-01 09:10:49 -06:00
Dawid Ciężarkiewicz 44db25939c
Document embracing smart-tab navigation. (#9762)
Re #4443
2024-03-01 02:57:31 +01:00
Gabriel Dinner-David 26b3dc29be
toggling of block comments (#4718) 2024-02-27 22:36:25 +09:00
巢鹏 358ac6bc1f
add fidl support (#9713) 2024-02-27 01:41:50 +01:00
Volodymyr Chernetskyi 990378a46b
Add Groovy grammar (#9350)
* Add Groovy grammar

* Rewrite Neovim captures into Helix for Groovy

* Simplify Groovy injections

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

* Remove Neovim's spell from Groovy highlights

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

* Apply suggestions to languages.toml

* Escape backslash in groovy highlights.scm

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-02-19 18:37:02 +01:00
Jaakko Paju ebf155d635
Add textobject queries for HCL (#9658)
* Add textobject queries for HCL

* Add to lang-support.md
2024-02-19 00:46:32 +01:00
Jaakko Paju 2dc9ce68ec
Add textobject queries for Nix (#9659)
* Add textobject queries for Nix

* Add to lang-support.md
2024-02-19 00:46:13 +01:00
Malpha c72426cc87
Add docker-compose language (#9661)
* languages: add docker-compose language

it uses docker-compose-langserver as lsp
And yaml for syntax highlighting, indents and injections

* languages: add luajit as a shebang of lua

This helps to provide syntax highlighting and
other lua goodies when writing luajit

* book(update): run cargo xtask docgen

* since #8006 full filenames uses glob
2024-02-19 00:19:44 +01:00
AlexanderDickie 9ab3f9d01a
Scroll cursor and page together (neovim-like scrolling) (#8015)
* neovim like scroll function

* clear line annotations outside of move_vertically/_visual

* add nvim scroll function to commands

* assign nvim-scroll to C-d and C-u (half page scrolls)

* dont remove backspace and space mapping

* move non-softwrap logic to seperate function, call this in nvim-scroll fn

* Revert "move non-softwrap logic to seperate function, call this in nvim-scroll fn"

This reverts commit e4905729c3.

* Revert "clear line annotations outside of move_vertically/_visual"

This reverts commit 1df3fefe55.

* add TODO for when inline diagnostics gets merged

* move nvim-scroll logic into scroll(), dont respect scrolloff

* run cargo fmt

* run cargo clippy

* update documenation for Ctrl-d and Ctrl-u remap
2024-02-19 00:13:04 +01:00
Mark Stosberg 0516337abb
docs: Document that what the `diff` gutter symbol does (#9587)
Before there was no document about what the `diff` gutter is displaying
or what the colors mean.

These docs clarify it's a `git` diff and makes it easier to
cross-reference the theme if you aren't sure what the colors mean or
want to change them.
2024-02-13 01:48:10 +09:00
iko d7c7589fd5
Add Hoon (#9190)
* Added Hoon

* Added highlights.scm

* Updated docs

* Update runtime/queries/hoon/highlights.scm

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-02-12 16:36:14 +01:00
ontley 6a90166d0a
Add required-root-patterns for situational lsp activation (#8696)
* Added required-root-patterns for situational lsp activation using globbing

* Replaced filter_map with flatten

* updated book to include required-root-patterns option

* fixed wrong function name for path

* Added globset to helix-core. Moved globset building to config parsing.

* Normalize implements AsRef

* cargo fmt

* Revert "cargo fmt"

This reverts commit ca8ce123e8.
2024-02-12 02:35:25 +01:00
Jimmy Zelinskie d9f7aaacaf
languages: add CEL, SpiceDB schema language (#9296)
* languages: add CEL language and grammar

* languages: add spicedb schema language

* chore: docgen

* runtime/queries: refine spicedb & cel highlights

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

* languages: update spicedb

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-02-12 02:28:52 +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
Android789515 d570c29ce3
expand upon the arch linux install instructions (#9574)
Signed-off-by: Android789515 <derflug@mailfence.com>
2024-02-09 08:29:11 -06: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
melted-brownie 2058b3732c
Add text object queries for dart (#9411)
* Add text object queries for dart

* Update runtime/queries/dart/textobjects.scm

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

* Clean up internal capture name

---------

Co-authored-by: Sébastien Blondiau <sebastien.blondiau@iot-d.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-01-23 18:27:09 +01:00
Pascal Kuthe 8e592a151f refactor completion and signature help using hooks 2024-01-23 11:20:19 +09:00
woojiq 52a43bcdfc
bash, make, css: highlight and indent queries improvement (#9393)
* highlights(bash): rework keywords section

* Use more specified scope when possible for keywords like @keyword.repeat.
* Add more keywords like "local" or "unsetenv".

Limitation:
* Bash doesn't allow you to have a local variable outside of a function, so maybe we need to have better queries to not highlight the local in this case.
* If we name a function with a keyword (such as unset or local), it will use the highlight scope "keyword" instead of "function".

* indents(css, make): add basic queries

* Despite the fact that queries look simple, they improve indentation in some edge cases that helix couldn't handle correctly by default.
2024-01-22 19:51:12 +01:00
JR 6ce57b7924
Fix export instructions in installation doc (#9306) 2024-01-15 21:43:23 +01:00
Michael Davis 3011df4f35
Bump tree-sitter to latest master (#9317)
* query capture names now return `&str`s rather than `String`s
* the `#any-of?` predicate is now supported
2024-01-15 15:33:26 +09:00
NitinKM e46fb58595
Info on how to skip grammar build when building from source (#8698)
* info: no grammar compile

Added instructions on how to compile without compiling grammars

* Update book/src/install.md

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-01-08 03:46:53 +01:00
jw013 00d681cc69
Update goto_file docs (#8563) (#9001)
Make the pluralization of files and selections consistent to emphasize
the 1-to-1 relation between files and selections. The prior wording
with plural "files" and singular "selection" can mislead users into
thinking the command can open multiple files from a single selection.
2024-01-08 03:11:18 +01:00
Ryan Roden-Corrent c8e58304bf
Add textobject queries for protobuf grammar. (#9184)
Given `message Foo {string s = 1;}`
- `mat` selects `message Foo {string s = 1}`
- `mit` selects `{string s = 1;}`

Given `service SearchService { rpc Search(Req) returns (Resp); }
- `mit` or `mat` selects `Req` or `Resp`
- `mif` or `maf` selects `rpc Search(Req) returns (Resp);`
- `mit` selects { rpc Search(Req) returns (Resp); }`
- `mat` selects `service SearchService { rpc Search(Req) returns (Resp); }`
2024-01-08 03:08:41 +01:00
Jaakko Paju 73deba7044
Add textobject queries for Scala (#9191) 2024-01-08 03:05:10 +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
Pascal Kuthe 8653e1b02f Add config to mark diagnostic sources as persistent 2023-12-27 15:28:14 +09:00
Evan Richter a98b8ddd1a
add smali language support (#9089) 2023-12-20 00:31:27 +01:00
ath3 9ba691cd3a
Support drawing popup frame (#4313)
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2023-12-19 10:17:12 +09:00
0rphee 0a83d85124
Add haskell-language-server as lsp for cabal files (#9111) 2023-12-19 10:05:55 +09:00
Novus Nota a1a20d231f
book: Describe usage of `.ignore` and helix-specific ignore files in `[editor.file-picker]` section (#9102) 2023-12-17 22:40:29 +01: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
TornaxO7 914c83420b
fix `:indent-style` crash (#9087)
* removing unreachable statement in `:indent-style`

* update checks when setting indent line and update docs

* `cargo xtask docgen`
2023-12-15 19:05:04 +01:00
Daniel Ebert 723a132bdf Simplify implementation of `add_indent_level`.
Increase hybrid indent heuristic attempt limit to 4.
Clarify the fallback logic in indent heuristic docs.
2023-12-15 15:59:54 +09:00
Daniel Ebert a5acfdbf10 Add documentation for new indent computation 2023-12-15 15:59:54 +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
Valerii Petryniak 7c55190806
Update keymap.md: improve grammar (#9069)
* Update keymap.md: improve grammar

* Update keymap.md

Co-authored-by: David Else <12832280+David-Else@users.noreply.github.com>

---------

Co-authored-by: David Else <12832280+David-Else@users.noreply.github.com>
2023-12-13 17:37:12 +01:00
Tshepang Mbambo 86023cf1e6
use canonical name (#8960)
I do not find anywhere where the option omits the 's'
2023-12-01 14:07:31 +09:00
Tudyx f8d261cd20
add log tree-sitter (#8916)
* add log tree-sitter

* better highlight queries
2023-11-29 02:42:59 +01:00
chtenb 8c68074fa6
Fix precedence of ui.virtual.whitespace (#8879)
* Revert "Revert "Fix precedence of ui.virtual.whitespace (#8750)""

This reverts commit 811d62d3b3.

* Fix ui.text overwriting the syntax highlighting

Adjust ui.text description
2023-11-25 14:27:31 +01: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
chtenb db83eb0c50
Document the bufferline scopes (#8880)
* Document the bufferline scopes

* Update book/src/themes.md

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

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2023-11-22 14:07:26 +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
WuerfelDev 2579bca21c
Book: fix formatting of some default values (#8837) 2023-11-18 00:34:17 +01:00
Luca Saccarola 5889b81fc7
docs: add docs for soft-wrap in languages.toml (#8836) 2023-11-17 15:57:15 -06:00
Seth Maurice-Brant 73ca2d5f84
Change Fedora installation to the new official Helix package (#8762)
Remove COPR install in favour of official Helix package
2023-11-17 15:54:30 -06:00
Triton171 cb0bc25a9f
Add indent queries for scheme (and reuse them for common-lisp & racket). (#8720) 2023-11-08 20:53:07 +01:00
Yomain e868678139
Add command to move files with LSP support (#8584)
* Added rename command

* Added an error if the new path already exists

* Fixed wrong command name being used

* fixed clippy suggestions

* removed didRenameFiles call, fixed early return due to path Err

* added ':rnm' alias to ':rename'

* code cleanup

* formatting

* removed debug line

* cargo fmt

* Improved new buffer error message

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

* Removed unnecessary path normalizing

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

* Update helix-term/src/commands/typed.rs

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

* Update helix-term/src/commands/typed.rs

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

* Update helix-term/src/commands/typed.rs

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

* Update helix-term/src/commands/typed.rs

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

* feat: change `rename` command to `move`

* feat: add multi lsp support when moving files

* feat: allow lsp calls with a custom timeout

* feat: sending lsp file_changed event once file has moved

---------

Co-authored-by: ontley <theontley@gmail.com>
Co-authored-by: ontley <67148677+ontley@users.noreply.github.com>
Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de>
2023-11-08 12:38:17 -06:00
Skyler Hawthorne 10b178e94b
swap yank command registers (#8708)
#8703 swapped the `+` and `*` registers, but did not swap them in the
corresponding yank commands.
2023-11-04 09:35:38 +09:00