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
3 years ago
Wojciech Kępka
c978d811d9
Cleanup find_first_non_whitespace_char funcs
3 years ago
Wojciech Kępka
48df05b16d
commands: Add goto first non-whitespace char of line
3 years ago
Blaž Hrastnik
8d6fad4cac
lsp: Provide workspace root on client.initialize()
3 years ago
Ivan Tham
40744ce835
Add ctrl-w in insert mode
...
It seemed to panic when I pressed too many times, but that is from
lsp side.
3 years ago
Brian Dawn
62d181de78
Provide a feature flag to be able to embed the runtime folder.
...
These changes provide a new feature flag "embed_runtime" that when
enabled and built in release mode will embed the runtime folder into the
resulting binary.
3 years ago
Ivan Tham
d664d1dec0
Default log file to cache
4 years ago
Blaž Hrastnik
6460501a44
Update architecture.md
4 years ago
Blaž Hrastnik
1f2d87cb95
Make the config dir locator work on Windows.
4 years ago
Blaž Hrastnik
0f77f543e5
Determine runtime dir based on executable location or env override.
4 years ago
Blaž Hrastnik
bc4e54c0c4
Load config files from ~/.config/helix, fallback to defaults.
4 years ago
Blaž Hrastnik
cc058ad78f
Simplify some code.
4 years ago
Blaž Hrastnik
73c92a0bc1
Implement m / match_brackets (using tree sitter).
4 years ago
Blaž Hrastnik
cbcacb1063
Merge some imports.
4 years ago
Blaž Hrastnik
71999cce43
Implement auto-pairs behavior for open and close.
4 years ago
Blaž Hrastnik
dbcc099f48
Move things out of state.rs.
4 years ago
Blaž Hrastnik
9dcfe25e4a
Use diagnostic.severity to distinguish between error colors.
4 years ago
Blaž Hrastnik
62c991230f
find-till (f) prototype, on_next_key mode implementation.
4 years ago
Blaž Hrastnik
6cfb1acb9d
commands: Implement expand_selection.
4 years ago
Blaž Hrastnik
4ab5631d65
more lints
4 years ago
Blaž Hrastnik
d0791e0f98
core: Implement comment toggling module.
4 years ago
Blaž Hrastnik
c9dd1c930e
treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref
4 years ago
Blaž Hrastnik
cc6bdf8f66
Text change generation, RPC call handling.
4 years ago
Blaž Hrastnik
f9bfba4d96
Reroute LSP notification events into the main app event loop.
4 years ago
Blaž Hrastnik
d64f4beede
Share tab width definitions.
4 years ago
Blaž Hrastnik
00e661f600
Indent draft, linewise paste
4 years ago
Blaž Hrastnik
1dba0f2b1c
Simple yank/paste registers.
4 years ago
Blaž Hrastnik
fd311fb8ad
Undo tree draft.
...
We keep a tree of transactions. This allows for persistent undo by
simply serializing the changesets.
4 years ago
Blaž Hrastnik
36e7e2133f
Split selection on regex, fix InputEdit generation.
4 years ago
Blaž Hrastnik
3020077da8
Extend selection commands.
4 years ago
Blaž Hrastnik
eb639eb2e4
More robust syntax detection/grammar loading.
4 years ago
Blaž Hrastnik
935cfeae57
Split parts of helix-term into helix-view.
...
It still largely depends on term for some types but I plan to change
that later.
4 years ago
Blaž Hrastnik
48330ddb5f
Command needs access to view information for certain changes.
4 years ago
Blaž Hrastnik
088f8a82af
Incremental parsing: rough draft.
4 years ago
Blaž Hrastnik
9546164dc8
cargo fmt & clippy lint
4 years ago
Blaž Hrastnik
a106be94f1
Refactor a little bit.
4 years ago
Blaž Hrastnik
b17a77b8b8
cleanup: Import tree-sitter-highlight so we can cache trees.
4 years ago
Blaž Hrastnik
b647c7a773
tree-sitter based syntax highlighting draft
4 years ago
Blaž Hrastnik
8b3e152126
cleanup: Make Buffer just a part of State.
4 years ago
Jan Hrastnik
6ba082697d
added cursor rendering
4 years ago
Blaž Hrastnik
e98cdebf1e
Add a command module.
5 years ago
Blaž Hrastnik
10d53f3ef0
Add primitives for converting between char offset indices and coords.
5 years ago
Blaž Hrastnik
387fb57c94
Allow unused code for the time being.
5 years ago
Blaž Hrastnik
613d06dfb0
wip: importing to github
5 years ago
Blaž Hrastnik
1984410ac9
Selection mapping over changesets.
5 years ago
Blaž Hrastnik
b5c38812e9
address clippy warnings
5 years ago
Blaž Hrastnik
23109f1512
OT: changeset: Implement compose and apply.
5 years ago
Blaž Hrastnik
44ff4d3c1f
Implement a new core based on CodeMirror.
5 years ago
Blaž Hrastnik
240e5f4e3d
Initial import.
5 years ago