Sam Vente
dba438832c
add some comments to register_mark
3 months ago
Sam Vente
fb73cc5a40
remove unused imports, unused guttercode, and fix a few clippy warnings
3 months ago
Sam Vente
d1e2bff16b
implement selection update mechanism
3 months ago
Sam Vente
2da81b254b
remove stray comment
3 months ago
Sam Vente
89b63a23cb
make mark commands typeable
3 months ago
Sam Vente
cfbc46cfa2
make marks take into account all selection ranges
3 months ago
Sam Vente
70addbc870
first working version of marks
3 months ago
Sam Vente
719fb097fb
wip
3 months ago
Sam Vente
b672490066
make a start on jumping to bookmarks
3 months ago
Sam Vente
bb7e922ff9
add integration test for adding mark
3 months ago
Sam Vente
148f1c7c68
add code to dump selection location into register
3 months ago
Sam Vente
1b6d61767d
setup harpoon bookmarks code skeleton
3 months ago
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>
3 months ago
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>
3 months ago
RoloEdits
4e729dea02
fix: ensure view is initiated for jump_* commands ( #11529 )
3 months ago
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>
4 months ago
RoloEdits
e46cedfc26
refactor(commands): `trim_end` of `sh` output ( #11161 )
4 months ago
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.
4 months ago
Michael Davis
1098a348aa
Parse and execute macro mappable commands
4 months ago
RoloEdits
f52251960a
fix(picker): no longer `trim` search pattern ( #11406 )
4 months ago
Jefta
518425e055
Add commands for movement by subwords ( #8147 )
...
* Allow moving by subword
* Add tests for subword movement
4 months ago
Blaž Hrastnik
6ba46e5cbf
Fix crossterm compilation on macOS
4 months ago
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>
4 months ago
André Carneiro
0a4432b104
Add statusline errors when nothing is selected with `s`, `K`, `A-K` ( #11370 )
4 months ago
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
4 months ago
RoloEdits
86aecc96a1
chore: clean up clippy lints ( #11377 )
...
Using clippy 1.80.0. Also cleans up some that were windows only.
4 months ago
麦芽糖
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>
4 months ago
Pascal Kuthe
8e041c99df
stable sort lsp edits ( #11357 )
4 months ago
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.
4 months ago
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
4 months ago
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.
4 months ago
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
4 months ago
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`.
4 months ago
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.
5 months ago
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.
5 months ago
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`.
5 months ago
RoloEdits
535351067c
fix(commands): change `pipe`-like output trimming ( #11183 )
5 months ago
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>
5 months ago
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
5 months ago
Pascal Kuthe
7283ef881f
only show inline diagnostics after a delay
5 months ago
Pascal Kuthe
3abc07a79e
use correct position for cursor in doc popup
5 months ago
Pascal Kuthe
6d051d7084
render diagnostic inline
5 months ago
Pascal Kuthe
39b3d81abf
stable sort diagnostics to avoid flickering
5 months ago
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.
5 months ago
Pascal Kuthe
e15626a00a
track char_idx in DocFormatter
5 months ago
Pascal Kuthe
2023445a08
ensure highlight scopes are skipped properly
5 months ago
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.
5 months ago
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 `[..]`.
5 months ago
Michael Davis
009bbdaf8d
Picker: Reset the cursor on prompt change
5 months ago
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>
5 months ago