Commit Graph

6905 Commits (e79005ebabbb051049eef1cb435b264f35c854ee)

Author SHA1 Message Date
Grey e773d6cc92
feat: add luau grammars and lsp (#13702)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-06-08 15:21:08 -04:00
Michael Davis 633c5fbf0f
Update language loader before refreshing theme in `:config-reload`
Since locals are handled during parsing instead of highlighting with
tree-house, we need to call `helix_core::syntax::Loader::set_scopes`
before parsing any documents. During `:config-reload` we previously
reloaded the `Loader` and re-parsed documents and _then_ updated the
theme. So documents were parsed before `Loader::set_scopes` was called
on the new loader.

With this change the `refresh_language_config` helper is inlined into
`refresh_config`. Updating the `Editor`'s `ArcSwap` of the loader is
done before updating the theme so that the `load_configured_theme`
helper can call `set_scopes` with on the new loader.
2025-06-08 15:05:22 -04:00
Tan Kian b75e95862c
Add Pyrefly language server (#13713) 2025-06-08 15:01:01 -04:00
Michael Davis f4b488e380
Remove unused `helix_core::graphemes::is_grapheme_boundary`
This function was never used and will be superseded by
`RopeSliceExt::is_grapheme_boundary` (which accepts a byte index rather
than a character index) once we transition to Ropey v2. In the meantime
any callers should convert to byte index and use the `RopeSliceExt`
extension rather than form new dependencies on this.
2025-06-06 18:24:44 -04:00
Michael Davis 7410fe35a3
Update tree-house and bindings to v0.2.0 2025-06-06 17:14:08 -04:00
Axlefublr 637274c4d4
Add `rotate_selections_{first,last}` commands (#13615) 2025-06-06 15:08:41 -05:00
Michael Davis 01341cbbf6
minor: Add missing call to `Vec::clear` for a buffer 2025-06-06 12:23:22 -04:00
Michael Davis b1f4717356
Allow multiple `#not-kind-eq?` predicates in indent queries
This fixes a regression from the switch to tree-house with one of the
custom predicates in indent queries: `#not-kind-eq?`. This predicate
should be allowed to be written multiple times in a pattern. For example
in the Go indents:

    ; Switches and selects aren't indented, only their case bodies are.
    ; Outdent all closing braces except those closing switches or selects.
    (
        (_ "}" @outdent) @outer
        (#not-kind-eq? @outer "select_statement")
        (#not-kind-eq? @outer "type_switch_statement")
        (#not-kind-eq? @outer "expression_switch_statement")
    )

So instead of an `Option<T>` of one we need a `Vec<T>` and we need to
check that all of these predicates are individually satisfied (basically
`iter().all(/* node kind is not expected kind for that capture */)`).
2025-06-06 12:14:43 -04:00
Michael Davis 25b299abc5
queries: Recognize methods as a locals scope
This fixes a bug in highlighting parameter variables in Go methods.
See <https://redirect.github.com/helix-editor/helix/issues/13674#issuecomment-2935514099>
2025-06-06 11:48:18 -04:00
Michael Davis 4dd4ba798c
Update tree-sitter-rust-format-args
Update repo name and move to latest commit which includes a license
2025-06-06 11:21:26 -04:00
Skyler Hawthorne ca4ae7f287
set working dir of the lsp command to workspace root (#13691) 2025-06-06 10:16:36 -05:00
Matt Conway d375f1e7f4
syntax: add grammar and highlighting for the alloy config lang (#13660) 2025-06-06 10:02:30 -05:00
Michael Davis 8d2870b94a
Reuse content buffer in JSONRPC recv for LSP and DAP
Previously `recv` for new messages from the language server or debug
adapter allocated a fresh Vec for each message. Instead we can reuse
the buffer. This resolves TODO comments.

Co-authored-by: Rolo <roloedits@gmail.com>
2025-06-06 10:19:33 -04:00
Matt Paras 8eae56f548 merge latest from master 2025-06-05 22:54:31 -07:00
Matt Paras f40100a0cd dont lock the engine when grabbing the docs 2025-06-05 21:35:27 -07:00
Matt Paras 6f4b41c9e8 keep component functions alive for the duration of the life cycle, skip rendering if the function is actually a bool 2025-06-05 16:17:27 -07:00
Piotr Kwarciński 82dce7a650
ViewID equality (#30) 2025-06-05 12:46:48 -07:00
Matt Paras e2b81a2ebe punch out some more docs 2025-06-04 19:25:21 -07:00
Michael Davis f6878f62f7
Set enableDiagnostics in prisma-language-server config
Without this key `prisma-language-server` currently crashes during
initialization. See #13662.
2025-06-03 10:08:49 -04:00
Ryan Mehri 6c43dc4962
fix: trim whitespace up to the last selection on insert_newline (#13673) 2025-06-03 08:45:19 -05:00
Matt Paras ba1fdac4e2 use inferred steel lsp home location 2025-06-02 18:01:15 -07:00
dependabot[bot] 1ea9050a5e
build(deps): bump the rust-dependencies group with 2 updates (#13676)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-02 18:27:22 -05:00
Matt Paras fe2ab3565f fix theme api 2025-06-01 16:18:23 -07:00
Matt Paras 3149754e85 bake in a high level theme api 2025-06-01 16:11:36 -07:00
Matt Paras f032f188d9 no longer install via git submodule, just use cargo install 2025-06-01 14:43:49 -07:00
Matt Paras bc01dda33a check if a document has been modified 2025-05-31 10:07:13 -07:00
Nik Revenco 2baff46b25
fix: Some Incorrect Rust highlights (#13657)
Co-authored-by: Nik Revenco <154856872+NikitaRevenco@users.noreply.github.com>
2025-05-31 09:43:19 -05:00
Jonas Köhnen 921ca08e1b
highlights/go: fix locals clashing with variable.other.member (#13644) 2025-05-31 09:41:19 -05:00
Jeff Bencin 17fb12bcf3
feat: Add Clarity language support (#13647) 2025-05-31 09:11:16 -05:00
Michael Davis 67f1fe20c3
Fix command line completion replacement for quoted items
With a directory with spaces in the name (for example
`mkdir -p 'Temp/Abc Def'`), completing `Temp/Ab` would create a
completion item `'Temp/AbAbc Def'`. Now it correctly completes
`'Temp/Abc Def'`
2025-05-31 09:56:54 -04:00
Matt Paras 01cfd2e6d4 update steel 2025-05-30 20:40:13 -07:00
Matt Paras 9f581f802b update steel, add new time primitives 2025-05-30 17:23:20 -07:00
Matt Paras c7273d754c add document saved hook 2025-05-29 21:34:47 -07:00
Michael Davis 8961ae1dc6
Consistently use `helix_core::config::default_{lang,config}_loader`
This avoids using any custom configuration in a user-defined
`languages.toml` config for the syntax test cases. The test cases should
only use the builtin `languages.toml` config.

Also the xtask crate reimplemented `default_lang_loader` and
`default_lang_config`. These functions are replaced with calls into
`helix_core`.
2025-05-29 09:55:26 -04:00
Tino 3366db0afb
Add Ty language server (#13643) 2025-05-29 08:34:23 -05:00
Erasin Wang 733ebcdaeb
Add file indentation style for statusline (#13632) 2025-05-29 08:20:22 -05:00
Matt Paras b321252da4 update steel 2025-05-28 21:20:02 -07:00
Matt Paras d7bdac1ee7 add generated docs 2025-05-28 06:39:15 -07:00
Matt Paras 977fc9e786 add dynamic option config 2025-05-28 06:38:00 -07:00
Matt Paras c1da27bbab add missing bufferline option 2025-05-28 06:10:57 -07:00
Matt Paras 0d509d619b update steel 2025-05-27 20:38:54 -07:00
Matt Paras b3d55c0ce9 clean up 2025-05-27 20:28:50 -07:00
Matt Paras 863cf60422 speed up the keymap api 2025-05-27 20:27:21 -07:00
CalebLarsen 2bd7452fe0
Make signature_help more like hover, fix overflow and lack of scrolling in signature_help (#13566)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-05-27 10:18:12 -05:00
CalebLarsen 7dcddf98c6
Append changes to history on jumps (#13619)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-05-27 09:44:47 -05:00
dependabot[bot] c9e7b0f84f
build(deps): bump the rust-dependencies group with 2 updates (#13621)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 08:39:15 -05:00
Matthew Paras c5bd4518e1
Merge pull request #29 from piotrkwarcinski/exp-picker-fix
Fix call to exp-picker callback
2025-05-26 13:50:44 -07:00
piotrkwarcinski 85e83d9d9a Fix call to exp-picker callback 2025-05-26 22:14:55 +02:00
Axlefublr 2fbe7fc5b5
fix(doc): missing capitalization of `goto_{next,prev}_tabstop` (#13616) 2025-05-26 08:48:32 -05:00
Zhaith Izaliel 12523cd126
fix: fix support for grammar overlays and include predicate (#13603) (#13613) 2025-05-26 08:47:14 -05:00