Ivan Tham
49f6c2623f
Bump lsp-types to 0.91.0 ( #932 )
2021-10-29 12:00:18 +09:00
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
2021-10-08 11:14:12 +09:00
Kirawi
ef532e0c0d
log errors produced when trying to initialize the LSP ( #746 )
2021-09-15 14:58:06 +09:00
Blaž Hrastnik
bb47a9a0b8
fix: Fix regression where formatting would fail on null response
2021-09-09 11:49:45 +09:00
Blaž Hrastnik
be81f40df8
lsp: This doesn't need to be a mutable reference
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
37606bad47
lsp: doc.language_server() is None until initialize completes
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
46f3c69f06
lsp: Don't send notifications until initialize completes
...
Then send open events for all documents with the LSP attached.
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
2793ff3832
lsp: SyncKind::Full: we need to send the whole document on each change
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
48fd4843fc
lsp: Outdated comment
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
800d79b584
ls: Refactor textDocument/didSave in a similar vein
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
184637c55a
lsp: refactor format so we stop cloning the language_server
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
8744f367bd
wip
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
5a558e0d8e
lsp: Delay requests & notifications until initialization is complete
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
c3a58cdadd
lsp: Refactor capabilities as an async OnceCell
...
First step in making LSP init asynchronous
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
41f1e8e4fb
fix: lsp: Terminate transport on EOF
...
If stdout/stderr is closed, read_line will return 0 indicating EOF.
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
fe17b99ab3
fix: lsp: Don't consume \n\n as a single newline
2021-09-06 15:25:08 +09:00
Blaž Hrastnik
57ed5180e0
lsp: Improve line ending handling when generating TextEdit
2021-09-06 11:00:33 +09:00
Blaž Hrastnik
847d1fa496
fix: Work around crashes on LSPs that don't just emit JSON-RPC
2021-08-29 18:38:28 +09:00
Blaž Hrastnik
7eff905680
lsp: slightly refactor header parsing, add more logging
2021-08-29 12:40:21 +09:00
Timothy DeHerrera
ed8c3e6574
don't panic on defunct lsp process ( #583 )
2021-08-23 18:04:22 +09:00
Blaž Hrastnik
385a6b5a1a
lsp: Refactor duplex to avoid issues with select! + read_exact
...
read_exact isn't cancellation safe.
Fixes #504
2021-08-07 15:04:03 +09:00
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>
2021-07-24 10:26:43 +09:00
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>
2021-07-18 16:56:25 +09:00
Joe Neeman
c9be480bf8
Make formatting happen asynchronously.
2021-06-30 17:08:50 +09:00
Blaž Hrastnik
cad14c6b46
Address nightly clippy warnings
2021-06-27 13:27:47 +09:00
Blaž Hrastnik
a70de6e980
Merge pull request #224 from helix-editor/line_ending_detection
...
Line ending detection
2021-06-22 11:09:19 +09:00
wojciechkepka
cc357d5096
Add progress spinners to status line
2021-06-21 12:59:06 +09:00
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.
2021-06-20 15:33:02 -07:00
wojciechkepka
dd0af78079
Fix unwraps in lsp::transport
2021-06-19 13:02:56 +09:00
wojciechkepka
c2aad859b1
Handle language server shutdown with timeout
2021-06-19 13:02:56 +09:00
wojciechkepka
d095ec15d4
Reenable work_done_progress
capability
2021-06-18 17:42:38 +09:00
wojciechkepka
38cb934d8f
Add unique id to each lsp client/server pair
2021-06-18 17:42:38 +09:00
wojciechkepka
80b4a69053
Update client::reply
to be non async
2021-06-18 17:42:38 +09:00
wojciechkepka
a6d39585d8
Add work_done_token
as parameter to lsp methods
2021-06-18 17:42:38 +09:00
wojciechkepka
52fb90b81e
Add MethodCall
, ProgressStatus
, LspProgressMap
2021-06-18 17:42:38 +09:00
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
2021-06-12 21:45:21 +09:00
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
2021-06-12 16:04:30 +09:00
Blaž Hrastnik
a8a5bcd13d
Temporarily disable workDone
...
Blows up on gopls because we don't handle receiving window/workDoneProgress/create method calls
2021-06-11 13:30:21 +09:00
Wojciech Kępka
098806ce2a
lsp: Display LSP progress messages ( #216 )
2021-06-11 12:42:16 +09:00
Ivan Tham
7cc13fefe9
Derive debug without feature
...
Note that this also removed those `finish_non_exhaustive()`.
2021-06-10 22:00:08 +09:00
notoria
1a3a924634
Implement Debug for data structure as a feature
2021-06-10 22:00:08 +09:00
Egor Karavaev
ea6667070f
helix-lsp cleanup
2021-06-08 10:56:46 +09:00
Egor Karavaev
960bc9f134
Don't panic on LSP not starting
2021-06-08 10:02:41 +09:00
Blaž Hrastnik
8d6fad4cac
lsp: Provide workspace root on client.initialize()
2021-06-07 21:32:01 +09:00
Egor Karavaev
d55419604c
Remove select_all implementation
2021-06-04 09:25:30 +09:00
Blaž Hrastnik
e4ff75b4d4
Add :fmt (formats the whole file).
2021-05-12 17:24:55 +09:00
Blaž Hrastnik
6c705f09e8
Lint
2021-05-09 17:13:59 +09:00
Blaž Hrastnik
caf4349925
Remove some of the panics, just log instead.
2021-05-08 18:17:13 +09:00
Blaž Hrastnik
fd4fd12fa3
clippy lint
2021-05-06 17:20:00 +09:00
Blaž Hrastnik
ba97005495
Work around the rest of the blocking issues.
2021-05-06 17:15:49 +09:00