Michael Davis
45ce1ebdb6
embed jsonrpc types from jsonrpc-core crate ( #2801 )
...
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
2 years ago
dependabot[bot]
9f8df05d96
build(deps): bump tokio-stream from 0.1.8 to 0.1.9 ( #2690 )
...
Bumps [tokio-stream](https://github.com/tokio-rs/tokio ) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.8...tokio-stream-0.1.9 )
---
updated-dependencies:
- dependency-name: tokio-stream
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
dependabot[bot]
5c7d9d6027
build(deps): bump tokio from 1.18.2 to 1.19.2 ( #2691 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.18.2 to 1.19.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
farwyler
f92a25a856
Passing extra formatting options to LSPs ( #2635 )
...
* 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
3 years ago
Blaž Hrastnik
3d91c99c3e
fix: lsp: Sort edits by start range, Omnisharp sends them in reverse
3 years ago
Michael Davis
50dd11985c
prevent panic when handling an LSP response with no request ( #2475 )
...
A language server may push a response which doesn't belong to any
request. With this change, we discard the response rather than
crashing.
In the case of #2474 , the language server sends an error message
with a null request ID which should not ever exist in the
`pending_requests` HashMap.
closes #2474
3 years ago
Blaž Hrastnik
7ae6cad52e
Don't panic on LSP parsing errors
...
This made sense initially when the implementation was still new (so we
got user reports more frequently), but a parsing error now generally
signifies a language server isn't properly implementing the spec.
3 years ago
EmmChriss
807cdc60bf
configurable lsp request timeout ( #2405 )
3 years ago
dependabot[bot]
fc35791af9
build(deps): bump tokio from 1.17.0 to 1.18.1 ( #2373 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.17.0 to 1.18.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.17.0...tokio-1.18.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
chunghha
3a398eec56
fix typos ( #2304 )
3 years ago
matt rice
db47761154
register publish_diagnostics client capability ( #2241 )
3 years ago
ttys3
19d042dde6
chore(lsp): check rename capabilities before send rename action ( #2203 )
3 years ago
Michael Davis
449d1dfdfb
prevent panic when receiving malformed LSP PublishDiagnostic ( #2160 )
...
Instead of panicing we can discard the malformed diagnostic. This
`.parse()` fails commonly when a non-conformant language server gives
a diagnostic with a location that breaks the spec:
{ "character": 0, "line": -1 }
can currently be returned by ElixirLS and the python LS. Other
messages in this block are discarded but this one feels special enough
to log.
3 years ago
Robin Jadoul
33b7483db5
Send active diagnostics to LSP when requesting code actions. ( #2005 )
...
* 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
3 years ago
Andrey Tkachenko
dc8fef5dd3
Fixes #1991 LSP Auto-import ( #2088 )
3 years ago
dependabot[bot]
f3dcb4034f
build(deps): bump lsp-types from 0.92.1 to 0.93.0 ( #2084 )
...
Bumps [lsp-types](https://github.com/gluon-lang/lsp-types ) from 0.92.1 to 0.93.0.
- [Release notes](https://github.com/gluon-lang/lsp-types/releases )
- [Changelog](https://github.com/gluon-lang/lsp-types/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gluon-lang/lsp-types/compare/v0.92.1...v0.93.0 )
---
updated-dependencies:
- dependency-name: lsp-types
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Blaž Hrastnik
8adf0c1b3a
lsp: Implement support for workspace_folders (currently just one)
...
Refs #1898
3 years ago
Blaž Hrastnik
84e799f0e4
fix: Some LSPs still want rootPath, so provide it
...
Refs #1898
3 years ago
Triton171
f044059a2a
Implement LSP `workspace/configuration` and `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>
3 years ago
Blaž Hrastnik
9712bbb23b
Use which to resolve lsp/dap binaries
...
This resolves the following issue: https://github.com/helix-editor/helix/discussions/962#discussioncomment-1580046
3 years ago
dependabot[bot]
806cc1c3b1
build(deps): bump tokio from 1.16.1 to 1.17.0 ( #1691 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.16.1 to 1.17.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.16.1...tokio-1.17.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Blaž Hrastnik
bd549d8a20
Merge remote-tracking branch 'origin/master' into debug
3 years ago
Blaž Hrastnik
f88c077f99
Replace tendril with smartstring
...
Slightly smaller API surface, less dependencies.
3 years ago
dependabot[bot]
828d39e736
build(deps): bump lsp-types from 0.91.1 to 0.92.0 ( #1631 )
...
Bumps [lsp-types](https://github.com/gluon-lang/lsp-types ) from 0.91.1 to 0.92.0.
- [Release notes](https://github.com/gluon-lang/lsp-types/releases )
- [Changelog](https://github.com/gluon-lang/lsp-types/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gluon-lang/lsp-types/compare/v0.91.1...v0.92.0 )
---
updated-dependencies:
- dependency-name: lsp-types
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
dependabot[bot]
983a53bfb4
build(deps): bump tokio from 1.15.0 to 1.16.1 ( #1610 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.15.0 to 1.16.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.15.0...tokio-1.16.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Blaž Hrastnik
efaac6c5d3
Release 0.6
3 years ago
Kirawi
ea095ca5fb
Optimize lsp_pos_to_pos ( #1423 )
...
lines().count() is slow compared to len_lines()
3 years ago
Alexis Mousset
8a019b423f
Detect workspace root using language markers ( #1370 )
...
* 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>
3 years ago
Gabriel Berto
5d7b5db8ab
Resolve completion item ( #1315 )
...
Co-authored-by: Gabriel Berto <gabriel.berto@pottencial.com.br>
3 years ago
Matouš Dzivjak
75a8b789d2
LSP code action commands ( #1304 )
...
* feat(lsp): codeAction commands
* Don't block on command call
* Fix lifetime of command execution
* Fix lint issues
3 years ago
dependabot[bot]
614e0e0026
build(deps): bump tokio from 1.14.0 to 1.15.0 ( #1321 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.14.0...tokio-1.15.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Blaž Hrastnik
d31bef7fea
lsp: Don't panic if init fails
...
We correctly filter out the language server inside Document to ignore it
if the capabilities are missing, so this way it'll simply ignore the
errored out LSP rather than panicking.
3 years ago
Blaž Hrastnik
9ed930b233
Merge remote-tracking branch 'origin/master' into debug
3 years ago
dependabot[bot]
f24e5a3c41
build(deps): bump tokio from 1.13.1 to 1.14.0 ( #1146 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.13.1 to 1.14.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.13.1...tokio-1.14.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Blaž Hrastnik
d1854d8e6a
Merge remote-tracking branch 'origin/master' into debug
3 years ago
CossonLeo
29e6849413
Add LSP rename_symbol (space-r) ( #1011 )
...
improve apply_workspace_edit
3 years ago
Blaž Hrastnik
f2b709a3c3
Merge branch 'master' into debug
3 years ago
dependabot[bot]
44ff597841
build(deps): bump tokio-stream from 0.1.7 to 0.1.8 ( #953 )
...
Bumps [tokio-stream](https://github.com/tokio-rs/tokio ) from 0.1.7 to 0.1.8.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.7...tokio-stream-0.1.8 )
---
updated-dependencies:
- dependency-name: tokio-stream
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
dependabot[bot]
a13af476c1
build(deps): bump tokio from 1.12.0 to 1.13.0 ( #955 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.13.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Ivan Tham
49f6c2623f
Bump lsp-types to 0.91.0 ( #932 )
3 years ago
Blaž Hrastnik
a1b7f003a6
Include the missing dependency bump
3 years ago
Blaž Hrastnik
f3c7f20dbc
Release v0.5.0
3 years ago
Blaž Hrastnik
182a59b552
Update to rust 1.56 + 2021 edition
3 years ago
Blaž Hrastnik
0a6b60085a
Merge branch 'master' into debug
3 years ago
Dmitry Sharshakov
48cb81eff1
Merge branch 'master' into debug
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
dependabot[bot]
d68cff837f
build(deps): bump lsp-types from 0.89.2 to 0.90.0
...
Bumps [lsp-types](https://github.com/gluon-lang/lsp-types ) from 0.89.2 to 0.90.0.
- [Release notes](https://github.com/gluon-lang/lsp-types/releases )
- [Changelog](https://github.com/gluon-lang/lsp-types/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gluon-lang/lsp-types/compare/v0.89.2...v0.90.0 )
---
updated-dependencies:
- dependency-name: lsp-types
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
dependabot[bot]
466e69bbb9
build(deps): bump tokio from 1.11.0 to 1.12.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.11.0...tokio-1.12.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Dmitry Sharshakov
bf53aff27d
Merge branch 'master' into debug
3 years ago
Kirawi
ef532e0c0d
log errors produced when trying to initialize the LSP ( #746 )
3 years ago