Lyndon-Mackay
d06b8d941e
Merge branch 'helix-editor:master' into vsplit_extend
5 months ago
lyndon mackay
e39423fb92
Start extend scrolled down
6 months ago
RoloEdits
9c479e6d2d
fix(editor): prevent overflow in count modifier ( #10930 )
6 months ago
Sebastian Poeplau
62655e97f1
Optional history for rename_symbol ( #10932 )
...
Fix #10560 by accepting an optional history register for the
rename_symbol command.
6 months ago
lyndon mackay
a22de85f95
Implement splitting vertically with syncing
6 months ago
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>
6 months ago
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>
6 months ago
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
6 months ago
Michael Davis
6f1437e9f3
LSP: Resolve completion items when any info is missing ( #10873 )
6 months ago
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>
6 months ago
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
Mark Stosberg
730e684d1d
Correct typo in "current buffer's directory" ( #10814 )
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
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.
6 months ago
Krishan
2301430e37
fix match bracket matching ( #10777 )
7 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>
7 months ago
Michael Davis
5c11af1479
`cargo fmt`
7 months ago
Michael Davis
9dd51e75e0
Resolve new Clippy lints
7 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
7 months ago
Pascal Kuthe
5b8b2f4b9b
improve match bracket matching ( #10613 )
7 months ago
Szabin
beb5afcbef
Revert "Refactor statusline elements to build `Spans` ( #9122 )" ( #10642 )
7 months ago
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.
7 months ago
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>
7 months ago
Kitsu
ec224798e7
fix: do not stop at first url at goto_file ( #10622 )
7 months ago
Pascal Kuthe
e2594b64c0
move popup when cursor line changes
...
Co-authored-by: Ben Fekih, Hichem" <hichem.f@live.de>
7 months ago
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>
7 months ago
Pascal Kuthe
2d6d876a23
fix popup size calculation
...
Co-authored-by: ath3 <ha05190@protonmail.com>
7 months ago
woojiq
839ec4ad39
test: match around closest pair tree-sitter version
7 months ago
woojiq
81dc8e8d6b
feat: find closest pair using tree-sitter
7 months ago
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
7 months ago
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.
7 months ago
Pascal Kuthe
b834806dbc
use newtype parttern for langauge server id
7 months ago
Simran Kedia
26d9610e78
Ignore .svn version control files ( #10536 )
...
Co-authored-by: Simran Kedia <simk@fb.com>
7 months ago
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>
7 months ago
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>
7 months ago
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.
7 months ago
Sean Perry
30baff907d
Implement read command ( #10447 )
...
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Ibrahim Dursun <ibrahim@dursun.cc>
7 months ago
ath3
521accaf00
Include "change" in textobject autoinfo ( #10496 )
8 months ago
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>
8 months ago
Matthew Bourke
8e161723ee
Enabled traversing multiple buffers at once ( #10463 )
...
* Enable traversing multiple buffers at once
* run cargo fmt
* simplify iterator call
8 months ago
Kirawi
6d363a978d
Read symlink when writing files ( #10339 )
...
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
8 months ago
Pascal Kuthe
73d26d0d97
don't manually grapheme align ts highlights ( #10310 )
8 months ago
Pascal Kuthe
f601b7c278
fix char/byte index mixup in overlay rendering ( #10317 )
8 months ago
Skyler Hawthorne
c99c333337
Use new in-crate TreeCursor
8 months ago
Skyler Hawthorne
fa67c5c474
feat(command): select_all_children
8 months ago
Skyler Hawthorne
87c4161732
feat(command): select_all_siblings
8 months ago
Evgeniy Tatarkin
07cb24abdd
Respect lsp definition order for code actions ( #9590 )
8 months ago
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>
8 months ago