summaryrefslogtreecommitdiff
path: root/helix-core
Commit message (Collapse)AuthorAge
* Movement fixes, refactor and unit test suite (#217)PabloMansanet2021-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Downgrade `unicode-segmentation`notoria2021-06-10
|
* Derive debug without featureIvan Tham2021-06-10
| | | | Note that this also removed those `finish_non_exhaustive()`.
* Implement Debug for data structure as a featurenotoria2021-06-10
|
* Reuse a cursor from the pool if available (fixes #202)Blaž Hrastnik2021-06-10
|
* Fix panic on ctrl-w empty documentIvan Tham2021-06-08
|
* Cleanup find_first_non_whitespace_char funcsWojciech Kępka2021-06-08
|
* commands: Add goto first non-whitespace char of lineWojciech Kępka2021-06-08
|
* Fix Unicode (#135)Kirawi2021-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Implement register selectionBenoît CORTIER2021-06-07
| | | | | | User can select register to yank into with the " command. A new state is added to `Editor` and `commands::Context` structs. This state is managed by leveraging a new struct `RegisterSelection`.
* lsp: Provide workspace root on client.initialize()Blaž Hrastnik2021-06-07
|
* Release 0.0.10Blaž Hrastnik2021-06-07
|
* fix: 2 panics while setting style + off by 1ahkrr2021-06-07
| | | | | | | | | | | | The panics would occur because set_style would draw outside of the the surface. Both occured using `find_prev` or `till_prev` In my case the first panic! would appear in a terminal with around 80 columns in helix/README.md going to the end of the file with `geglf(` the second with `geglfX` The off by one fix ensures that `find_nth_prev` starts at the first character to the left
* Install instructions and version number corrections (#148)Ethan Bodzioney2021-06-07
| | | | | | | | | | | | | | | | | | | * Add MacOS install instructions * Change version name argument When using the -V command to get the version you are given 'helix-term x.x.x', I changed this to just helix as it makes more sense. * Fixed version number * Fixed version number * Fixed version number * Fixed version number * Fixed version number * Fixed version number
* Fix panic when moving over unicode punctuationBenoît CORTIER2021-06-07
| | | | | | | | | | | | `is_ascii_punctuation` will only work for ASCII punctuations, and when we have unicode punctuation (or other) we jump into the `unreachable`. This patch fallback into categorizing everything in this branch as `Unknown`. Fixes https://github.com/helix-editor/helix/issues/123 https://github.com/helix-editor/helix/pull/135: add better support for unicode categories.
* Add test for prev wordIvan Tham2021-06-06
|
* Add ctrl-w in insert modeIvan Tham2021-06-06
| | | | | It seemed to panic when I pressed too many times, but that is from lsp side.
* Return an error if we request an embedded file that does not exist.Brian Dawn2021-06-06
| | | | | This makes the load_runtime_file function behave like the non-embedded one.
* Add a smoke test around loading runtime files.Brian Dawn2021-06-06
| | | | This test makes sure we can read some amount of data from the runtime folder.
* Simplify the load_runtime_file code.Brian Dawn2021-06-06
| | | | Reduce the number of feature switches for the embed_runtime feature.
* Simplify creating pathbufs.Brian Dawn2021-06-06
| | | Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Apply suggestions from code reviewBrian Dawn2021-06-06
| | | | Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Make rust-embed optionally included based on the embed_runtime feature.Brian Dawn2021-06-06
|
* Provide a feature flag to be able to embed the runtime folder.Brian Dawn2021-06-06
| | | | | | 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.
* fix: make find_prev_char and till_prev_char workahkrr2021-06-05
| | | | | | Bevore this PR `commands::find_prev_char` and `commands::till_prev_char` were triggerable through keys but `seach::find_nth_next()` was hardcoded in `_find_char`. The passed `fn` was nerver used. With this PR the passed `fn` is used. The change in search.rs resolves an off by one error in the behivor of `find_nth_prev`
* Add unreachable contextIvan Tham2021-06-05
| | | Better error for #123
* Don't panic on empty file/buffer (#108)notoria2021-06-05
|
* Fixing Multiple Panics (#121)Kirawi2021-06-05
| | | | | | | * init * wip * wip
* Try to detect language when document file path is setBlaž Hrastnik2021-06-04
| | | | Fixes #91
* Remove swapfilenotoria2021-06-04
|
* Convert byte index to char index for `find`notoria2021-06-04
|
* Merge pull request #77 from notoria/match_bracketsBlaž Hrastnik2021-06-03
|\ | | | | Fix match_brackets::find
| * Fix match_brackets::findnotoria2021-06-03
| |
* | Default log file to cacheIvan Tham2021-06-03
|/
* Separate document history into CellIvan Tham2021-06-02
| | | | | As history is used separately from the rest of the edits, separating it can avoid needless borrowing and cloning. But one need to be aware later.
* Better fix for w/e that also covers `ia<esc>we`/`ia<esc>wb`Blaž Hrastnik2021-06-02
|
* f/t: Check if at bounds before searching, refs #43, closes #37Blaž Hrastnik2021-06-02
|
* Fix panics when triggering w or e on the last char of the lineBlaž Hrastnik2021-06-02
| | | | Closes #32
* fix: Don't allow moving past last line, fixes #30, #24Blaž Hrastnik2021-06-02
| | | | Off by 1 error
* Categorize _ as a word char, not punctuationBlaž Hrastnik2021-05-31
|
* Allow moving to EOL byte, also fixes #15Blaž Hrastnik2021-05-31
|
* Drop clap for pico-argsBlaž Hrastnik2021-05-31
| | | | | We barely have any flags so it's not worth the compilation time or binary size to use clap.
* Update architecture.mdBlaž Hrastnik2021-05-30
|
* Update deps, introduce the new tree-sitter lifetimesBlaž Hrastnik2021-05-27
|
* When calculating a new selection, we need to take newly inserted text into ↵Blaž Hrastnik2021-05-15
| | | | account.
* Hacky way to specify indent scopes per language via toml configs.Blaž Hrastnik2021-05-14
| | | | | | | | | Can't do it via a scm query nicely because it returns an iterator over all the matches, whereas we want to traverse the tree ourselves. Can't extract the pattern data from a parsed query either. Oh well, toml files for now.
* Add the LICENSE file.Blaž Hrastnik2021-05-10
|
* Fix indent test, we need to use the in-tree runtime dir.Blaž Hrastnik2021-05-10
|
* Fix runtime dir lookup.Blaž Hrastnik2021-05-10
|
* Make the config dir locator work on Windows.Blaž Hrastnik2021-05-10
|