Commit Graph

232 Commits (a8a5bcd13d5c78b1613ad4ea47f8948a5ce4b8ce)

Author SHA1 Message Date
notoria 1b14e9a19a Downgrade `unicode-segmentation` 3 years ago
Ivan Tham 7cc13fefe9 Derive debug without feature
Note that this also removed those `finish_non_exhaustive()`.
3 years ago
notoria 1a3a924634 Implement Debug for data structure as a feature 3 years ago
Blaž Hrastnik aebdef8257 Reuse a cursor from the pool if available (fixes #202) 3 years ago
Ivan Tham 5e2ba28e0e Fix panic on ctrl-w empty document 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
Kirawi b873fb9897
Fix Unicode (#135)
* 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>
3 years ago
Benoît CORTIER 68affa3c59 Implement register selection
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`.
3 years ago
Blaž Hrastnik 8d6fad4cac lsp: Provide workspace root on client.initialize() 3 years ago
Blaž Hrastnik f48a60b8e2 Release 0.0.10 3 years ago
ahkrr e2d780f993 fix: 2 panics while setting style + off by 1
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
3 years ago
Ethan Bodzioney 843c2cdebd
Install instructions and version number corrections (#148)
* 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
3 years ago
Benoît CORTIER 8a29086c1a Fix panic when moving over unicode punctuation
`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.
3 years ago
Ivan Tham df80f3c966 Add test for prev word 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 5463a436a8 Return an error if we request an embedded file that does not exist.
This makes the load_runtime_file function behave like the non-embedded
one.
3 years ago
Brian Dawn e09b0f4eff Add a smoke test around loading runtime files.
This test makes sure we can read some amount of data from the runtime folder.
3 years ago
Brian Dawn f3db12e240 Simplify the load_runtime_file code.
Reduce the number of feature switches for the embed_runtime feature.
3 years ago
Brian Dawn 676719b361 Simplify creating pathbufs.
Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Brian Dawn ae105812d6 Apply suggestions from code review
Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Brian Dawn 255598a2cb Make rust-embed optionally included based on the embed_runtime feature. 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
ahkrr 444cd0b068 fix: make find_prev_char and till_prev_char work
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`
4 years ago
Ivan Tham 6254720f53
Add unreachable context
Better error for #123
4 years ago
notoria 2bb71a829e
Don't panic on empty file/buffer (#108) 4 years ago
Kirawi c17dcb8633
Fixing Multiple Panics (#121)
* init

* wip

* wip
4 years ago
Blaž Hrastnik 06d8d3f55f Try to detect language when document file path is set
Fixes #91
4 years ago
notoria 8af5a9a5cf Remove swapfile 4 years ago
notoria f76f44c8af Convert byte index to char index for `find` 4 years ago
Blaž Hrastnik 74e4ac8d49
Merge pull request #77 from notoria/match_brackets
Fix match_brackets::find
4 years ago
notoria 4fe654cf9a Fix match_brackets::find 4 years ago
Ivan Tham d664d1dec0 Default log file to cache 4 years ago
Ivan Tham f5f46b1fed Separate document history into Cell
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.
4 years ago
Blaž Hrastnik f4560cb68a Better fix for w/e that also covers `ia<esc>we`/`ia<esc>wb` 4 years ago
Blaž Hrastnik 0851110d10 f/t: Check if at bounds before searching, refs #43, closes #37 4 years ago
Blaž Hrastnik 3ace581191 Fix panics when triggering w or e on the last char of the line
Closes #32
4 years ago
Blaž Hrastnik c0264b9f7f fix: Don't allow moving past last line, fixes #30, #24
Off by 1 error
4 years ago
Blaž Hrastnik 2cc30cd07c Categorize _ as a word char, not punctuation 4 years ago
Blaž Hrastnik 17e9386388 Allow moving to EOL byte, also fixes #15 4 years ago
Blaž Hrastnik 138787f76e Drop clap for pico-args
We barely have any flags so it's not worth the compilation time or
binary size to use clap.
4 years ago
Blaž Hrastnik 6460501a44 Update architecture.md 4 years ago
Blaž Hrastnik 094203c74e Update deps, introduce the new tree-sitter lifetimes 4 years ago
Blaž Hrastnik 0e5b421646 When calculating a new selection, we need to take newly inserted text into account. 4 years ago
Blaž Hrastnik 4a9d1163e0 Hacky way to specify indent scopes per language via toml configs.
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.
4 years ago
Blaž Hrastnik 5cbb4efa6d Add the LICENSE file. 4 years ago
Blaž Hrastnik 0190fee1c2 Fix indent test, we need to use the in-tree runtime dir. 4 years ago
Blaž Hrastnik cd1754f783 Fix runtime dir lookup. 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