aboutsummaryrefslogtreecommitdiff
path: root/helix-lsp/src/client.rs
Commit message (Collapse)AuthorAge
* feat: highlight / select symbol under cursor using LSP ↵lazytanuki2022-06-27
| | | | | | | | | textDocument/documentHighlight (#2738) * feat: highlight symbol under cursor using LSP textDocument/documentHighlight * fix: please clippy * fix: shorter description and code style
* Remove some more unwrapsBlaž Hrastnik2022-06-27
|
* embed jsonrpc types from jsonrpc-core crate (#2801)Michael Davis2022-06-18
| | | | | | | | | | | | | | We should not depend on jsonrpc-core anymore: * The project just announced it's no longer actively maintained[^1], preferring their new implementation in `jsonrpsee`. * The types are too strict: we would benefit from removing some `#[serde(deny_unknown_fields)]` annotations to allow language servers that disrespect the spec[^2]. * We don't use much of the project. Just the types out of core. These are easy to embed directly into the `helix-lsp` crate. [^1]: https://github.com/paritytech/jsonrpc/pull/674 [^2]: https://github.com/helix-editor/helix/issues/2786
* Passing extra formatting options to LSPs (#2635)farwyler2022-06-05
| | | | | | | | | | | | | * allows passing extra formatting options to LSPs - adds optional field 'format' to [[language]] sections in 'languages.toml' - passes specified options the LSPs via FormattingOptions * cleaner conversion of formatting properties * move formatting options inside lsp::Client * cleans up formatting properties merge
* configurable lsp request timeout (#2405)EmmChriss2022-05-11
|
* register publish_diagnostics client capability (#2241)matt rice2022-04-25
|
* chore(lsp): check rename capabilities before send rename action (#2203)ttys32022-04-23
|
* Send active diagnostics to LSP when requesting code actions. (#2005)Robin Jadoul2022-04-17
| | | | | | | | | | | * Send active diagnostics to LSP when requesting code actions. This allows for e.g. clangd to properly send the quickfix code actions corresponding to those diagnostics as options. The LSP spec v3.16.0 introduced an opaque `data` member that would allow the server to persist arbitrary data between the diagnostic and the code actions request, but this is not supported yet by this commit. * Reuse existing range_to_lsp_range functionality
* Fixes #1991 LSP Auto-import (#2088)Andrey Tkachenko2022-04-16
|
* lsp: Implement support for workspace_folders (currently just one)Blaž Hrastnik2022-04-01
| | | | Refs #1898
* fix: Some LSPs still want rootPath, so provide itBlaž Hrastnik2022-03-31
| | | | Refs #1898
* Implement LSP `workspace/configuration` and ↵Triton1712022-02-28
| | | | | | | | | | | | | `workspace/didChangeConfiguration` (#1684) * Implement LSP `workspace/configuration` request * Implement LSP `workspace/didChangeConfiguration` notification. * Simplify retrieval of LSP configuration * Implement suggestions from PR discussion Co-authored-by: Triton171 <triton0171@gmail.com>
* Use which to resolve lsp/dap binariesBlaž Hrastnik2022-02-24
| | | | This resolves the following issue: https://github.com/helix-editor/helix/discussions/962#discussioncomment-1580046
* Replace tendril with smartstringBlaž Hrastnik2022-02-10
| | | | Slightly smaller API surface, less dependencies.
* Detect workspace root using language markers (#1370)Alexis Mousset2021-12-31
| | | | | | | | | | | | | | | | * Detect workspace root using language markers * Avoid allocating root_markers * Update helix-core/src/lib.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Update helix-core/src/lib.rs Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
* Resolve completion item (#1315)Gabriel Berto2021-12-25
| | | Co-authored-by: Gabriel Berto <gabriel.berto@pottencial.com.br>
* LSP code action commands (#1304)Matouš Dzivjak2021-12-21
| | | | | | | | | * feat(lsp): codeAction commands * Don't block on command call * Fix lifetime of command execution * Fix lint issues
* Add LSP rename_symbol (space-r) (#1011)CossonLeo2021-11-08
| | | improve apply_workspace_edit
* Bump lsp-types to 0.91.0 (#932)Ivan Tham2021-10-29
|
* fix: Fix regression where formatting would fail on null responseBlaž Hrastnik2021-09-09
|
* lsp: doc.language_server() is None until initialize completesBlaž Hrastnik2021-09-06
|
* lsp: SyncKind::Full: we need to send the whole document on each changeBlaž Hrastnik2021-09-06
|
* ls: Refactor textDocument/didSave in a similar veinBlaž Hrastnik2021-09-06
|
* lsp: refactor format so we stop cloning the language_serverBlaž Hrastnik2021-09-06
|
* wipBlaž Hrastnik2021-09-06
|
* lsp: Delay requests & notifications until initialization is completeBlaž Hrastnik2021-09-06
|
* lsp: Refactor capabilities as an async OnceCellBlaž Hrastnik2021-09-06
| | | | First step in making LSP init asynchronous
* fix: lsp: Don't consume \n\n as a single newlineBlaž Hrastnik2021-09-06
|
* lsp: Improve line ending handling when generating TextEditBlaž Hrastnik2021-09-06
|
* feat: code actions - document edits (#478)Grzegorz Baranski2021-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Added option to provide a custom config file to the lsp. (#460)Cor Peters2021-07-18
| | | | | | | | | | | | | | | | | * 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>
* Work on moving code over to LineEnding instead of assuming '\n'.Nathan Vegdahl2021-06-20
| | | | Also some general cleanup and some minor fixes along the way.
* Handle language server shutdown with timeoutwojciechkepka2021-06-19
|
* Reenable `work_done_progress` capabilitywojciechkepka2021-06-18
|
* Add unique id to each lsp client/server pairwojciechkepka2021-06-18
|
* Update `client::reply` to be non asyncwojciechkepka2021-06-18
|
* Add `work_done_token` as parameter to lsp methodswojciechkepka2021-06-18
|
* add symbol picker (#230)Robin2021-06-12
| | | | | | | | | * add symbol picker use the lsp document_symbol request * fix errors from merging in master * add docs for symbol picker
* Temporarily disable workDoneBlaž Hrastnik2021-06-11
| | | Blows up on gopls because we don't handle receiving window/workDoneProgress/create method calls
* lsp: Display LSP progress messages (#216)Wojciech Kępka2021-06-11
|
* Derive debug without featureIvan Tham2021-06-10
| | | | Note that this also removed those `finish_non_exhaustive()`.
* Implement Debug for data structure as a featurenotoria2021-06-10
|
* helix-lsp cleanupEgor Karavaev2021-06-08
|
* Don't panic on LSP not startingEgor Karavaev2021-06-08
|
* lsp: Provide workspace root on client.initialize()Blaž Hrastnik2021-06-07
|
* clippy lintBlaž Hrastnik2021-05-06
|
* Work around the rest of the blocking issues.Blaž Hrastnik2021-05-06
|
* Start moving more LSP calls into callbacks/futures without capturing selfBlaž Hrastnik2021-05-06
|
* Tokio migration.Blaž Hrastnik2021-05-06
|
* lsp: support both utf-8 and utf-16 offsets.Blaž Hrastnik2021-04-14
| | | | | Still need to implement the clangd encoding negotiation, but it's a start. Should also manually override to utf8 for pyls.