dependabot[bot]
6dbab51f4a
build(deps): bump the rust-dependencies group across 1 directory with 10 updates ( #10871 )
...
Bumps the rust-dependencies group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.201` | `1.0.203` |
| [toml](https://github.com/toml-rs/toml ) | `0.8.12` | `0.8.13` |
| [parking_lot](https://github.com/Amanieu/parking_lot ) | `0.12.2` | `0.12.3` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.83` | `1.0.86` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.37.0` | `1.38.0` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.154` | `0.2.155` |
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) | `0.10.3` | `0.11.0` |
| [open](https://github.com/Byron/open-rs ) | `5.1.2` | `5.1.3` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.60` | `1.0.61` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.97` | `1.0.98` |
Updates `serde` from 1.0.201 to 1.0.203
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.201...v1.0.203 )
Updates `toml` from 0.8.12 to 0.8.13
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.12...toml-v0.8.13 )
Updates `parking_lot` from 0.12.2 to 0.12.3
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/0.12.2...0.12.3 )
Updates `anyhow` from 1.0.83 to 1.0.86
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.83...1.0.86 )
Updates `tokio` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0 )
Updates `libc` from 0.2.154 to 0.2.155
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.154...0.2.155 )
Updates `pulldown-cmark` from 0.10.3 to 0.11.0
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.10.3...v0.11.0 )
Updates `open` from 5.1.2 to 5.1.3
- [Release notes](https://github.com/Byron/open-rs/releases )
- [Changelog](https://github.com/Byron/open-rs/blob/main/changelog.md )
- [Commits](https://github.com/Byron/open-rs/compare/v5.1.2...v5.1.3 )
Updates `thiserror` from 1.0.60 to 1.0.61
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.60...1.0.61 )
Updates `cc` from 1.0.97 to 1.0.98
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.97...1.0.98 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: toml
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: parking_lot
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: pulldown-cmark
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: open
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
Poliorcetics
972265640d
fix: correctly reset inlay hints when stopping or restarting LSPs for a document ( #10741 )
6 months ago
Kirawi
5b9f5f9fdb
Handle relative symlinks on write ( #10790 )
...
try again
try
wip
6 months ago
Blaž Hrastnik
dfcd814389
tui: Constify functions, shrink Margin representation
6 months ago
Michael Davis
855568fa34
Synchronize files after writing ( #10735 )
...
fsync(2) is a somewhat expensive operation that flushes writes to the
underlying disk/SSD. It's typically used by databases to ensure that
writes survive very hard failure scenarios like your cat kicking the
plug out of the wall. Synchronizing isn't automatically done by
`flush`ing (from the `std::io::Write` or `tokio::io::AsyncWriteExt`
traits). From the [`tokio::fs::File`] moduledocs:
> To ensure that a file is closed immediately when it is dropped, you
> should call `flush` before dropping it. Note that this does not ensure
> that the file has been fully written to disk; the operating system
> might keep the changes around in an in-memory buffer. See the
> `sync_all` method for telling the OS to write the data to disk.
[`tokio::fs::File`]: https://docs.rs/tokio/latest/tokio/fs/struct.File.html
6 months ago
dependabot[bot]
f656b4f3a7
build(deps): bump the rust-dependencies group across 1 directory with 11 updates ( #10715 )
...
Bumps the rust-dependencies group with 11 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [tree-sitter](https://github.com/tree-sitter/tree-sitter ) | `0.22.5` | `0.22.6` |
| [unicode-width](https://github.com/unicode-rs/unicode-width ) | `0.1.11` | `0.1.12` |
| [hashbrown](https://github.com/rust-lang/hashbrown ) | `0.14.3` | `0.14.5` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.198` | `1.0.200` |
| [parking_lot](https://github.com/Amanieu/parking_lot ) | `0.12.1` | `0.12.2` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.82` | `1.0.83` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.153` | `0.2.154` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `0.38.32` | `0.38.34` |
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) | `0.10.0` | `0.10.3` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.58` | `1.0.60` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.95` | `1.0.97` |
Updates `tree-sitter` from 0.22.5 to 0.22.6
- [Release notes](https://github.com/tree-sitter/tree-sitter/releases )
- [Changelog](https://github.com/tree-sitter/tree-sitter/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tree-sitter/tree-sitter/compare/v0.22.5...v0.22.6 )
Updates `unicode-width` from 0.1.11 to 0.1.12
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.11...v0.1.12 )
Updates `hashbrown` from 0.14.3 to 0.14.5
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.14.3...v0.14.5 )
Updates `serde` from 1.0.198 to 1.0.200
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.198...v1.0.200 )
Updates `parking_lot` from 0.12.1 to 0.12.2
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/0.12.1...0.12.2 )
Updates `anyhow` from 1.0.82 to 1.0.83
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.82...1.0.83 )
Updates `libc` from 0.2.153 to 0.2.154
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.153...0.2.154 )
Updates `rustix` from 0.38.32 to 0.38.34
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.32...v0.38.34 )
Updates `pulldown-cmark` from 0.10.0 to 0.10.3
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.10.0...v0.10.3 )
Updates `thiserror` from 1.0.58 to 1.0.60
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.60 )
Updates `cc` from 1.0.95 to 1.0.97
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.95...1.0.97 )
---
updated-dependencies:
- dependency-name: tree-sitter
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: unicode-width
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: hashbrown
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: parking_lot
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: rustix
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: pulldown-cmark
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6 months ago
Michael Davis
5c11af1479
`cargo fmt`
6 months ago
Michael Davis
9dd51e75e0
Resolve new Clippy lints
6 months ago
Christopher Smyth
5e3de68591
FIx incorrectly spelled cfg options ( #10703 )
...
* Fix incorrect cfg key for wasm32
* Fix unicode-lines cfg in helix-view not not being used
6 months ago
Kitsu
8db93013fb
fix: avoid child area overflow on split ( #10620 )
7 months ago
Pascal Kuthe
b834806dbc
use newtype parttern for langauge server id
7 months ago
Kirawi
6d363a978d
Read symlink when writing files ( #10339 )
...
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
7 months ago
Michael Davis
3f2de21342
Handle partial failure when sending textDocument/didSave ( #10168 )
8 months ago
Tshepang Mbambo
3e2b85c61b
remove redundant imports ( #10154 )
8 months ago
Michael Davis
1539312558
Add a serializer for the jump alphabet config option ( #10156 )
...
Without a serializer, we drop the custom alphabet when making config
modifications like with `:set`. For example before this commit,
`:set mouse false` would reset a custom alphabet to the default.
8 months ago
Luis Useche
190fbf66d4
reconfigure tree properly after closing view ( #10004 )
...
This patch merges the last child of a container node to the parent. This
avoids the bug where uneven spaced Views would be created. To reproduce:
1. `vsplit`
2. `split`
3. `quit`
4. `vsplit`
With this patch the bug cannot be seen anymore.
8 months ago
woojiq
cc8290f393
show newest options in jumplist picker first, fix docs ( #10095 )
...
* docs: mention `<space>g` changed file picker
* picker(jumplist): show jumps in order from latest to oldest
8 months ago
Kirawi
88d455afeb
Use a temporary file for writes ( #9236 )
...
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
8 months ago
dependabot[bot]
3205bc4132
build(deps): bump the rust-dependencies group with 6 updates ( #10007 )
...
Bumps the rust-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [smallvec](https://github.com/servo/rust-smallvec ) | `1.13.1` | `1.13.2` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.7.0` | `1.7.1` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.3` | `1.10.4` |
| [indoc](https://github.com/dtolnay/indoc ) | `2.0.4` | `2.0.5` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `0.38.31` | `0.38.32` |
| [which](https://github.com/harryfei/which-rs ) | `6.0.0` | `6.0.1` |
Updates `smallvec` from 1.13.1 to 1.13.2
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2 )
Updates `arc-swap` from 1.7.0 to 1.7.1
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/commits )
Updates `regex` from 1.10.3 to 1.10.4
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.3...1.10.4 )
Updates `indoc` from 2.0.4 to 2.0.5
- [Release notes](https://github.com/dtolnay/indoc/releases )
- [Commits](https://github.com/dtolnay/indoc/compare/2.0.4...2.0.5 )
Updates `rustix` from 0.38.31 to 0.38.32
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.31...v0.38.32 )
Updates `which` from 6.0.0 to 6.0.1
- [Release notes](https://github.com/harryfei/which-rs/releases )
- [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/harryfei/which-rs/compare/6.0.0...6.0.1 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: arc-swap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: indoc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: rustix
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: which
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
Quentin
614a744d24
Add narrow no-break space support ( #9604 )
8 months ago
Pascal Kuthe
b46064b8c4
Add an Amp-like jump command
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
8 months ago
Pascal Kuthe
69e07ab61e
use slices instead of Rc for virtual text
8 months ago
Luis Useche
6a22d7d1ca
Do not stop reloading docs on error ( #9870 )
...
In the `reload-all` command, we should not stop reloading the documents
if one error is found. Instead, we should report the error and continue
trying to reload the current open documents. This is useful in cases
where a backing file does not exist temporarily (e.g. when editing a git
patch in the outstanding chain that doesn't have a file just yet).
This change also remove the error messages in the cases where the
backing is `None`, like in new docs or `tutor`.
8 months ago
dependabot[bot]
3d4889ce9a
build(deps): bump the rust-dependencies group with 3 updates ( #9929 )
...
Bumps the rust-dependencies group with 3 updates: [bitflags](https://github.com/bitflags/bitflags ), [toml](https://github.com/toml-rs/toml ) and [lsp-types](https://github.com/gluon-lang/lsp-types ).
Updates `bitflags` from 2.4.2 to 2.5.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.4.2...2.5.0 )
Updates `toml` from 0.8.10 to 0.8.12
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.10...toml-v0.8.12 )
Updates `lsp-types` from 0.95.0 to 0.95.1
- [Changelog](https://github.com/gluon-lang/lsp-types/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gluon-lang/lsp-types/compare/v0.95.0...v0.95.1 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: toml
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: lsp-types
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
mo8it
e91ec8e880
Optimize getting a relative path
8 months ago
dependabot[bot]
8dc50bded9
build(deps): bump clipboard-win from 5.2.0 to 5.3.0 ( #9922 )
...
Bumps [clipboard-win](https://github.com/DoumanAsh/clipboard-win ) from 5.2.0 to 5.3.0.
- [Commits](https://github.com/DoumanAsh/clipboard-win/commits )
---
updated-dependencies:
- dependency-name: clipboard-win
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>
8 months ago
Dan Cardamore
3890376a23
add 'file-absolute-path' to statusline ( #4535 )
...
* feat: add 'file-abs-path' to statusline (#4434 )
* cleanup implementation
* rename to be non-abbreviated names
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
8 months ago
dependabot[bot]
4e5f19df53
build(deps): bump clipboard-win from 5.1.0 to 5.2.0 ( #9811 )
9 months ago
dependabot[bot]
7d8c86e403
build(deps): bump arc-swap from 1.6.0 to 1.7.0 ( #9809 )
9 months ago
Michael Davis
8141a4a1ab
LSP: Key diagnostics off file path instead of URI
...
URIs need to be normalized to be comparable. For example a language
server could send a URI for a path containing '+' as '%2B' but we might
encode this in something like 'Document::url' as just '+'. We can
normalize the URI straight into a PathBuf though since this is the only
value we compare these diagnostics URIs against. This also covers
edge-cases like windows drive letter capitalization.
9 months ago
Jonathan LEI
cdef4f8a70
Make mouse click extend selection in select mode ( #5436 )
...
* Make mouse click extend selection in select mode
* chore: better readability with `Option::take()`
9 months ago
Matt
76e512f944
Remove unwrap on line option, preventing DAP crash ( #9632 )
...
* Remove unwrap on line option, preventing DAP crash, ref #4683
* Update to fall back to existing values for option fields
9 months ago
kyfanc
fe869e5dc7
fix lsp config reload ( #9415 )
...
`syn_loader` was replaced rather than interior value being replace,
old value was still being referenced and not updated after `:config-refresh`.
By using `ArcSwap` like for `config`, each `.load()` call will return the most
updated value.
Co-authored-by: kyfan <kyfan@email>
9 months ago
dependabot[bot]
c55bf72d25
build(deps): bump clipboard-win from 5.0.0 to 5.1.0 ( #9616 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9 months ago
dependabot[bot]
c111e28a6f
build(deps): bump toml from 0.7.6 to 0.8.10 ( #9539 )
...
Bumps [toml](https://github.com/toml-rs/toml ) from 0.7.6 to 0.8.10.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.8.10 )
---
updated-dependencies:
- dependency-name: toml
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>
9 months ago
Waleed Dahshan
cf4492174d
Use range positions to determine insert_newline motion ( #9448 )
...
* use anchor and head positions to determine motion
* use range cursor to decide extending or shifting
* add condition to cursor moving back on normal
10 months ago
Pascal Kuthe
87a720c3a1
make path changes LSP spec conform ( #8949 )
...
Currently, helix implements operations which change the paths of files
incorrectly and inconsistently. This PR ensures that we do the following
whenever a buffer is renamed (`:move` and workspace edits)
* always send did_open/did_close notifications
* send will_rename/did_rename requests correctly
* send them to all LSP servers not just those that are active for a
buffer
* also send these requests for paths that are not yet open in a buffer (if
triggered from workspace edit).
* only send these if the server registered interests in the path
* autodetect language, indent, line ending, ..
This PR also centralizes the infrastructure for path setting and
therefore `:w <path>` benefits from similar fixed (but without didRename)
10 months ago
Blaž Hrastnik
83f09ecbff
minor: Silence noisy language server not found error in log
10 months ago
Michael Davis
6d724a8f33
Re-export `which` from `helix-stdx::env`
...
We use `which::which` in many crates, so `which` was a separate
dependency across all of them. We can centralize `which` into the
stdx crate so it's easy for all crates to depend on it.
I also moved the rest of `helix-view/src/env.rs` into helix-stdx's
`env` module since it only contained a thin wrapper around `which`
and `std::env`.
10 months ago
Blaž Hrastnik
6bfe1ddc53
minor: Silence noisy set_error log
...
Outside of debugging tests, it makes no sense to log this.
10 months ago
Pascal Kuthe
8e592a151f
refactor completion and signature help using hooks
10 months ago
Pascal Kuthe
13ed4f6c47
Add hook/event system
10 months ago
Michael Davis
1f916e65cf
Create helix-stdx crate for stdlib extensions
...
helix-stdx is meant to carry extensions to the stdlib or low-level
dependencies that are useful in all other crates. This commit starts
with all of the path functions from helix-core and the CWD tracking that
lived in helix-loader.
The CWD tracking in helix-loader was previously unable to call the
canonicalization functions in helix-core. Switching to our custom
canonicalization code should make no noticeable difference though
since `std::env::current_dir` returns a canonicalized path with
symlinks resolved (at least on unix).
10 months ago
Gabriel Dinner-David
84e24b33dc
make sure to sync views when applying edits to unfocused views ( #9173 )
10 months ago
Michael Davis
305d6e9c89
Normalize `S-<lower-ascii>` keymaps to uppercase ascii ( #9213 )
10 months ago
Philipp Mildenberger
41ca46cf8c
Initialize diagnostics when opening a document ( #8873 )
10 months ago
Pascal Kuthe
4da6191a1c
don't automatically dismiss zero width diagnostics ( #9280 )
10 months ago
Pascal Kuthe
783ff27b1b
consistent diagnostic sorting
11 months ago
Pascal Kuthe
515ef17207
make diagnostics stick to word boundaries
...
Diagnostics are currently extended if text is inserted at their end. This is
desirable when inserting text after an identifier. For example consider:
let foo = 2;
--- unused variable
Renaming the identifier should extend the diagnostic:
let foobar = 2;
------ unused variable
This is currently implemented in helix but as a consequence adding whitespaces
or a type hint also extends the diagnostic:
let foo = 2;
-------- unused variable
let foo: Bar = 2;
-------- unused variable
In these cases the diagnostic should remain unchanged:
let foo = 2;
--- unused variable
let foo: Bar = 2;
--- unused variable
As a heuristic helix will now only extend diagnostics that end on a word char
if new chars are appended to the word (so not for punctuation/ whitespace).
The idea for this mapping was inspired for the word level tracking vscode uses
for many positions. While VSCode doesn't currently update diagnostics after
receiving publishDiagnostic it does use this system for inlay hints for example.
Similarly, the new association mechanism implemented here can be used for word
level tracking of inlay hints.
A similar mapping function is implemented for word starts. Together
these can be used to make a diagnostic stick to a word. If that word
is removed that diagnostic is automatically removed too. This is the exact
same behavior VSCode inlay hints eixibit.
11 months ago
Pascal Kuthe
8653e1b02f
Add config to mark diagnostic sources as persistent
11 months ago