aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src
Commit message (Collapse)AuthorAge
* Fixed primary cursor position calculation to use 1-width semantics.Nathan Vegdahl2021-07-19
| | | | | This had a bunch of knock-on effects that were buggy, such as bracket match highlighting.
* Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-19
|\
| * Remove ExactSizeIterator requirement on Transaction::changeBlaž Hrastnik2021-07-19
| | | | | | | | Size hint is enough.
| * Made toggle_comments language dependent (#463)Cor Peters2021-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | * Made toggle_comments language dependent * Fixed Test Cases * Added clippy suggestion * Small Fixes * Clippy Suggestion Co-authored-by: Cor <prive@corpeters.nl>
| * Added option to provide a custom config file to the lsp. (#460)Cor Peters2021-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added option to provide a custom config file to the lsp. * Simplified lsp loading routine with anyhow * Moved config to language.toml * Fixed test case * Cargo fmt * Revert now-useless changes * Renamed custom_config to config Co-authored-by: Cor <prive@corpeters.nl>
* | Update word selection/navigation to work with gap indexing.Nathan Vegdahl2021-07-19
| | | | | | | | | | | | Also tweaked some of the existing behavior that seemed inconsistent and/or buggy. It's mostly identical, just a few corner cases are different.
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-17
|\|
| * Dynamically load grammar libraries at runtimeBlaž Hrastnik2021-07-14
| |
| * Rewritten Rust `highlights.scm` (#425)Kirawi2021-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rewrote Rust highlights.scm * wip * wip * wip * wip * fixed type highlighting * wip * rewrite again * moved operators * missing newline * missing newline * update book * fix constructor highlighting * fix constructor highlighting * fix const highlighting * better constructor highlighting * remove dup, bug was my locals.scm file * fixed docs * merge * fixed for highlighting * add yield * remove yield * added yield back * fixed yield highlighting * unecessary
* | Update surround commands to work with gap indexing.Nathan Vegdahl2021-07-08
| |
* | Implement `Range::put()` which manages range movements and extensions.Nathan Vegdahl2021-07-08
| | | | | | | | | | In particular, this wraps the annoying logic involved in keeping the cursor width to 1 grapheme.
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-06
|\|
| * Fix typo on comment in surroundIvan Tham2021-07-03
| |
| * Fix surround bug when cursor on same pairGokul Soumya2021-07-03
| | | | | | | | | | | | For example when the cursor is _on_ the `'` in `'word'`, the cursor wouldn't move because the search for a matching pair started _from_ the position of the cursor and simply found itself.
| * Add object selection (textobjects) (#385)Gokul Soumya2021-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add textobjects for word * Add textobjects for surround characters * Apply clippy lints * Remove ThisWordPrevBound in favor of PrevWordEnd It's the same as PrevWordEnd except for taking the current char into account, so use a "flag" to capture that usecase * Add tests for PrevWordEnd movement * Remove ThisWord* movements They did not preserve anchor positions and were only used for textobject boundary search anyway so replace them with simple position finding functions * Rewrite tests of word textobject * Add tests for surround textobject * Add textobject docs * Refactor textobject word position functions * Apply clippy lints on textobject * Fix overflow error with textobjects
| * `:reload` (#374)Kirawi2021-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * reloading functionality * fn with_newline_eof() * fmt * wip * wip * wip * wip * moved to core, added simd feature for encoding_rs * wip * rm * .gitignore * wip * local wip * wip * wip * no features * wip * nit * remove simd * doc * clippy * clippy * address comments * add indentation & line ending change
| * Add missing importPerry Thompson2021-07-02
| |
* | Make vertical selection movement work properly.Nathan Vegdahl2021-07-06
| |
* | Make horizontal selection movement work properly.Nathan Vegdahl2021-07-02
| |
* | Allow last line in file to lack a line break character.Nathan Vegdahl2021-07-02
| |
* | Fix a couple additional `unused` warnings after merge.Nathan Vegdahl2021-07-02
| |
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-02
|\|
| * Fixed last `unused` warning.Nathan Vegdahl2021-07-02
| |
| * Fix one of the two remaining warnings.Nathan Vegdahl2021-07-02
| | | | | | | | One of them was a lot more obvious than I thought.
| * Fix all remaining warnings in helix-core except for two.Nathan Vegdahl2021-07-02
| | | | | | | | | | I'm not sure how to address them, because they look like they might be bugs, and code is involved. Will poke the relevant people.
| * Remove #[allow(unused)] from helix-core, and fix unused imports.Nathan Vegdahl2021-07-02
| | | | | | | | Still a bunch more warnings to fix in core, but it's a start.
* | Ensure a minimum selection width on commands that need it.Nathan Vegdahl2021-07-01
| |
* | Make `Selection`'s normalize and transform methods self-consuming only.Nathan Vegdahl2021-07-01
| |
* | Clean up `Selection` to not use so many allocations.Nathan Vegdahl2021-07-01
| |
* | Better validation method APIs for `Range`.Nathan Vegdahl2021-07-01
| | | | | | | | | | This way they do less work, are more specific to what we actually need, and they compose.
* | Add `Range` methods for various kinds of validation.Nathan Vegdahl2021-07-01
| |
* | Change the `Range` type and associated functions to gap indexing.Nathan Vegdahl2021-07-01
|/
* fix: Correctly merge multiple selection ranges togetherBlaž Hrastnik2021-06-30
| | | | Fixes #391
* Incorporate long word commands into keymapPabloMansanet2021-06-29
|
* Add long word unit testsPabloMansanet2021-06-29
|
* Add long word motion implementationPabloMansanet2021-06-29
|
* fix ca98210d2016d96d1c441932d7a67bbc6e5eccb7Blaž Hrastnik2021-06-28
|
* fix: insert() | delete() would calculate the new insert incorrectlyBlaž Hrastnik2021-06-28
| | | | Refs #386
* Don't crash if diagnostics span past EOFBlaž Hrastnik2021-06-28
|
* Extract the merge "operator" into helix-coreBlaž Hrastnik2021-06-27
|
* Release 0.3.0Blaž Hrastnik2021-06-27
|
* Fix silly mistake in previous phantom line bug fix.Nathan Vegdahl2021-06-26
| | | | | Fixes #381. I was trying to change an index value that... wasn't even an index value.
* Fix highlight code splitting graphemes.Nathan Vegdahl2021-06-26
| | | | | | This resulted in phantom blank lines in files with CRLF line endings, but could potentially have manifested with other graphemes as well.
* Skip enclosed pairs in surroundGokul Soumya2021-06-24
| | | | | | | | | Surround operations previously ignored other pairs that are enclosed within which should be skipped. For example if the cursor is on the `,` in `{{a},{b}}`, doing `md{` previously would delete the `{` on the left of `a` and `}` on the right of `b` instead of the outermost braces. This commit corrects this behavior.
* Handle erroneously ignored case in RopeGraphemes iterator.Nathan Vegdahl2021-06-24
|
* fix: crash with ctrl-c on empty fileBlaž Hrastnik2021-06-23
|
* Handle non-UTF8 filesShafkath Shuhan2021-06-23
|
* Missed some items in the CRLF PR.Nathan Vegdahl2021-06-23
|
* fix: Select matching at the start of the doc could crash. Fixes #346Blaž Hrastnik2021-06-23
|
* Correctly identify pairs when cursor on pairGokul Soumya2021-06-22
|