Commit Graph

112 Commits (8db6fffe90514e38beaf60138c1a8fb8a83ef04c)

Author SHA1 Message Date
CossonLeo 29e6849413
Add LSP rename_symbol (space-r) (#1011)
improve apply_workspace_edit
3 years ago
Ivan Tham 49f6c2623f
Bump lsp-types to 0.91.0 (#932) 3 years ago
Midnight Exigent eedcea7e6b
Allow `language.config` (in languages.toml) to be passed in as a toml object (#807)
* allow language.config (in languages.toml) to be passed in as a toml object

* Change config field for languages from json string to toml object

* remove indents on languages.toml config

* fix: remove patch version from serde_json import in helix-core

* Use same tree-sitter-zig as upstream/master
3 years ago
Kirawi ef532e0c0d
log errors produced when trying to initialize the LSP (#746) 3 years ago
Blaž Hrastnik bb47a9a0b8 fix: Fix regression where formatting would fail on null response 3 years ago
Blaž Hrastnik be81f40df8 lsp: This doesn't need to be a mutable reference 3 years ago
Blaž Hrastnik 37606bad47 lsp: doc.language_server() is None until initialize completes 3 years ago
Blaž Hrastnik 46f3c69f06 lsp: Don't send notifications until initialize completes
Then send open events for all documents with the LSP attached.
3 years ago
Blaž Hrastnik 2793ff3832 lsp: SyncKind::Full: we need to send the whole document on each change 3 years ago
Blaž Hrastnik 48fd4843fc lsp: Outdated comment 3 years ago
Blaž Hrastnik 800d79b584 ls: Refactor textDocument/didSave in a similar vein 3 years ago
Blaž Hrastnik 184637c55a lsp: refactor format so we stop cloning the language_server 3 years ago
Blaž Hrastnik 8744f367bd wip 3 years ago
Blaž Hrastnik 5a558e0d8e lsp: Delay requests & notifications until initialization is complete 3 years ago
Blaž Hrastnik c3a58cdadd lsp: Refactor capabilities as an async OnceCell
First step in making LSP init asynchronous
3 years ago
Blaž Hrastnik 41f1e8e4fb fix: lsp: Terminate transport on EOF
If stdout/stderr is closed, read_line will return 0 indicating EOF.
3 years ago
Blaž Hrastnik fe17b99ab3 fix: lsp: Don't consume \n\n as a single newline 3 years ago
Blaž Hrastnik 57ed5180e0 lsp: Improve line ending handling when generating TextEdit 3 years ago
Blaž Hrastnik 847d1fa496 fix: Work around crashes on LSPs that don't just emit JSON-RPC 3 years ago
Blaž Hrastnik 7eff905680 lsp: slightly refactor header parsing, add more logging 3 years ago
Timothy DeHerrera ed8c3e6574
don't panic on defunct lsp process (#583) 3 years ago
Blaž Hrastnik 385a6b5a1a lsp: Refactor duplex to avoid issues with select! + read_exact
read_exact isn't cancellation safe.

Fixes #504
3 years ago
Grzegorz Baranski 48e344a2a8
feat: code actions - document edits (#478)
* wip: Code actions

* fix(term): use current macro instead Context::context

* feat(lsp): set code_action capabilities

* feat(term): set SPC-a to code_action

* feat(term): wip on applying code actions

* deps: `cargo update`

* feat(term): applying code actions edits

* fix(term): cleanup of apply_edit

* fix(term): applying edits as a whole thing instead one by one

* refactor(term): move apply_edits below

* fix(term): improve unimplemented messages for further investigation

* fix(term): change code action command comment

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* fix(term): add matching `}`

* fix(term): cleanup, todo!() on workspace edit

* fix(term): remove unrelated workspace_symbol_picker

* fix(term): apply cargo-clippy suggestions

* fix(term): replace todo!'s with editor.set_error

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Cor Peters 0aa43902ca
Added option to provide a custom config file to the lsp. (#460)
* Added option to provide a custom config file to the lsp.

* Simplified lsp loading routine with anyhow

* Moved config to language.toml

* Fixed test case

* Cargo fmt

* Revert now-useless changes

* Renamed custom_config to config

Co-authored-by: Cor <prive@corpeters.nl>
3 years ago
Joe Neeman c9be480bf8 Make formatting happen asynchronously. 3 years ago
Blaž Hrastnik cad14c6b46 Address nightly clippy warnings 3 years ago
Blaž Hrastnik a70de6e980
Merge pull request #224 from helix-editor/line_ending_detection
Line ending detection
3 years ago
wojciechkepka cc357d5096 Add progress spinners to status line 3 years ago
Nathan Vegdahl 4efd6713c5 Work on moving code over to LineEnding instead of assuming '\n'.
Also some general cleanup and some minor fixes along the way.
3 years ago
wojciechkepka dd0af78079 Fix unwraps in lsp::transport 3 years ago
wojciechkepka c2aad859b1 Handle language server shutdown with timeout 3 years ago
wojciechkepka d095ec15d4 Reenable `work_done_progress` capability 3 years ago
wojciechkepka 38cb934d8f Add unique id to each lsp client/server pair 3 years ago
wojciechkepka 80b4a69053 Update `client::reply` to be non async 3 years ago
wojciechkepka a6d39585d8 Add `work_done_token` as parameter to lsp methods 3 years ago
wojciechkepka 52fb90b81e Add `MethodCall`, `ProgressStatus`, `LspProgressMap` 3 years ago
Robin 9baf1ecc90
add symbol picker (#230)
* add symbol picker

use the lsp document_symbol request

* fix errors from merging in master

* add docs for symbol picker
3 years ago
Wojciech Kępka c754df12b3
lsp: Check bounds when converting lsp positions (#204)
* lsp: Make position conversion funcs return `Option`

* Add tests

* Fixes

* Revert pos_to_lsp_pos to panic
3 years ago
Blaž Hrastnik a8a5bcd13d
Temporarily disable workDone
Blows up on gopls because we don't handle receiving window/workDoneProgress/create method calls
3 years ago
Wojciech Kępka 098806ce2a
lsp: Display LSP progress messages (#216) 3 years ago
Ivan Tham 7cc13fefe9 Derive debug without feature
Note that this also removed those `finish_non_exhaustive()`.
3 years ago
notoria 1a3a924634 Implement Debug for data structure as a feature 3 years ago
Egor Karavaev ea6667070f helix-lsp cleanup 3 years ago
Egor Karavaev 960bc9f134 Don't panic on LSP not starting 3 years ago
Blaž Hrastnik 8d6fad4cac lsp: Provide workspace root on client.initialize() 3 years ago
Egor Karavaev d55419604c Remove select_all implementation 4 years ago
Blaž Hrastnik e4ff75b4d4 Add :fmt (formats the whole file). 4 years ago
Blaž Hrastnik 6c705f09e8 Lint 4 years ago
Blaž Hrastnik caf4349925 Remove some of the panics, just log instead. 4 years ago
Blaž Hrastnik fd4fd12fa3 clippy lint 4 years ago