Commit Graph

298 Commits (a38ec6d6ca9e5dbbd2e313f3173f2e967ed71fc1)

Author SHA1 Message Date
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
Benoît CORTIER 03d1ca7b0a cargo: add more metadata to manifests 2021-06-19 10:04:59 +09:00
Benoît CORTIER b48054f3ee cargo: add version to local dependencies
First step towards enabling us to publish on crates.io.

See: https://github.com/helix-editor/helix/issues/42
2021-06-19 10:04:59 +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
Blaž Hrastnik ae5ecfdf66 Release v0.2.0 2021-06-13 22:35:13 +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 d5de9183ef Use upstream jsonrpc again 2021-06-07 21:33:17 +09:00
Blaž Hrastnik 8d6fad4cac lsp: Provide workspace root on client.initialize() 2021-06-07 21:32:01 +09:00
Blaž Hrastnik f48a60b8e2 Release 0.0.10 2021-06-07 09:42:15 +09:00
Ethan Bodzioney 843c2cdebd
Install instructions and version number corrections (#148)
* Add MacOS install instructions

* Change version name argument

When using the -V command to get the version you are given 'helix-term x.x.x', I changed this to just helix as it makes more sense.

* Fixed version number

* Fixed version number

* Fixed version number

* Fixed version number

* Fixed version number

* Fixed version number
2021-06-07 09:14:06 +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 5cbb4efa6d Add the LICENSE file. 2021-05-11 01:44:00 +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 8a949fb011 Drop shellexpand. 2021-05-08 11:54:19 +09:00
Blaž Hrastnik 570c253ffb Disable default features on futures-util to drop proc macros. 2021-05-08 11:51:18 +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
Blaž Hrastnik d00414f81a Start moving more LSP calls into callbacks/futures without capturing self 2021-05-06 15:08:59 +09:00
Blaž Hrastnik 1ad0581ddd Eliminate a few more futures dependencies. 2021-05-06 14:33:53 +09:00
Blaž Hrastnik 355ad3cb82 Tokio migration. 2021-05-06 13:56:34 +09:00
Blaž Hrastnik 91767c3848 Update dependencies. 2021-04-21 13:36:32 +09:00
Blaž Hrastnik 3b90317060 Add window/showMessage / logMessage stubs so gopls fully starts. 2021-04-15 17:34:38 +09:00
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.
2021-04-14 15:39:31 +09:00
Blaž Hrastnik 5aed1f3c00 lsp: Gracefully fail if binary doesn't exist. 2021-04-07 13:38:24 +09:00
Blaž Hrastnik 0e9ecccfc1 clippy: Drop or-patterns for now because they're not on stable rust yet 2021-04-06 19:51:15 +09:00
Blaž Hrastnik ceea5eacd8 clippy lint 2021-03-31 23:42:16 +09:00
Blaž Hrastnik 2a3910c1d9 wip: Async async. Delay response handling with a callback. 2021-03-26 17:12:45 +09:00
Blaž Hrastnik e3c4edae32 Add the machinery to load syntax config from TOML.
It's embedded into the binary at build time for now, but it's progress.
2021-03-25 15:26:25 +09:00
Blaž Hrastnik 9a36d2c2a8 wip: Hooks & trigger characters for completion/signature_help. 2021-03-24 18:17:00 +09:00
Blaž Hrastnik cbcacb1063 Merge some imports. 2021-03-22 12:40:07 +09:00
Blaž Hrastnik e9bd9e72c3 Pos conversions always operate on whole documents. 2021-03-18 15:23:42 +09:00
Blaž Hrastnik 5237084d98 Don't publicly re-export once_cell in lsp. 2021-03-18 14:29:38 +09:00
Blaž Hrastnik 59e6024186 Remove State from a few more signatures. 2021-03-18 14:17:32 +09:00
Blaž Hrastnik 8eaf9a432d Make Transaction::change only rely on the rope. 2021-03-18 13:39:56 +09:00
Blaž Hrastnik 15f142bc4b lsp: Use into_iter->map->collect instead of manual loop. 2021-03-16 23:03:29 +09:00
Blaž Hrastnik 4240f757c0 lsp: Fix compilation errors. 2021-03-16 23:03:10 +09:00
Jan Hrastnik a5f9080a9c goto_request wip 2021-03-16 23:03:10 +09:00
Jan Hrastnik b738ae1bc7 more goto lsp functions 2021-03-16 23:03:10 +09:00
Jan Hrastnik 0322c28e6b gd now works for singular definition 2021-03-16 23:03:10 +09:00
Jan Hrastnik 8a68a04340 gotodefiniton now runs but doesnt return anything 2021-03-16 23:03:10 +09:00
Jan Hrastnik d3ddc8dea6 wip 2021-03-16 23:03:10 +09:00
Blaž Hrastnik eca2a73ad0 lsp: Pass through language_id on didOpenTextDocument. 2021-03-16 16:13:41 +09:00
Blaž Hrastnik 143cfe13e0 minor: TODO comment cleanup 2021-03-16 15:41:42 +09:00
Blaž Hrastnik 87e3cd3df2 ui: Render diagnostic errors in sideline. 2021-03-15 16:19:31 +09:00
Blaž Hrastnik bb87b08fc9 Configure language servers via LanguageConfiguration. 2021-03-14 17:14:34 +09:00
Blaž Hrastnik 6cbfb050e2 lsp: Emit didSave notifications. 2021-03-12 16:25:12 +09:00
Blaž Hrastnik 4102992c46 Bump deps. 2021-03-01 14:33:02 +09:00
Blaž Hrastnik 1ae7c43391 commands: = as range formatting (via lsp) 2021-02-26 15:52:43 +09:00
Blaž Hrastnik 7162632eb7 lsp: Hover documentation draft. 2021-02-25 18:07:47 +09:00
Blaž Hrastnik 87a6d4e736 minor: Simplify some code. 2021-02-24 16:07:39 +09:00
Blaž Hrastnik 61ce2c9cfe lsp: Disable snippet_support until we implement it. 2021-02-22 14:42:12 +09:00
Blaž Hrastnik 004a4f37a7 lsp: Handle responses being returned after request timed out. 2021-02-22 12:44:36 +09:00
Blaž Hrastnik c9dd1c930e treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref 2021-02-18 18:34:22 +09:00
Blaž Hrastnik bd85460698 Bump jsonrpc-core, lsp-types. 2021-02-18 14:10:52 +09:00
Blaž Hrastnik d5f9622e2e lsp: edit events change ranges need to affect each other. 2021-02-17 17:28:55 +09:00
Blaž Hrastnik 48ef6598db Increase the log level in LSP and log server errors. 2021-02-16 18:18:35 +09:00
Blaž Hrastnik b7da7f83c3 lsp: Test changeset_to_changes. 2021-02-16 15:45:46 +09:00
Blaž Hrastnik 0541fbb85f Adjust LSP changeset generation too: insert now always preceedes delete. 2021-02-16 11:08:06 +09:00
Blaž Hrastnik 05c7fb98df Refactoring: move language_servers into Editor, proper load for doc. 2021-01-21 16:55:46 +09:00
Blaž Hrastnik 777a80917d Address clippy lints. 2021-01-08 16:37:36 +09:00
Blaž Hrastnik 941c34a7fc lsp: Move timeouts into client.request 2021-01-06 17:48:14 +09:00
Blaž Hrastnik 3bf4e1e8fa Update deps. 2021-01-06 14:08:23 +09:00
Blaž Hrastnik 3cbab20908 lsp: Fix pos_to_lsp_pos calculation. 2020-12-25 17:42:50 +09:00
Blaž Hrastnik 2ab069bb3f lsp: Work on syncing the state with the language server. 2020-12-25 17:20:09 +09:00
Blaž Hrastnik cd16df19c1 lsp: generate_transaction_from_text_edits 2020-12-23 18:16:17 +09:00
Blaž Hrastnik 56f2193811 Retrieve completion options on ctrl-x. 2020-12-23 16:20:49 +09:00
Blaž Hrastnik 955cb81687 Init lsp through the registry. 2020-12-23 15:50:16 +09:00
Blaž Hrastnik 4f9cde25cf Bump deps. 2020-12-17 19:35:29 +09:00
Blaž Hrastnik 8695415fbf wip: Move to new rendering structure. 2020-12-13 12:23:50 +09:00
Blaž Hrastnik 39bf1ca825 Update deps. 2020-12-03 13:12:07 +09:00
Blaž Hrastnik a7869c728c wip 2020-12-03 13:12:07 +09:00
Blaž Hrastnik ae8a9e5bac lsp: Make base request methods take &self instead of &mut self. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik cc6bdf8f66 Text change generation, RPC call handling. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik af1924404a Configure logging (-vv for debug level logs) 2020-12-03 13:10:35 +09:00
Blaž Hrastnik eff6fac9ec clippy lint 2020-12-03 13:10:35 +09:00
Blaž Hrastnik b39849dde1 Refactor: Document type as a wrapper around barebones State. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik 81ccca0c6a Improve error typing. 2020-12-03 13:10:35 +09:00
Blaž Hrastnik ef5e5f9296 state.version tracking 2020-12-03 13:10:34 +09:00
Blaž Hrastnik 49254d7180 Total mess but it works: diagnostic marking. 2020-12-03 13:10:34 +09:00
Blaž Hrastnik f9bfba4d96 Reroute LSP notification events into the main app event loop. 2020-12-03 13:10:32 +09:00
Blaž Hrastnik 13cb442850 wip: Fetching diagnostics, parsing notifications. 2020-12-03 13:04:42 +09:00
Blaž Hrastnik f03830b047 wip: Basic LSP lifecycle requests/notifications. 2020-12-03 13:04:42 +09:00
Blaž Hrastnik 8adcf5083f wip 2020-12-03 13:04:42 +09:00