Commit Graph

2409 Commits (7bb1db3ab5565f1c778df87d6dfd004293d7c9c9)
 

Author SHA1 Message Date
Jakub Bartodziej 69fe46a122
Add :earlier and :later commands that can be used to navigate the full edit history. (#194)
* Disable deleting from an empty buffer which can cause a crash.

* Improve on the fix for deleting from the end of the buffer.

* Clean up leftover log.

* Avoid theoretical underflow.

* Implement :before which accepts a time interval and moves the editor to
the closest history state to the commit of the current time minus that
interval. Current time is now by default, or the commit time if :before
has just been used.

* Add :earlier an :later commands that can move through
the edit history and retrieve changes hidded by undoing
and commiting new changes. The commands accept a number
of steps or a time period relative to the currrent change.

* Fix clippy lint error.

* Remove the dependency on parse_duration, add a custom parser instead.

* Fix clippy errors.

* Make helix_core::history a public module.

* Use the helper for getting the current document and view.

* Handled some PR comments.

* Fix the logic in :later n.

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* Add an alias for :earlier.

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* Add an alias for later.

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* Run cargo fmt.

* Add some tests for earlier and later.

* Add more tests and restore the fix for later that diappeared somehow.

* Use ? instead of a match on an option.

Co-authored-by: Ivan Tham <pickfire@riseup.net>

* Rename to UndoKind.

* Remove the leftover match.

* Handle a bunch of review comments.

* More systemd.time compliant time units and additional description for the new commands.

* A more concise rewrite of the time span parser using ideas from PR discussion.

* Replace a match with map_err().

Co-authored-by: Ivan Tham <pickfire@riseup.net>

Co-authored-by: Jakub Bartodziej <jqb@google.com>
Co-authored-by: Ivan Tham <pickfire@riseup.net>
4 years ago
PabloMansanet 86af55c379
Movement fixes, refactor and unit test suite (#217)
* Add convenience/clarity wrapper for Range initialization

* Test horizontal moves

* Add column jumping tests

* Add failing movement conditions for multi-word moves

* Refactor skip_over_next

* Add complex forward movement unit tests

* Add strict whitespace checks and edge case tests

* Restore formatting

* Remove unused function

* Add empty test case for deletion and fix nth_prev_word_boundary

* Add tests for backward motion

* Refactor word movement

* Address review comments and finish refactoring backwards move

* Finish unit test suite

* Fmt pass

* Fix lint erors

* Clean up diff restoring bad 'cargo fmt' actions

* Simplify movement closures (thanks Pickfire)

* Fmt pass

* Replace index-based movement with iterator based movement, ensuring that each move incurs a single call to the RopeSlice API

* Break down tuple function

* Extract common logic to all movement functions

* Split iterator helpers away into their own module

* WIP reducing clones

* Operate on spans

* WIP simplifying iterators

* Simplify motion helpers

* Fix iterator

* Fix all unit tests

* Refactor and simplify

* Simplify fold
4 years ago
Wojciech Kępka 0c2b99327a commands: Handle `t<ENTER>` as till newline 4 years ago
Blaž Hrastnik a8a5bcd13d
Temporarily disable workDone
Blows up on gopls because we don't handle receiving window/workDoneProgress/create method calls
4 years ago
Wojciech Kępka 098806ce2a
lsp: Display LSP progress messages (#216) 4 years ago
Robin van Dijk c0d32707d0 move to first nonwhitespace on shift-i
This matches the behaviour in vim and kak
4 years ago
Timothy DeHerrera d8df10f295 Add Nix runtime 4 years ago
Timothy DeHerrera 38073fd64c Add Nix syntax 4 years ago
Timothy DeHerrera 01760c3845 embed runtime 4 years ago
Timothy DeHerrera 8590f6a912 ignore Nix outputs 4 years ago
Timothy DeHerrera 69378382c3 add overlay 4 years ago
Timothy DeHerrera 1a774d61bb Fix flake package 4 years ago
notoria 1b14e9a19a Downgrade `unicode-segmentation` 4 years ago
notoria e46346c907 Correct tree-sitter-haskell submodule 4 years ago
notoria 9887b1275a Implement missing Debug and update Cargo.lock 4 years ago
Ivan Tham 7cc13fefe9 Derive debug without feature
Note that this also removed those `finish_non_exhaustive()`.
4 years ago
notoria 1a3a924634 Implement Debug for data structure as a feature 4 years ago
Blaž Hrastnik aebdef8257 Reuse a cursor from the pool if available (fixes #202) 4 years ago
Ivan Tham 6b3c9d8ed3 Fix jump behavior, goto_implementation now jump
Better jump behavior since we override the first jump if it's on the
first document. At the same time, ctrl-i is now working with gd jumps.
4 years ago
wojciechkepka 4dbc23ff1c Fix documentation popup panic 4 years ago
Kevin Sjöberg b20e4a108c Only enforce limit outside of .git 4 years ago
Kevin Sjöberg 1bb9977faf Match keybindings of menu 4 years ago
Kevin Sjöberg 29962a5bd9 Fix Shift-Tab for moving upwards in menu 4 years ago
Kevin Sjöberg 7ef0e2cab6 Don't panic on empty document 4 years ago
Corey Powell 35feb614b6 Updated elixir queries to fix crash 4 years ago
Ivan Tham 5e2ba28e0e Fix panic on ctrl-w empty document 4 years ago
Blaž Hrastnik 83723957fe Fix crash when too many completions available
Refs #81
4 years ago
Zheming Li ae51065213 Support go to line 1 4 years ago
Wojciech Kępka 4e3a343602 Make `r<ENTER>` work 4 years ago
Wojciech Kępka 81e02e1ba4 Remove unwanted `as_str` 4 years ago
Wojciech Kępka c349ceb61f Don't replace newlines 4 years ago
Wojciech Kępka 2e4a338944 Add bounds checks to replace 4 years ago
Wojciech Kępka 9c83a98469 commands: Replace all characters in selection 4 years ago
Wojciech Kępka 1bffb34350 Make matching bracket dimmed, prevent out of bounds rendering 4 years ago
Wojciech Kępka c978d811d9 Cleanup find_first_non_whitespace_char funcs 4 years ago
Wojciech Kępka 48df05b16d commands: Add goto first non-whitespace char of line 4 years ago
Kirawi b873fb9897
Fix Unicode (#135)
* init

* wip

* wip

* fix unicode break

* fix unicode break

* Update helix-core/src/transaction.rs

Co-authored-by: Benoît Cortier <benoit.cortier@fried-world.eu>

* clippy

* fix

* add changes

* added test

* wip

* wip

* wip

* wip

* fix

* fix view

* fix #88

Co-authored-by: Benoît Cortier <benoit.cortier@fried-world.eu>
4 years ago
Kelly Thomas Kline 8f1eb7b2b0 Add trace log primer to the Contributing section 4 years ago
Ivan Tham 82fdfdc38e Add missing newline to end of file on load
Fix #152
4 years ago
Egor Karavaev ea6667070f helix-lsp cleanup 4 years ago
Egor Karavaev 960bc9f134 Don't panic on LSP not starting 4 years ago
Kevin Sjöberg 08f50310bd Bump file picker limit 4 years ago
Wojciech Kępka 4bec87ad18 Update keymap 4 years ago
Wojciech Kępka c65b4dea09 commands: Add replace with yanked as `R` 4 years ago
Wojciech Kępka 6fc0e0b5fb completion: Fix unimplemented autocomplete 4 years ago
Blaž Hrastnik 0201ef9205 ui: completion: Use the correct type_name
Fixes #166
4 years ago
Wojciech Kępka 037f45f24e Create all parent directories for config and cache 4 years ago
Blaž Hrastnik 9821beb5c4 Make gh/gl extend selection in select mode 4 years ago
Blaž Hrastnik 3cee0bf200 Address clippy lint 4 years ago
Blaž Hrastnik 4fd38f82a3 Disable failing doctest 4 years ago