aboutsummaryrefslogtreecommitdiff
path: root/helix-core
Commit message (Collapse)AuthorAge
* Fix append newline indentIvan Tham2021-07-26
| | | | Fix #492
* Implement in-memory prompt historyBlaž Hrastnik2021-07-26
| | | | | Implementation is similar to kakoune: we store the entries into a register.
* Determine whether to use a margin of 0 or 1 when uncommenting (#476)Omnikar2021-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement `margin` calculation for uncommenting * Move `margin` calculation to `find_line_comment` * Fix comment bug with multiple selections on a line * Fix `find_line_comment` test for new return type * Generate a single vec of lines for comment toggle `toggle_line_comments` collects the lines covered by all selections into a `Vec`, skipping duplicates. `find_line_comment` now returns the lines to operate on, instead of returning the lines to skip. * Fix test for `find_line_comment` * Reserve length of `to_change` instead of `lines` The length of `lines` includes blank lines which will be skipped, and as such do not need space for a change reserved for them. `to_change` includes only the lines which will be changed. * Use `token.chars().count()` for token char length * Create `changes` with capacity instead of reserving * Remove unnecessary clones in `test_find_line_comment` * Add test case for 0 margin comments * Add comments explaining `find_line_comment`
* The item `fmt` was imported redundantlyfossdd2021-07-22
| | | | | | | | | | | | | | | Fixed warning: ``` warning: the item `fmt` is imported redundantly --> helix-core/src/syntax.rs:98:9 | 16 | fmt, | --- the item `fmt` is already imported here ... 98 | use std::fmt; | ^^^^^^^^ | ```
* 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>
* 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
* Bump unicode-segmentation from 1.7.1 to 1.8.0dependabot[bot]2021-07-06
| | | | | | | | | | | | | | Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.7.1 to 1.8.0. - [Release notes](https://github.com/unicode-rs/unicode-segmentation/releases) - [Commits](https://github.com/unicode-rs/unicode-segmentation/compare/1.7.1...v1.8.0) --- updated-dependencies: - dependency-name: unicode-segmentation dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* 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
|
* 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.
* 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
|
* Refactor and add tests for surroundGokul Soumya2021-06-22
|
* Add more surround pair charactersGokul Soumya2021-06-22
|
* Add surround keybindsGokul Soumya2021-06-22
|
* Flesh out the line ending utility unit tests.Nathan Vegdahl2021-06-21
|
* Fix clippy warnings.Nathan Vegdahl2021-06-21
|
* Add function to get the line ending of a str slice.Nathan Vegdahl2021-06-21
| | | | This is needed in some places.
* Silence clippy warning.Nathan Vegdahl2021-06-20
|
* Merge branch 'master' of github.com:helix-editor/helix into ↵Nathan Vegdahl2021-06-20
|\ | | | | | | | | | | | | line_ending_detection Rebasing was making me manually fix conflicts on every commit, so merging instead.
| * Re-export unicode crates from helix_coreBlaž Hrastnik2021-06-20
| |
| * ui: prompt: Better unicode supportBlaž Hrastnik2021-06-20
| | | | | | | | | | We copied over eval_movement from wezterm, that already solves most of our problems. self.cursor is now byte-based.
| * Only reconfiure highlights when setting themewojciechkepka2021-06-19
| |
| * Add ability to change theme on editorwojciechkepka2021-06-19
| |
* | Work on moving code over to LineEnding instead of assuming '\n'.Nathan Vegdahl2021-06-20
| | | | | | | | Also some general cleanup and some minor fixes along the way.