Commit Graph

68 Commits (a1228e0aa1757e5c15da18be4ff2920c93454eec)

Author SHA1 Message Date
Blaž Hrastnik bb47a9a0b8 fix: Fix regression where formatting would fail on null response 3 years ago
Blaž Hrastnik 37606bad47 lsp: doc.language_server() is None until initialize completes 3 years ago
Blaž Hrastnik 2793ff3832 lsp: SyncKind::Full: we need to send the whole document on each change 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 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
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
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 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
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
4 years ago
Blaž Hrastnik a8a5bcd13d
Temporarily disable workDone
Blows up on gopls because we don't handle receiving window/workDoneProgress/create method calls
4 years ago
Wojciech Kępka 098806ce2a
lsp: Display LSP progress messages (#216) 4 years ago
Ivan Tham 7cc13fefe9 Derive debug without feature
Note that this also removed those `finish_non_exhaustive()`.
4 years ago
notoria 1a3a924634 Implement Debug for data structure as a feature 4 years ago
Egor Karavaev ea6667070f helix-lsp cleanup 4 years ago
Egor Karavaev 960bc9f134 Don't panic on LSP not starting 4 years ago
Blaž Hrastnik 8d6fad4cac lsp: Provide workspace root on client.initialize() 4 years ago
Blaž Hrastnik fd4fd12fa3 clippy lint 4 years ago
Blaž Hrastnik ba97005495 Work around the rest of the blocking issues. 4 years ago
Blaž Hrastnik d00414f81a Start moving more LSP calls into callbacks/futures without capturing self 4 years ago
Blaž Hrastnik 355ad3cb82 Tokio migration. 4 years ago
Blaž Hrastnik 3e5f24a9d5 lsp: support both utf-8 and utf-16 offsets.
Still need to implement the clangd encoding negotiation, but it's
a start. Should also manually override to utf8 for pyls.
4 years ago
Blaž Hrastnik 5aed1f3c00 lsp: Gracefully fail if binary doesn't exist. 4 years ago
Blaž Hrastnik 0e9ecccfc1 clippy: Drop or-patterns for now because they're not on stable rust yet 4 years ago
Blaž Hrastnik ceea5eacd8 clippy lint 4 years ago
Blaž Hrastnik 2a3910c1d9 wip: Async async. Delay response handling with a callback. 4 years ago
Blaž Hrastnik 9a36d2c2a8 wip: Hooks & trigger characters for completion/signature_help. 4 years ago
Blaž Hrastnik e9bd9e72c3 Pos conversions always operate on whole documents. 4 years ago
Blaž Hrastnik 15f142bc4b lsp: Use into_iter->map->collect instead of manual loop. 4 years ago
Blaž Hrastnik 4240f757c0 lsp: Fix compilation errors. 4 years ago
Jan Hrastnik a5f9080a9c goto_request wip 4 years ago
Jan Hrastnik b738ae1bc7 more goto lsp functions 4 years ago
Jan Hrastnik 0322c28e6b gd now works for singular definition 4 years ago
Jan Hrastnik 8a68a04340 gotodefiniton now runs but doesnt return anything 4 years ago
Jan Hrastnik d3ddc8dea6 wip 4 years ago
Blaž Hrastnik eca2a73ad0 lsp: Pass through language_id on didOpenTextDocument. 4 years ago
Blaž Hrastnik 143cfe13e0 minor: TODO comment cleanup 4 years ago
Blaž Hrastnik 6cbfb050e2 lsp: Emit didSave notifications. 4 years ago
Blaž Hrastnik 4102992c46 Bump deps. 4 years ago
Blaž Hrastnik 1ae7c43391 commands: = as range formatting (via lsp) 4 years ago
Blaž Hrastnik 7162632eb7 lsp: Hover documentation draft. 4 years ago