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
2021-06-11 21:57:07 +09:00
Wojciech Kępka
c978d811d9
Cleanup find_first_non_whitespace_char funcs
2021-06-08 17:22:37 +09:00
Wojciech Kępka
48df05b16d
commands: Add goto first non-whitespace char of line
2021-06-08 17:22:37 +09:00
Blaž Hrastnik
8d6fad4cac
lsp: Provide workspace root on client.initialize()
2021-06-07 21:32:01 +09:00
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.
2021-06-06 21:30:18 +09:00
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.
2021-06-06 10:49:17 +09:00
Ivan Tham
d664d1dec0
Default log file to cache
2021-06-03 10:15:17 +08:00
Blaž Hrastnik
6460501a44
Update architecture.md
2021-05-30 17:52:46 +09:00
Blaž Hrastnik
1f2d87cb95
Make the config dir locator work on Windows.
2021-05-10 16:21:55 +09:00
Blaž Hrastnik
0f77f543e5
Determine runtime dir based on executable location or env override.
2021-05-10 01:02:53 +09:00
Blaž Hrastnik
bc4e54c0c4
Load config files from ~/.config/helix, fallback to defaults.
2021-04-07 23:56:20 +09:00
Blaž Hrastnik
cc058ad78f
Simplify some code.
2021-04-01 11:04:25 +09:00
Blaž Hrastnik
73c92a0bc1
Implement m / match_brackets (using tree sitter).
2021-03-22 17:58:49 +09:00
Blaž Hrastnik
cbcacb1063
Merge some imports.
2021-03-22 12:40:07 +09:00
Blaž Hrastnik
71999cce43
Implement auto-pairs behavior for open and close.
2021-03-22 12:22:33 +09:00
Blaž Hrastnik
dbcc099f48
Move things out of state.rs.
2021-03-18 14:07:53 +09:00
Blaž Hrastnik
9dcfe25e4a
Use diagnostic.severity to distinguish between error colors.
2021-03-11 16:31:49 +09:00
Blaž Hrastnik
62c991230f
find-till (f) prototype, on_next_key mode implementation.
2021-03-11 10:44:38 +09:00
Blaž Hrastnik
6cfb1acb9d
commands: Implement expand_selection.
2021-02-22 17:02:32 +09:00
Blaž Hrastnik
4ab5631d65
more lints
2021-02-18 18:45:41 +09:00
Blaž Hrastnik
d0791e0f98
core: Implement comment toggling module.
2021-02-18 18:35:39 +09:00
Blaž Hrastnik
c9dd1c930e
treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref
2021-02-18 18:34:22 +09:00
Blaž Hrastnik
cc6bdf8f66
Text change generation, RPC call handling.
2020-12-03 13:10:35 +09:00
Blaž Hrastnik
f9bfba4d96
Reroute LSP notification events into the main app event loop.
2020-12-03 13:10:32 +09:00
Blaž Hrastnik
d64f4beede
Share tab width definitions.
2020-10-14 13:35:54 +09:00
Blaž Hrastnik
00e661f600
Indent draft, linewise paste
2020-10-13 23:13:56 +09:00
Blaž Hrastnik
1dba0f2b1c
Simple yank/paste registers.
2020-10-13 23:13:56 +09:00
Blaž Hrastnik
fd311fb8ad
Undo tree draft.
...
We keep a tree of transactions. This allows for persistent undo by
simply serializing the changesets.
2020-10-13 23:13:56 +09:00
Blaž Hrastnik
36e7e2133f
Split selection on regex, fix InputEdit generation.
2020-09-29 01:01:27 +09:00
Blaž Hrastnik
3020077da8
Extend selection commands.
2020-09-29 01:00:35 +09:00
Blaž Hrastnik
eb639eb2e4
More robust syntax detection/grammar loading.
2020-09-22 18:27:37 +09:00
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.
2020-09-21 18:24:16 +09:00
Blaž Hrastnik
48330ddb5f
Command needs access to view information for certain changes.
2020-09-19 23:16:00 +09:00
Blaž Hrastnik
088f8a82af
Incremental parsing: rough draft.
2020-09-17 16:32:40 +09:00
Blaž Hrastnik
9546164dc8
cargo fmt & clippy lint
2020-09-12 19:38:30 +09:00
Blaž Hrastnik
a106be94f1
Refactor a little bit.
2020-09-12 17:44:57 +09:00
Blaž Hrastnik
b17a77b8b8
cleanup: Import tree-sitter-highlight so we can cache trees.
2020-09-11 14:14:44 +09:00
Blaž Hrastnik
b647c7a773
tree-sitter based syntax highlighting draft
2020-09-10 18:19:59 +09:00
Blaž Hrastnik
8b3e152126
cleanup: Make Buffer just a part of State.
2020-09-07 11:28:52 +09:00
Jan Hrastnik
6ba082697d
added cursor rendering
2020-06-24 20:59:35 +02:00
Blaž Hrastnik
e98cdebf1e
Add a command module.
2020-06-08 00:15:39 +09:00
Blaž Hrastnik
10d53f3ef0
Add primitives for converting between char offset indices and coords.
2020-06-05 14:04:30 +09:00
Blaž Hrastnik
387fb57c94
Allow unused code for the time being.
2020-06-02 10:59:02 +09:00
Blaž Hrastnik
613d06dfb0
wip: importing to github
2020-06-01 17:42:28 +09:00
Blaž Hrastnik
1984410ac9
Selection mapping over changesets.
2020-05-28 14:59:50 +09:00
Blaž Hrastnik
b5c38812e9
address clippy warnings
2020-05-28 14:45:44 +09:00
Blaž Hrastnik
23109f1512
OT: changeset: Implement compose and apply.
2020-05-26 18:11:11 +09:00
Blaž Hrastnik
44ff4d3c1f
Implement a new core based on CodeMirror.
2020-05-25 13:02:21 +09:00
Blaž Hrastnik
240e5f4e3d
Initial import.
2020-05-20 18:14:51 +09:00