Michael Davis
28953ef40f
Simplify `change_current_directory` and remove extra allocs
2024-12-05 18:50:31 -05:00
Nikita Revenco
93deb1f6ae
feat: `:cd -` changes to the previous working directory ( #12194 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-12-05 17:40:37 -06:00
Michael Davis
fd3e889927
Add integration tests for line comment continuation
2024-12-05 20:53:53 +09:00
Michael Davis
1e6fe00001
Trim all trailing whitespace on insert_newline
2024-12-05 20:53:53 +09:00
Ian Hobson
4c8175ca04
Draw each message line separately in `draw_eol_diagnostic`
...
`set_string_truncated` renders the entire string while ignoring
newlines, so if the diagnostic's message contains multiple lines it
produces messages like 'first linesecond line'.
To avoid these run-ons, this commit renders each line separately,
inserting double spaces for disambiguation.
2024-12-04 18:23:30 -06:00
Ian Hobson
715a13b2d3
Remove an incorrect comment
...
This was copied from the function above (set_style). I don't know enough
about the function to suggest an alternative.
2024-12-04 18:23:30 -06:00
Nikita Revenco
565bfbba25
feat: `:cd` with no args changes to home directory ( #12042 )
2024-12-04 18:09:33 -06:00
Tomasz Zurkowski
7a2afdc080
Show an error when formatter is not available ( #12183 )
2024-12-04 08:27:54 -06:00
Michael Davis
085c4fe4c8
docs: Eliminate improper use of "LSP" term
...
Sometimes we used "LSP" to mean "language server". This change
eliminates the improper "LSP" usage.
Ref https://github.com/helix-editor/helix/pull/12183#discussion_r1868436105
2024-12-03 18:29:44 -05:00
dependabot[bot]
cf81e15315
build(deps): bump the rust-dependencies group with 3 updates ( #12181 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 18:27:49 -06:00
RoloEdits
5ba97ba41e
fix(clippy): clippy 1.83 lints ( #12150 )
2024-12-02 08:23:32 -06:00
meris
b7725c8187
get_option_value: fix argument
2024-11-30 07:57:40 +01:00
Matt Paras
a7cd2ff346
add function to get a configuration value
2024-11-29 17:45:31 -08:00
Poliorcetics
0f4729289b
fix: Remove leftover debug println! ( #12138 )
...
Introduced in dc941d6d24
2024-11-27 20:05:18 +09:00
Milan Vaško
7676106960
Search selection with word boundary detection ( #12126 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-11-26 13:30:53 -06:00
dependabot[bot]
80709cee61
build(deps): bump the rust-dependencies group with 4 updates ( #12129 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-25 18:06:54 -06:00
RoloEdits
cbbeca6c52
fix(clippy): suppress `unused` lint on windows ( #12107 )
2024-11-22 08:10:11 -06:00
Philipp Mildenberger
dc941d6d24
Add support for path completion ( #2608 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-11-21 21:12:36 -06:00
yehor
9e171e7d1d
Add default-yank-register option ( #11430 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-11-20 17:24:55 -06:00
Alfie Richards
68ee87695b
Add clipboard provider configuration ( #10839 )
2024-11-20 16:06:23 -06:00
Michael Davis
59b020ec91
Save an undo checkpoint before paste in insert mode ( #8121 )
2024-11-20 16:02:10 -06:00
dependabot[bot]
f06f481ad9
build(deps): bump the rust-dependencies group with 5 updates ( #12088 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 15:56:56 -06:00
Michael Davis
d489c03c4f
helix-term: Use workspace thiserror dep
2024-11-20 11:40:45 -06:00
dependabot[bot]
f621423e7d
build(deps): bump thiserror from 1.0.64 to 2.0.3
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.64 to 2.0.3.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.64...2.0.3 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 11:40:45 -06:00
Matt Paras
72dc7e13d5
add function to extract buffer dimensions
2024-11-14 22:12:01 -08:00
Matt Paras
11338b9bbb
bug fixes with builtin lsp generation
2024-11-13 10:18:34 -08:00
dependabot[bot]
b5d56e57a6
build(deps): bump the rust-dependencies group across 1 directory with 11 updates
...
Bumps the rust-dependencies group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [regex](https://github.com/rust-lang/regex ) | `1.11.0` | `1.11.1` |
| [url](https://github.com/servo/rust-url ) | `2.5.2` | `2.5.3` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.210` | `1.0.215` |
| [encoding_rs](https://github.com/hsivonen/encoding_rs ) | `0.8.34` | `0.8.35` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.90` | `1.0.93` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.13.0` | `3.14.0` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.40.0` | `1.41.1` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.161` | `0.2.162` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.31` | `1.1.37` |
| [gix](https://github.com/GitoxideLabs/gitoxide ) | `0.66.0` | `0.67.0` |
Updates `regex` from 1.11.0 to 1.11.1
- [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.11.0...1.11.1 )
Updates `url` from 2.5.2 to 2.5.3
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.5.2...v2.5.3 )
Updates `serde` from 1.0.210 to 1.0.215
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.215 )
Updates `encoding_rs` from 0.8.34 to 0.8.35
- [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35 )
Updates `anyhow` from 1.0.90 to 1.0.93
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.90...1.0.93 )
Updates `tempfile` from 3.13.0 to 3.14.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.13.0...v3.14.0 )
Updates `tokio` from 1.40.0 to 1.41.1
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.1 )
Updates `libc` from 0.2.161 to 0.2.162
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.162/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.161...0.2.162 )
Updates `rustix` from 0.38.37 to 0.38.40
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.37...v0.38.40 )
Updates `cc` from 1.1.31 to 1.1.37
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.31...cc-v1.1.37 )
Updates `gix` from 0.66.0 to 0.67.0
- [Release notes](https://github.com/GitoxideLabs/gitoxide/releases )
- [Changelog](https://github.com/GitoxideLabs/gitoxide/blob/main/CHANGELOG.md )
- [Commits](https://github.com/GitoxideLabs/gitoxide/compare/gix-v0.66.0...gix-v0.67.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: url
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: encoding_rs
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: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
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: rustix
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
- dependency-name: gix
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-13 15:30:17 +09:00
Matt Paras
7cbde094c4
instrument theme API
2024-11-12 21:30:45 -08:00
Matt Paras
0f8ab5f896
add lsp configuration code gen
2024-11-06 08:21:08 -08:00
Matt Paras
ee3035aa38
change string for missing documentation
2024-10-31 16:32:18 -07:00
Matt Paras
749f3eb553
add documentation after deserializing
2024-10-31 16:25:28 -07:00
Matt Paras
38e9e875c2
point to git
2024-10-27 20:42:12 -07:00
Matt Paras
f68eb02ba6
event system updates
2024-10-27 18:56:27 -07:00
Matt Paras
848cb9114d
general updates
2024-10-24 09:50:32 -07:00
Matt Paras
e6d5787566
add some comments
2024-10-23 20:58:02 -07:00
Matt Paras
23470e639f
merge latest changes
2024-10-23 20:49:23 -07:00
Matt Paras
c1d7755f44
general improvements
2024-10-23 20:45:32 -07:00
dependabot[bot]
101a74bf6e
build(deps): bump the rust-dependencies group with 6 updates ( #11924 )
...
Bumps the rust-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.128` | `1.0.132` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.89` | `1.0.90` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.159` | `0.2.161` |
| [fern](https://github.com/daboross/fern ) | `0.6.2` | `0.7.0` |
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) | `0.12.1` | `0.12.2` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.30` | `1.1.31` |
Updates `serde_json` from 1.0.128 to 1.0.132
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/1.0.128...1.0.132 )
Updates `anyhow` from 1.0.89 to 1.0.90
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.90 )
Updates `libc` from 0.2.159 to 0.2.161
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.161/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.159...0.2.161 )
Updates `fern` from 0.6.2 to 0.7.0
- [Release notes](https://github.com/daboross/fern/releases )
- [Changelog](https://github.com/daboross/fern/blob/main/CHANGELOG.md )
- [Commits](https://github.com/daboross/fern/compare/fern-0.6.2...fern-0.7.0 )
Updates `pulldown-cmark` from 0.12.1 to 0.12.2
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.12.1...v0.12.2 )
Updates `cc` from 1.1.30 to 1.1.31
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.30...cc-v1.1.31 )
---
updated-dependencies:
- dependency-name: serde_json
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: fern
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: pulldown-cmark
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>
2024-10-23 22:34:20 +09:00
Matthew Paras
29ce6fffda
Merge pull request #7 from MatrixManAtYrService/cogs-output
...
Add a flake output for the helix cogs
2024-10-22 22:34:41 -07:00
TornaxO7
be2884d800
Continue line comments ( #10996 )
2024-10-19 05:48:07 -04:00
Tobias Kohlbau
7ebfd90d92
Merge remote-tracking branch 'upstream/master' into steel-event-system
2024-10-09 11:07:30 +02:00
RoloEdits
f6d39cbc1d
refactor(lsp): handle out-of-range `active_signature` ( #11825 )
2024-10-06 08:54:17 -05:00
Matthew Paras
4c82a21b27
Merge pull request #6 from MatrixManAtYrService/load-from-local
...
Optionally load init.scm and helix.scm from .helix/
2024-10-05 09:54:00 -07:00
Pascal Kuthe
162028d444
Merge pull request #11486 from helix-editor/lsp-location-refactor
...
Replace uses of `lsp::Location` with a custom Location type
2024-10-04 03:33:35 +02:00
dependabot[bot]
cb9307bb03
build(deps): bump the rust-dependencies group with 5 updates ( #11805 )
...
Bumps the rust-dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [once_cell](https://github.com/matklad/once_cell ) | `1.19.0` | `1.20.1` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.6` | `1.11.0` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.12.0` | `3.13.0` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.158` | `0.2.159` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.21` | `1.1.23` |
Updates `once_cell` from 1.19.0 to 1.20.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1 )
Updates `regex` from 1.10.6 to 1.11.0
- [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.6...1.11.0 )
Updates `tempfile` from 3.12.0 to 3.13.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.13.0 )
Updates `libc` from 0.2.158 to 0.2.159
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.159/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.158...0.2.159 )
Updates `cc` from 1.1.21 to 1.1.23
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.21...cc-v1.1.23 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: tempfile
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: 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>
2024-10-01 10:05:07 +09:00
chtenb
8cdce9212c
Improve tree-sitter-subtree ( #11663 )
...
* Make unnamed nodes visible in subtree view
* Refine command description
* Update generated docs
* Update unit test expected output
2024-09-30 10:59:31 +09:00
rhogenson
73deabaa40
Fix panic when drawing at the edge of the screen. ( #11737 )
...
When pressing tab at the edge of the screen, Helix panics in debug mode
subtracting position.col - self.offset.col.
To correctly account for graphemes that are partially visible,
column_in_bounds takes a width and returns whether the whole range is
in bounds.
Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2024-09-23 02:17:02 +09:00
rhogenson
8b1764d164
Join single-line comments with J. ( #11742 )
...
Fixes #8565 .
Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2024-09-23 02:16:24 +09:00
Matt Paras
b55e3c4b44
fix recent file picker empty space
2024-09-19 16:43:57 -07:00
Ayoub Benali
b85e824ba9
Handle window/showMessage and display it bellow status line ( #5535 )
...
* Handle window/showMessage and display it bellow status line
* Enable `editor.lsp.display_messages` by default
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-09-18 21:43:06 +02:00
Matt Rixman
5b4a04718f
Adding helix-cogs as a flake output
...
These are necessary for creating dev environments which use the plugin
system. Making them a flake output makes it easy to get them without
having `cargo xtask code-gen` modify your ~/.config directory.
2024-09-16 04:04:53 +00:00
Matt Rixman
87496a8b1e
Optionally load init.scm and helix.scm from .helix/
2024-09-16 03:43:16 +00:00
dependabot[bot]
237cbe4bca
build(deps): bump the rust-dependencies group with 4 updates ( #11669 )
...
Bumps the rust-dependencies group with 4 updates: [globset](https://github.com/BurntSushi/ripgrep ), [ignore](https://github.com/BurntSushi/ripgrep ), [grep-regex](https://github.com/BurntSushi/ripgrep ) and [grep-searcher](https://github.com/BurntSushi/ripgrep ).
Updates `globset` from 0.4.14 to 0.4.15
- [Release notes](https://github.com/BurntSushi/ripgrep/releases )
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.14...ignore-0.4.15 )
Updates `ignore` from 0.4.22 to 0.4.23
- [Release notes](https://github.com/BurntSushi/ripgrep/releases )
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/ripgrep/commits )
Updates `grep-regex` from 0.1.12 to 0.1.13
- [Release notes](https://github.com/BurntSushi/ripgrep/releases )
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/ripgrep/compare/grep-regex-0.1.12...0.1.13 )
Updates `grep-searcher` from 0.1.13 to 0.1.14
- [Release notes](https://github.com/BurntSushi/ripgrep/releases )
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/ripgrep/compare/grep-searcher-0.1.13...0.1.14 )
---
updated-dependencies:
- dependency-name: globset
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: ignore
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: grep-regex
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: grep-searcher
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>
2024-09-10 22:59:03 +09:00
Matt Paras
dd2d562c14
fix recent file picker
2024-09-03 12:43:43 -07:00
Michael Davis
48e9357788
picker: Removed owned variant of PathOrId
...
The only caller of `from_path_buf` was removed in the parent commit
allowing us to drop owned variant of path's `Cow`. With this change we
never need to allocate in the picker preview callback.
2024-09-03 09:48:32 -04:00
Michael Davis
606b957172
Replace uses of lsp::Location with a custom Location type
...
The lsp location type has the lsp's URI type and a range. We can replace
that with a custom type private to the lsp commands module that uses the
core URI type instead.
We can't entirely replace the type with a new Location type in core.
That type might look like:
pub struct Location {
uri: crate::Uri,
range: crate::Range,
}
But we can't convert every `lsp::Location` to this type because for
definitions, references and diagnostics language servers send documents
which we haven't opened yet, so we don't have the information to convert
an `lsp::Range` (line+col) to a `helix_core::Range` (char indexing).
This cleans up the picker definitions in this file so that they can all
use helpers like `jump_to_location` and `location_to_file_location` for
the picker preview. It also removes the only use of the deprecated
`PathOrId::from_path_buf` function, allowing us to drop the owned
variant of that type in the child commit.
2024-09-03 09:48:32 -04:00
Matt Paras
884e9580bc
first pass at lsp extensions
2024-08-25 13:49:06 -07:00
dependabot[bot]
38e6fcd5c5
build(deps): bump the rust-dependencies group with 7 updates ( #11530 )
...
Bumps the rust-dependencies group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.207` | `1.0.208` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.124` | `1.0.125` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.39.2` | `1.39.3` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.155` | `0.2.158` |
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) | `0.11.0` | `0.12.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.10` | `1.1.13` |
| [which](https://github.com/harryfei/which-rs ) | `6.0.2` | `6.0.3` |
Updates `serde` from 1.0.207 to 1.0.208
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.207...v1.0.208 )
Updates `serde_json` from 1.0.124 to 1.0.125
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.124...1.0.125 )
Updates `tokio` from 1.39.2 to 1.39.3
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3 )
Updates `libc` from 0.2.155 to 0.2.158
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.158/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.155...0.2.158 )
Updates `pulldown-cmark` from 0.11.0 to 0.12.0
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.11.0...v0.12.0 )
Updates `cc` from 1.1.10 to 1.1.13
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.10...cc-v1.1.13 )
Updates `which` from 6.0.2 to 6.0.3
- [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.2...6.0.3 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: serde_json
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-patch
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: cc
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>
2024-08-21 09:41:49 +09:00
RoloEdits
4e729dea02
fix: ensure view is initiated for jump_* commands ( #11529 )
2024-08-20 00:28:59 +02:00
dependabot[bot]
112b2878ae
build(deps): bump the rust-dependencies group with 4 updates ( #11476 )
...
Bumps the rust-dependencies group with 4 updates: [serde](https://github.com/serde-rs/serde ), [serde_json](https://github.com/serde-rs/json ), [tempfile](https://github.com/Stebalien/tempfile ) and [cc](https://github.com/rust-lang/cc-rs ).
Updates `serde` from 1.0.204 to 1.0.207
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.207 )
Updates `serde_json` from 1.0.122 to 1.0.124
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.122...v1.0.124 )
Updates `tempfile` from 3.11.0 to 3.12.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/commits )
Updates `cc` from 1.1.7 to 1.1.10
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.7...cc-v1.1.10 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
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>
2024-08-13 07:59:42 +02:00
mattwparas
199c9c2cfb
add partial documentation generation
2024-08-12 17:02:14 -07:00
RoloEdits
e46cedfc26
refactor(commands): `trim_end` of `sh` output ( #11161 )
2024-08-11 10:24:51 -05:00
Michael Davis
b7820ee668
Disallow macro keybindings within command sequences
...
This is a temporary limitation because of the way that command sequences
are executed. Each command is currently executed back-to-back
synchronously, but macros are by design queued up for the compositor.
So macros mixed into a command sequence will behave undesirably: they
will be executed after the rest of the static and/or typable commands
in the sequence.
This is pending a larger refactor of how we handle commands.
<https://redirect.github.com/helix-editor/helix/issues/5555 > has
further details and <https://redirect.github.com/helix-editor/helix/issues/4508 >
discusses a similar problem faced by the command palette.
2024-08-10 00:39:47 +09:00
Michael Davis
1098a348aa
Parse and execute macro mappable commands
2024-08-10 00:39:47 +09:00
RoloEdits
f52251960a
fix(picker): no longer `trim` search pattern ( #11406 )
2024-08-10 00:26:09 +09:00
Jefta
518425e055
Add commands for movement by subwords ( #8147 )
...
* Allow moving by subword
* Add tests for subword movement
2024-08-08 13:57:59 -05:00
Blaž Hrastnik
6ba46e5cbf
Fix crossterm compilation on macOS
2024-08-07 06:46:59 +09:00
dependabot[bot]
92a87dbc31
build(deps): bump the rust-dependencies group with 9 updates
...
Bumps the rust-dependencies group with 9 updates:
| Package | From | To |
| --- | --- | --- |
| [regex](https://github.com/rust-lang/regex ) | `1.10.5` | `1.10.6` |
| [dunce](https://gitlab.com/kornelski/dunce ) | `1.0.4` | `1.0.5` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.121` | `1.0.122` |
| [toml](https://github.com/toml-rs/toml ) | `0.8.16` | `0.8.19` |
| [crossterm](https://github.com/crossterm-rs/crossterm ) | `0.27.0` | `0.28.1` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.10.1` | `3.11.0` |
| [serde_repr](https://github.com/dtolnay/serde-repr ) | `0.1.12` | `0.1.19` |
| [which](https://github.com/harryfei/which-rs ) | `6.0.1` | `6.0.2` |
| [windows-sys](https://github.com/microsoft/windows-rs ) | `0.52.0` | `0.59.0` |
Updates `regex` from 1.10.5 to 1.10.6
- [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.5...1.10.6 )
Updates `dunce` from 1.0.4 to 1.0.5
- [Commits](https://gitlab.com/kornelski/dunce/compare/v1.0.4...v1.0.5 )
Updates `serde_json` from 1.0.121 to 1.0.122
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.121...v1.0.122 )
Updates `toml` from 0.8.16 to 0.8.19
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.16...toml-v0.8.19 )
Updates `crossterm` from 0.27.0 to 0.28.1
- [Release notes](https://github.com/crossterm-rs/crossterm/releases )
- [Changelog](https://github.com/crossterm-rs/crossterm/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossterm-rs/crossterm/commits )
Updates `tempfile` from 3.10.1 to 3.11.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.10.1...v3.11.0 )
Updates `serde_repr` from 0.1.12 to 0.1.19
- [Release notes](https://github.com/dtolnay/serde-repr/releases )
- [Commits](https://github.com/dtolnay/serde-repr/compare/0.1.12...0.1.19 )
Updates `which` from 6.0.1 to 6.0.2
- [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.1...6.0.2 )
Updates `windows-sys` from 0.52.0 to 0.59.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/compare/0.52.0...0.59.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: dunce
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: serde_json
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: crossterm
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: serde_repr
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
- dependency-name: windows-sys
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 04:27:05 +09:00
André Carneiro
0a4432b104
Add statusline errors when nothing is selected with `s`, `K`, `A-K` ( #11370 )
2024-08-02 21:04:19 +09:00
RoloEdits
cfe80acb6f
output `stderr` in `:sh` popup if shell commands fail ( #11239 )
...
* refactor(commands): output `stderr` in `:sh` popup
* refactor(commands): switch to `from_utf8_lossy`
This way something is always displayed.
* refactor: no longer log stderr output on failure
2024-08-01 01:29:14 +02:00
RoloEdits
86aecc96a1
chore: clean up clippy lints ( #11377 )
...
Using clippy 1.80.0. Also cleans up some that were windows only.
2024-08-01 06:39:46 +09:00
麦芽糖
08ac37d295
Add theme keys for the picker header area ( #11343 )
...
* feat: pertty header
* 更新 themes.md
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-07-29 16:52:15 +02:00
Pascal Kuthe
8e041c99df
stable sort lsp edits ( #11357 )
2024-07-29 06:22:28 +09:00
Skyler Hawthorne
face6a3268
Disable hard link integration test on Android
...
Non-rooted Android typically doesn't have permission to use hard links
at all, so this test fails on Android.
2024-07-27 22:34:41 -04:00
Kirawi
e5372b04a1
Fix writing hardlinks ( #11340 )
...
* don't use backup files with hardlinks
* check if the inodes remain the same in the test
* move funcs to faccess and use AsRawHandle
* use a copy as a backup for hardlinks
* delete backup after copy
2024-07-27 12:21:52 -05:00
Nikolay Minaev
0813147b97
Use fs' mtime to avoid saving problem on out-of-synced network fs ( #11142 )
...
In the case of network file systems, if the server time is ahead
of the local system time, then helix could annoy with messages
that the file has already been modified by another application.
2024-07-27 10:47:23 -05:00
mattwparas
a632904d93
add enqueueing expressions function
2024-07-24 09:15:42 -07:00
Ingrid
1d0a3d49d3
Consistently maintain view position ( #10559 )
...
* replicate t-monaghan's changes
* remove View.offset in favour of Document.view_data.view_position
* improve access patterns for Document.view_data
* better borrow checker wrangling with doc_mut!()
* reintroduce ensure_cursor_in_view in handle_config_events
since we sorted out the borrow checker issues using partial borrows,
there's nothing stopping us from going back to the simpler implementation
* introduce helper functions on Document .view_offset, set_view_offset
* fix rebase breakage
2024-07-23 19:54:00 +02:00
Trevor Gross
70a9477ec8
Add `:mv` as an alias for `:move` ( #11256 )
...
`mv` is the familiar shell command to move or rename a file. Add this to
Helix as an alias for `:move`.
2024-07-22 16:55:12 +02:00
Michael Davis
dbaa636683
Picker: Skip dynamic query debounce for pastes ( #11211 )
...
Pastes are probably the last edit one means to make before the query
should run so it doesn't need to be debounced.
This makes global search much snappier for example when accepting the
history suggestion from the '/' register or pasting a pattern from the
clipboard or a register.
2024-07-19 17:44:55 +09:00
Michael Davis
b927985cd0
global_search: Save only the primary query to the history register ( #11216 )
...
Two changes from the parent commit:
* Save only the `Picker::primary_query` - so you don't save other parts
of the query, for example `%path foo.rs` while in `global_search`.
* Move the saving out of the `if let Some(option) = self.selection()`
block. So when you hit enter you save to history whether you have a
selection or not. If you want to close the picker without saving to
the register you can use C-c or Esc instead.
2024-07-18 11:08:39 +09:00
Michael Davis
c9d829a26d
global_search: Save search when accepting an option ( #11209 )
...
The Prompt is set up to push the current line to history when hitting
Enter but the Picker doesn't pass the Enter event down to the Prompt
(for good reason: we don't want the Prompt's behavior of changing
completions when we hit a path separator). We should save the Prompt's
line to its configured history register when hitting Enter when there
is a selection in the Picker.
This currently only applies to `global_search`'s Picker since it's the
only Picker to use `Picker::with_history_register`.
2024-07-17 22:41:57 +09:00
mattwparas
9ea77a26a4
merge in latest from master
2024-07-15 21:50:58 -07:00
RoloEdits
535351067c
fix(commands): change `pipe`-like output trimming ( #11183 )
2024-07-16 12:29:44 +09:00
dependabot[bot]
884b53c767
build(deps): bump the rust-dependencies group with 3 updates ( #11194 )
...
Bumps the rust-dependencies group with 3 updates: [thiserror](https://github.com/dtolnay/thiserror ), [open](https://github.com/Byron/open-rs ) and [cc](https://github.com/rust-lang/cc-rs ).
Updates `thiserror` from 1.0.61 to 1.0.62
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.61...1.0.62 )
Updates `open` from 5.2.0 to 5.3.0
- [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.2.0...v5.3.0 )
Updates `cc` from 1.0.106 to 1.1.5
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.106...cc-v1.1.5 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: open
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-16 12:28:41 +09:00
jyn
b0cf86d31b
add `:edit` and `:e` as aliases for `:open` ( #11186 )
...
Vim supports these, and i can't think of any reason helix would want to have a different meaning for `:edit` than `:open`.
docs: https://vimhelp.org/editing.txt.html#%3Aedit
2024-07-15 21:39:05 +02:00
Pascal Kuthe
7283ef881f
only show inline diagnostics after a delay
2024-07-15 16:36:29 +02:00
Pascal Kuthe
3abc07a79e
use correct position for cursor in doc popup
2024-07-15 16:35:31 +02:00
Pascal Kuthe
6d051d7084
render diagnostic inline
2024-07-15 16:35:30 +02:00
Pascal Kuthe
39b3d81abf
stable sort diagnostics to avoid flickering
2024-07-15 16:35:30 +02:00
Pascal Kuthe
2c0506aa96
streamline text decoration API
...
This commit brings the text decoration API inline with the
LineAnnotation API (so they are consistent) resulting in a single
streamlined API instead of multiple ADHOK callbacks.
2024-07-15 16:35:26 +02:00
Pascal Kuthe
e15626a00a
track char_idx in DocFormatter
2024-07-15 16:34:13 +02:00
Pascal Kuthe
2023445a08
ensure highlight scopes are skipped properly
2024-07-15 16:34:13 +02:00
Michael Davis
9de5f5cefa
Picker: Highlight the currently active column
...
We can track the ranges in the input text that correspond to each column
and use this information during rendering to apply a new theme key that
makes the "active column" stand out. This makes it easier to tell at
a glance which column you're entering.
2024-07-15 10:03:35 -04:00
Michael Davis
a7777b3c11
Accept 'IntoIterator<Item = Column<T, D>>' for picker columns
...
This allows us to replace any `vec![..]`s of columns where all columns
are static with static slices `[..]`.
2024-07-15 09:31:33 -04:00
Michael Davis
009bbdaf8d
Picker: Reset the cursor on prompt change
2024-07-15 09:31:33 -04:00
Michael Davis
8555248b01
Accept 'IntoIterator<Item = T>' for Picker::new options
...
`Picker::new` loops through the input options to inject each of them, so
there's no need to collect into an intermediary Vec. This removes some
unnecessary collections. Also, pickers that start with no initial
options can now pass an empty slice instead of an empty Vec.
Co-authored-by: Luis Useche <useche@gmail.com>
2024-07-15 09:31:33 -04:00
Michael Davis
3906f6605f
Avoid allocations in Picker file preview callback
...
The `FileLocation` and `PathOrId` types can borrow paths rather than
requiring them to be owned. This takes a refactor of the preview
functions and preview internals within `Picker`. With this change we
avoid an unnecessary `PathBuf` clone per render for any picker with a
file preview function (i.e. most pickers).
This refactor is not fully complete. The `PathOrId` is _sometimes_ an
owned `PathBuf`. This is for pragmatic reasons rather than technical
ones. We need a further refactor to introduce more core types like
`Location` in order to eliminate the Cow and only use `&Path`s within
`PathOrId`. This is left for future work as it will be a larger refactor
almost entirely fitting into the LSP commands module and helix-core -
i.e. mostly unrelated to refactoring the `Picker` code itself.
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-07-15 09:31:33 -04:00
Michael Davis
f4a433f855
Convert LSP URIs into custom URIs
...
This introduces a custom URI type in core meant to be extended later
if we want to support other schemes. For now it's just a wrapper over a
PathBuf. We use this new URI type to firewall `lsp::Url`. This was
previously done in 8141a4a
but using a custom URI type is more flexible
and will improve the way Pickers handle paths for previews in the child
commit(s).
Co-authored-by: soqb <cb.setho@gmail.com>
2024-07-15 09:31:33 -04:00
Pascal Kuthe
408282097f
avoid collecting columns to a temporary vec
2024-07-15 09:31:33 -04:00
Michael Davis
6ccbfe9bdf
Request a UI redraw on Drop of an Injector
...
This fixes the changed files picker when used against a clean worktree
for example. Without it the running indicator does not disappear. It
also simplifies the dynamic query handler's implementation so that it
doesn't need to request a redraw explicitly.
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-07-15 09:31:33 -04:00
Michael Davis
6492f17e7d
Add a hidden column for the global search line contents
...
We could expand on this in the future to have different preview modes
that you can toggle between with C-t. Currently that binding just hides
the preview but it could switch between different preview modes and in
one mode hide the path and just show the line contents.
2024-07-15 09:31:32 -04:00
Michael Davis
7b1131adf6
global_search: Suggest latest '/' register value
2024-07-15 09:31:32 -04:00
Michael Davis
1d023b05ac
Refactor global_search as a dynamic Picker
2024-07-15 09:31:32 -04:00
Michael Davis
5622db6798
Remove sym_picker helper fun
...
The parent commit split out the workspace symbol picker to an inline
definition so the `workspace` parameter is never passed as `true`. We
should consolidate this picker definition into the symbol_picker
function.
2024-07-15 09:31:32 -04:00
Michael Davis
9e31ba5475
Consolidate DynamicPicker into Picker
...
DynamicPicker is a thin wrapper over Picker that holds some additional
state, similar to the old FilePicker type. Like with FilePicker, we want
to fold the two types together, having Picker optionally hold that
extra state.
The DynamicPicker is a little more complicated than FilePicker was
though - it holds a query callback and current query string in state and
provides some debounce for queries using the IdleTimeout event.
We can move all of that state and debounce logic into an AsyncHook
implementation, introduced here as `DynamicQueryHandler`. The hook
receives updates to the primary query and debounces those events so
that once a query has been idle for a short time (275ms) we re-run
the query.
A standard Picker created through `new` for example can be promoted into
a Dynamic picker by chaining the new `with_dynamic_query` function, very
similar to FilePicker's replacement `with_preview`.
The workspace symbol picker has been migrated to the new way of writing
dynamic pickers as an example. The child commit will promote global
search into a dynamic Picker as well.
2024-07-15 09:31:32 -04:00
Michael Davis
11f809c177
Bump nucleo to v0.4.1
...
We will use this in the child commit to improve the picker's running
indicator. Nucleo 0.4.0 includes an `active_injectors` member that we
can use to detect if anything can push to the picker. When that count
drops to zero we can remove the running indicator.
Nucleo 0.4.1 contains a fix for crashes with interactive global search
on a large directory.
2024-07-15 09:31:32 -04:00
Michael Davis
2c9f5b3efb
Implement Error for InjectorShutdown
2024-07-15 09:31:32 -04:00
Michael Davis
53ac833efb
Replace picker shutdown bool with version number
...
This works nicely for dynamic pickers: we stop any running jobs like
global search that are pushing to the injector by incrementing the
version number when we start a new request. The boolean only allowed
us to shut the picker down once, but with a usize a picker can have
multiple "sessions" / "life-cycles" where it receives new options
from an injector.
2024-07-15 09:31:32 -04:00
Michael Davis
385b398808
Add column configurations for existing pickers
...
This removes the menu::Item implementations for picker item types and
adds `Vec<Column<T, D>>` configurations.
2024-07-15 09:31:32 -04:00
Michael Davis
c4c17c693d
Add a special query syntax for Pickers to select columns
...
Now that the picker is defined as a table, we need a way to provide
input for each field in the picker. We introduce a small query syntax
that supports multiple columns without being too verbose. Fields are
specified as `%field pattern`. The default column for a picker doesn't
need the `%field` prefix. The field name may be selected by a prefix
of the field, for example `%p foo.rs` rather than `%path foo.rs`.
Co-authored-by: ItsEthra <107059409+ItsEthra@users.noreply.github.com>
2024-07-15 09:31:31 -04:00
Michael Davis
f40fca88e0
Refactor Picker in terms of columns
...
`menu::Item` is replaced with column configurations for each picker
which control how a column is displayed and whether it is passed to
nucleo for filtering. (This is used for dynamic pickers so that we can
filter those items with the dynamic picker callback rather than nucleo.)
The picker has a new lucene-like syntax that can be used to filter the
picker only on certain criteria. If a filter is not specified, the text
in the prompt applies to the picker's configured "primary" column.
Adding column configurations for each picker is left for the child
commit.
2024-07-15 09:31:31 -04:00
Michael Davis
dae3841a75
Use an AsyncHook for picker preview highlighting
...
The picker previously used the IdleTimeout event as a trigger for
syntax-highlighting the currently selected document in the preview pane.
This is a bit ad-hoc now that the event system has landed and we can
refactor towards an AsyncHook (like those used for LSP completion and
signature-help). This should resolve some odd scenarios where the
preview did not highlight because of a race between the idle timeout
and items appearing in the picker.
2024-07-15 09:31:31 -04:00
arcofx
1bad3b0dd4
Make `format_selections` respect document configuration ( #11169 )
2024-07-15 22:27:42 +09:00
Michael Davis
44d2fc2ab3
Commit an undo checkpoint before each write ( #11062 )
...
This fixes the modification indicator when saving from insert mode with
a config such as
[keys.insert]
C-s = ":write"
Previously the modification indicator would be stuck showing modified
even if the buffer contents matched the disk contents when writing after
some changes in insert mode with this binding. In insert mode we do not
eagerly write undo checkpoints so that all changes made become one
checkpoint as you exit insert mode. When saving, `Document`s `changes`
`ChangeSet` would be non-empty and when there are changes we show the
buffer as modified. Then switching to normal mode would append the
changes to history, bumping the current revision past what it was when
last saved. Since the last saved revision and current revision were then
unsynced, the modification indicator would always show modified.
This matches [Kakoune's behavior]. Kakoune has a different architecture
for writes but a very similar system for history, transactions and undo
checkpoints (what it calls "undo groups"). Upon saving Kakoune creates
an undo checkpoint if there are any uncommitted changes. It does this
after the write has gone through since its writing system is different.
For our writing system it's cleaner to make the undo checkpoint before
performing the save so that the history revision increments before we
send the save event.
[Kakoune's behavior]: 80fcfebca8/src/buffer.cc (L565-L566)
2024-07-14 02:59:47 +09:00
RoloEdits
fd7b1a3e37
refactor(commands): trim end of `pipe`-like output ( #10952 )
2024-07-13 10:44:48 +09:00
Michael Davis
15a26b87c9
Expand tilde for selected paths in goto_file ( #10964 )
...
Previously `gf` on `~/.config/helix` for example would error if the
entire path was selected but succeed and open a picker for the directory
contents if the selection was one one-width cursor. We need to expand
tildes for all paths instead of just the auto-detected paths.
This also refactors the `goto_file` blocks a little so that we construct
`paths` once instead of creating the Vec and immediately clearing it
when the selection is one single-width cursor.
2024-07-10 12:40:43 +09:00
dependabot[bot]
348c0ebeb4
build(deps): bump the rust-dependencies group with 5 updates ( #11113 )
...
Bumps the rust-dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.203` | `1.0.204` |
| [imara-diff](https://github.com/pascalkuthe/imara-diff ) | `0.1.5` | `0.1.6` |
| [clipboard-win](https://github.com/DoumanAsh/clipboard-win ) | `5.3.1` | `5.4.0` |
| [open](https://github.com/Byron/open-rs ) | `5.1.4` | `5.2.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.104` | `1.0.106` |
Updates `serde` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204 )
Updates `imara-diff` from 0.1.5 to 0.1.6
- [Release notes](https://github.com/pascalkuthe/imara-diff/releases )
- [Changelog](https://github.com/pascalkuthe/imara-diff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/pascalkuthe/imara-diff/compare/v0.1.5...v0.1.6 )
Updates `clipboard-win` from 5.3.1 to 5.4.0
- [Commits](https://github.com/DoumanAsh/clipboard-win/commits )
Updates `open` from 5.1.4 to 5.2.0
- [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.4...v5.2.0 )
Updates `cc` from 1.0.104 to 1.0.106
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.104...cc-v1.0.106 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: imara-diff
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: clipboard-win
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-minor
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>
2024-07-09 19:40:22 +09:00
Michael Davis
1fb99ec3b2
Fix language server ID type in lsp_workspace_command ( #11105 )
2024-07-07 02:39:55 +09:00
Gabor Pihaj
4f1d35dfbe
Follow naming conventions
2024-07-06 16:55:30 +01:00
Schmiddiii
06d8fee048
Allow multiple language server with lsp-workspace-command ( #10176 )
...
This fix allows for multiple language servers at once which support
workspace commands. This was previously broken as just the first
language server supporting workspace commands was queried when listing
allowed worspace commands.
The fix is in two parts. Firstly, querying all workspace commands from
all language servers available and using them when actually running the
command in `lsp_workspace_command`. Secondly, doing the same in
`completers::lsp_workspace_command` such that completion still works as
expected.
The fix has one remaining issue, which I am unsure how to handle in the
best way possible, but which I also don't think should happen often:
Multiple language servers may register commands with the same name. This
will lead to that command being listed in the popup menu and in the
completion list multiple times, which can be possibly confusing. One
could disambigue them in the popover menu, but I am not sure the same
can be done for completion. When running `lsp-workspace-command` with
parameters, this behavior is "fixed" by displaying an error in that
case. I am unsure if this is the best fix for this issue in that case,
but could not find a better one.
2024-07-06 10:34:33 -05:00
Gabor Pihaj
d611f7f264
Create type constructor functions for editor::Action
2024-07-06 16:30:24 +01:00
Gabor Pihaj
a06824308b
Implement editor-switch-action instead of hardcoded replace
2024-07-06 16:01:58 +01:00
Gabor Pihaj
b045c3068b
Add switch-replace command to be able to switch to an existing buffer
2024-07-06 10:46:53 +01:00
mattwparas
14cd995ba2
update instructions, include steel submodule
2024-07-05 13:11:02 -07:00
Michael Davis
dca952c03a
Delay auto-save until exiting insert mode ( #11047 )
...
Saving while in insert mode causes issues with the modification
indicator and this is very easy to reproduce with the current state of
the auto-save hook. We can tweak the hook slightly to await the mode
switch out of insert mode to perform the save.
The debounce is preserved: if you save and then immediately exit insert
mode the debounce will be respected. If the debounce lapses while you
are in insert mode, the save occurs as you switch out of insert mode
immediately.
2024-06-29 11:08:21 +09:00
Thomas Schafer
6ed0d0cd39
Only pluralise "buffer" when required ( #11018 )
...
* Only pluralise buffer when required
* Use == 1 instead of != 1
2024-06-26 23:03:21 +02:00
dependabot[bot]
b05ed9bf85
build(deps): bump the rust-dependencies group with 4 updates ( #11032 )
...
Bumps the rust-dependencies group with 4 updates: [bitflags](https://github.com/bitflags/bitflags ), [url](https://github.com/servo/rust-url ), [cc](https://github.com/rust-lang/cc-rs ) and [libloading](https://github.com/nagisa/rust_libloading ).
Updates `bitflags` from 2.5.0 to 2.6.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.5.0...2.6.0 )
Updates `url` from 2.5.1 to 2.5.2
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.5.1...v2.5.2 )
Updates `cc` from 1.0.99 to 1.0.100
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.99...cc-v1.0.100 )
Updates `libloading` from 0.8.3 to 0.8.4
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.3...0.8.4 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
- dependency-name: url
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
- dependency-name: libloading
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>
2024-06-25 23:22:20 +09:00
TiredTumblrina
94a9c81eb0
Prevent improper files (like /dev/random) from being used as file arguments ( #10733 )
...
* Implement check before adding path to files
* fix problem where directories were removed from args.files
* Revert "Implement check before adding path to files"
This reverts commit c123944d9b
.
* Dissallow opening of irregular non-symlink files
* Fixed issue with creating new file from command line
* Fixed linting error.
* Optimized regularity check as suggested in review
* Created DocumentOpenError Sum Type to switch on in Application
* Forgot cargo fmt
* Update helix-term/src/application.rs
Accept suggestion in review.
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Moved thiserror version configuration to the workspace instead of the individual packages.
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-06-18 18:14:17 +02:00
Shaun_Sheep
bc73dd19d3
Make prompt use cursor set for Insert mode ( #10945 )
...
* Resolve issue #10874
* cargo fmt
2024-06-18 10:38:56 +02:00
RoloEdits
9c479e6d2d
fix(editor): prevent overflow in count modifier ( #10930 )
2024-06-13 03:24:24 +02:00
Sebastian Poeplau
62655e97f1
Optional history for rename_symbol ( #10932 )
...
Fix #10560 by accepting an optional history register for the
rename_symbol command.
2024-06-12 16:44:47 +02:00
dependabot[bot]
8a549b767b
build(deps): bump the rust-dependencies group across 1 directory with 5 updates ( #10926 )
...
* build(deps): bump the rust-dependencies group across 1 directory with 5 updates
Bumps the rust-dependencies group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [unicode-width](https://github.com/unicode-rs/unicode-width ) | `0.1.12` | `0.1.13` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.4` | `1.10.5` |
| [url](https://github.com/servo/rust-url ) | `2.5.0` | `2.5.1` |
| [open](https://github.com/Byron/open-rs ) | `5.1.3` | `5.1.4` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.98` | `1.0.99` |
Updates `unicode-width` from 0.1.12 to 0.1.13
- [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.12...v0.1.13 )
Updates `regex` from 1.10.4 to 1.10.5
- [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.4...1.10.5 )
Updates `url` from 2.5.0 to 2.5.1
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.5.0...v2.5.1 )
Updates `open` from 5.1.3 to 5.1.4
- [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.3...v5.1.4 )
Updates `cc` from 1.0.98 to 1.0.99
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.98...1.0.99 )
---
updated-dependencies:
- dependency-name: unicode-width
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: url
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
- dependency-name: open
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>
* helix-tui: Use zero-width-space for zero-width grapheme test
The update of unicode-width 0.1.13 in the parent commit changed the
width of the U+1 codepoint to 1 from 0, causing the test to fail. We
can switch to a well known zero-width codepoint of U+200B to fix the
behavior.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-06-12 01:08:50 +09:00
Hendrik Wolff
265608a3d8
Auto Save All Buffers After A Delay ( #10899 )
...
* auto save after delay
* configable
* clearer names
* init
* working with some odd behaviour
* working with greater consistency
* Apply reviewer suggestions
- Remove unneccessary field
- Remove blocking save
* Improve auto-save configuration
Auto save can be configured to trigger on focus loss:
```toml
auto-save.focus-lost = true|false
```
and after a time delay (in milli seconds) since last keypress:
```toml
auto-save.after-delay.enable = true|false
auto-save.after-delay.timeout = [0, u64::MAX] # default: 3000
```
* Remove boilerplate and unnecessary types
* Remove more useless types
* Update docs for auto-save.after-delay
* Fix wording of (doc) comments relating to auto-save
* book: Move auto-save descriptions to separate section
---------
Co-authored-by: Miguel Perez <miguelvojito@gmail.com>
Co-authored-by: Miguel Perez <perezoji@cs.fsu.edu>
2024-06-11 00:39:06 +02:00
Chris Pyles
03813bbc2e
Remove special handling of line ending characters in selection replacement ( #10786 )
...
* Remove special-casing of line ending characters in selection replacement
* Refactor line ending handling and integration test to address code review comments
2024-06-10 17:07:43 +02:00
Michael Davis
6f1437e9f3
LSP: Resolve completion items when any info is missing ( #10873 )
2024-06-06 13:28:10 +09:00
Marty
c39cde8fc2
Flush pending writes before suspend ( #10797 )
...
* flush saves before suspending
* review suggestion
Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
* review changes
---------
Co-authored-by: PotatoesFall <martyk@tuta.io>
Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
2024-06-05 18:47:15 +02:00
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>
2024-06-03 17:08:51 +09:00
Poliorcetics
972265640d
fix: correctly reset inlay hints when stopping or restarting LSPs for a document ( #10741 )
2024-06-02 10:39:48 -05:00
Mark Stosberg
730e684d1d
Correct typo in "current buffer's directory" ( #10814 )
2024-05-27 10:22:40 +09:00
Kirawi
5b9f5f9fdb
Handle relative symlinks on write ( #10790 )
...
try again
try
wip
2024-05-21 06:46:24 +09:00
Blaž Hrastnik
dfcd814389
tui: Constify functions, shrink Margin representation
2024-05-21 04:34:36 +09:00
Michael Davis
ff6aca12b7
Reset all changes overlapped by selections in ':reset-diff-change' ( #10178 )
...
This is useful for resetting multiple changes at once. For example you
might use 'maf' or even '%' to select a larger region and reset all
changes within.
The original behavior of resetting the change on the current line is
retained when the primary selection is 1-width since we look for chunks
in the line range of each selection.
2024-05-20 21:40:55 +09:00
Krishan
2301430e37
fix match bracket matching ( #10777 )
2024-05-16 13:50:01 -05:00
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>
2024-05-07 21:43:40 +02:00
Michael Davis
5c11af1479
`cargo fmt`
2024-05-07 15:15:52 -04:00
Michael Davis
9dd51e75e0
Resolve new Clippy lints
2024-05-07 15:15:52 -04:00
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
2024-05-07 18:14:02 +02:00
Pascal Kuthe
5b8b2f4b9b
improve match bracket matching ( #10613 )
2024-05-07 09:26:04 -05:00
Szabin
beb5afcbef
Revert "Refactor statusline elements to build `Spans` ( #9122 )" ( #10642 )
2024-05-07 01:51:20 +09:00
François Laignel
f86f350d5d
Debugger template: allow missing or empty completion list ( #10332 )
...
It can be convenient to define project specific debugger templates, some of
which might not necessitate prompting the user to define completion.
This commit makes completion optional for debugger templates and starts the
dap immediately if undefined or empty.
2024-05-06 17:37:04 +02:00
mattwparas
ce3959aef8
rebase from latest
2024-05-04 10:16:35 -07:00
Hichem
cfca30887c
signature: use the suggested LSP signature when changed ( #10655 )
...
some LSPs does update the active signature and some not. To make both
worlds happy, make the active signature more intelligent.
1. SignatureHelp store now the suggested lsp_signature
2. if the lsp_signature changes then use it
3. otherwise use the last signature from the old popup
4. in case the old signature doesn't exist anymore, show the last signature
Signed-off-by: Ben Fekih, Hichem <hichem.f@live.de>
2024-05-03 03:53:07 +02:00
Kitsu
ec224798e7
fix: do not stop at first url at goto_file ( #10622 )
2024-04-29 08:18:58 -05:00
Pascal Kuthe
e2594b64c0
move popup when cursor line changes
...
Co-authored-by: Ben Fekih, Hichem" <hichem.f@live.de>
2024-04-28 11:21:50 -04:00
Pascal Kuthe
93e8c16614
fix required_size implementation of signature help
...
Trunctation should always be handled by the parent. Returning None is
only supposed to indicate a missing implementation
Co-authored-by: Ben Fekih, Hichem" <hichem.f@live.de>
2024-04-28 11:21:50 -04:00
Pascal Kuthe
2d6d876a23
fix popup size calculation
...
Co-authored-by: ath3 <ha05190@protonmail.com>
2024-04-28 11:21:50 -04:00
woojiq
839ec4ad39
test: match around closest pair tree-sitter version
2024-04-24 16:36:13 -04:00
woojiq
81dc8e8d6b
feat: find closest pair using tree-sitter
2024-04-24 16:36:13 -04:00
Krishan
89a9f2be78
specify direction for select_prev_sibling and select_next_sibling ( #10542 )
...
* specify direction for select_prev_sibling and select_next_sibling
* fix failing integration-test
2024-04-23 08:41:03 -05:00
Pascal Kuthe
38ee845b05
don't overload LS with completion resolve requests
...
While moving completion resolve to the event system in #9668 we introduced what
is essentially a "DOS attack" on slow LSPs. Completion resolve requests were
made in the render loop and debounced with a timeout. Once the timeout expired
the resolve request was made. The problem is the next frame would immediately
request a new completion resolve request (and mark the old one as obsolete but
because LSP has no notion of cancelation the server would still process it). So
we were in essence sending one completion request to the server every 150ms and
only stopped if the server managed to respond before we rendered a new frame.
This caused overload on slower machines/with slower LS.
In this PR I revamped the resolve handler so that a request is only ever
resolved once. Both by checking if a request is already in-flight and by marking
failed resolve requests as resolved.
2024-04-22 12:27:47 +09:00
Pascal Kuthe
b834806dbc
use newtype parttern for langauge server id
2024-04-22 12:27:47 +09:00
Simran Kedia
26d9610e78
Ignore .svn version control files ( #10536 )
...
Co-authored-by: Simran Kedia <simk@fb.com>
2024-04-21 12:00:30 +09:00
Ben Fekih, Hichem
4b8bcd2773
popup: call required_size only once while rendering
...
to speed up the rendering a little
Signed-off-by: Ben Fekih, Hichem <hichem.f@live.de>
2024-04-20 08:39:12 -04:00
Ben Fekih, Hichem
af4ff80524
Improve popup position
...
Make the popup positions more consistent.
Improvements:
1. if the signature popup content is bigger than the available space,
then the popup is always shown under the cursor, even if there more
space above the cursor than below
2. There is no mutation anymore inside required_size. Maybe in the future
we can update all widgets to have no mutations and change the trait
Signed-off-by: Ben Fekih, Hichem <hichem.f@live.de>
2024-04-20 08:39:12 -04:00
Michael Davis
211f368064
Respect mode when starting a search ( #10505 )
...
Currently the editor mode has no effect on the behavior of `search` and
`rsearch`. We can pass in the right movement for the editor mode to make
the behavior or `search` and `rsearch` match `search_next` and
`search_prev` in select mode.
2024-04-20 10:25:11 +09:00
Sean Perry
30baff907d
Implement read command ( #10447 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Ibrahim Dursun <ibrahim@dursun.cc>
2024-04-17 17:57:57 -05:00
ath3
521accaf00
Include "change" in textobject autoinfo ( #10496 )
2024-04-17 17:29:28 +02:00
Hichem
69e08d9e91
allow cycling through function signatures/overloads ( #9974 )
...
implement handle_event to cycle through the function signatures.
To change the signature press alt+p/n .
Signed-off-by: Ben Fekih, Hichem <hichem.f@live.de>
2024-04-16 20:57:22 +02:00
Matthew Bourke
8e161723ee
Enabled traversing multiple buffers at once ( #10463 )
...
* Enable traversing multiple buffers at once
* run cargo fmt
* simplify iterator call
2024-04-16 15:59:45 +02:00
Kirawi
6d363a978d
Read symlink when writing files ( #10339 )
...
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-04-11 20:49:16 -05:00
Pascal Kuthe
73d26d0d97
don't manually grapheme align ts highlights ( #10310 )
2024-04-11 00:14:08 +09:00
Pascal Kuthe
f601b7c278
fix char/byte index mixup in overlay rendering ( #10317 )
2024-04-10 01:49:30 +09:00
Skyler Hawthorne
c99c333337
Use new in-crate TreeCursor
2024-04-09 10:33:15 -04:00
Skyler Hawthorne
fa67c5c474
feat(command): select_all_children
2024-04-09 10:33:15 -04:00
Skyler Hawthorne
87c4161732
feat(command): select_all_siblings
2024-04-09 10:33:15 -04:00
Evgeniy Tatarkin
07cb24abdd
Respect lsp definition order for code actions ( #9590 )
2024-04-09 09:28:54 -05:00
Hichem
ea2a4858b7
Fix scrolling to the end within a popup ( #10181 )
...
when the available height for the popup is low/small, then it is not
possible to scroll until the end
Signed-off-by: Ben Fekih, Hichem <hichem.f@live.de>
2024-04-08 10:41:03 -05:00
Diego
92338bc207
fix mouse right click selection ( #10067 )
2024-04-08 10:20:53 -05:00
TornaxO7
e69292e5eb
Improve `goto_file_impl` ( #9065 )
2024-04-06 16:27:29 -05:00
mattwparas
95ad1fe2c7
escape paths correctly when loading the modules
2024-04-05 15:17:41 -07:00
Michael Davis
f240d896a4
Merge unnecessary/deprecated diagnostic highlights separately ( #10084 )
...
Previously unnecessary/deprecated diagnostic tags replaced the highlight
for the severity of a diagnostic. This could cause either the severity
or unnecessary/deprecated scopes to disappear when diagnostic ranges
overlapped though. Plus the severity highlight can be interesting in
addition to the unnecessary/deprecated highlight.
So this change separates the unnecessary and deprecated highlights from
the severity highlights, so each is merged separately and when they
overlap, the highlights are combined.
2024-04-05 14:50:41 +09:00
Harishankar G
962c714185
Use an enum to represent yank decision during deletion of a selection ( #10148 )
2024-04-05 00:18:48 +09:00
Tshepang Mbambo
3e2b85c61b
remove redundant imports ( #10154 )
2024-04-04 23:28:44 +09:00
mattwparas
a1b13e570d
add dynamic component names
2024-04-03 20:07:14 -07:00
Harishankar G
f773972241
Use a boolean to indicate whether to yank during deletion of a selection ( #10132 )
2024-04-03 12:40:55 -05:00
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
2024-04-02 16:39:44 +02:00
Kirawi
88d455afeb
Use a temporary file for writes ( #9236 )
...
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-03-31 17:43:09 -05:00
Jonathan LEI
a224ee5079
Changed file picker ( #5645 )
...
Co-authored-by: WJH <hou32hou@gmail.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-03-31 17:36:28 -05:00
Daniel S Poulin
1abb64e48d
Add textobject for entries/elements of list-like things ( #8150 )
2024-03-31 11:53:15 -05:00
Gokul Soumya
957d030be9
Support scrolling popup contents using mouse ( #10053 )
...
* Extract popup scrolling code into named functions
* Scroll popup contents on mouse scroll event
* Ignore mouse events outside the popup
* Remove unneeded return statement
2024-03-31 14:47:13 +02:00
Skyler Hawthorne
f5991657f4
Factor out line ending handling in integration tests ( #9921 )
...
Prior to this change, every integration test which wanted its line
endings to be handled transparently across platforms, i.e. test with
the same input that has its platform's line feed characters, converting
the line endings was up to each individual test by calling the
`platform_line` helper function. This significantly increases the amount
of boilerplate one has to copy between all the tests.
However, there are some test cases that need to exert strict control
over the exact input text without being manipulated behind the scenes by
the test framework.
So, with this change, the line feed conversions are factored into
the `TestCase` struct. By default, line endings of the input text
are converted to the platform's native line feed ending, but one can
explicitly specify in their test case when the input text should be left
alone and tested as is.
2024-03-31 07:12:17 -05:00
mattwparas
ab62d83800
working terminal library
2024-03-28 22:14:47 -07:00
Michael Davis
cb286b7a5d
Fix rustc warnings about unused 'pub use's ( #10011 )
2024-03-27 14:34:47 +09:00
Michael Davis
07e21a10f0
Revert "helix-term: allow to backspace out-of the command prompt ( #9828 )" ( #10005 )
...
This reverts commit 0dc67ff885
.
See the post-merge discussion in #9828 . The old behavior was less
surprising and we have other ways to abort from a prompt, so let's
revert the behavior change.
2024-03-26 14:49:39 +09:00
Blaž Hrastnik
a0d6566140
Fix regression in color-modes
...
Fixes #10006
2024-03-26 14:46:56 +09:00
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>
2024-03-26 12:55:58 +09:00
Quentin
614a744d24
Add narrow no-break space support ( #9604 )
2024-03-25 10:29:36 +09:00
Pascal Kuthe
b46064b8c4
Add an Amp-like jump command
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-03-23 15:35:25 +09:00
Pascal Kuthe
66b9ff1d2a
dismiss pending keys properly for mouse/paste
2024-03-23 15:35:25 +09:00