Daniel S Poulin
1e793c2bbf
Adds single and double quotes to matching pairs ( #995 )
...
This enables `mm` to work on quote characters as well as highlighting of
matching quote when on it.
3 years ago
Omnikar
a252ecd8c8
Add WORD textobject ( #991 )
...
* Add WORD textobject
* Document WORD textobject
3 years ago
Carter Snook
4304b52ff8
fix(core): stop merging array toml config values ( #1004 )
3 years ago
Blaž Hrastnik
e80708eba7
Make sure document diagnostics are sorted
3 years ago
Blaž Hrastnik
6431b26a6a
Implement Selection::replace to replace a single range
...
Fixes #985
Co-authored-by: Daniel S Poulin <crimsonmage+github@gmail.com>
3 years ago
Ivan Tham
3eb829e233
Ensure coords in screen depends on char width ( #885 )
...
The issue affected files with lots of tabs at the start as well.
Fix #840
3 years ago
Kirawi
ee889aaa85
Updated tree-sitter query scopes ( #896 )
...
* updated theme scopes
variable.property -> variable.field
property -> variable.field
* updated theme scopes
* update book and themes
updated book and themes to reflect scope changes
* wip
* update more queries
* update dark_plus.toml
3 years ago
cossonleo
befecc8a9a
select smaller range on some case
3 years ago
Omnikar
45fadf6151
Add hyperlinks to fix `cargo doc` warn ( #931 )
3 years ago
Gygaxis Vainhardt
0a38983ee3
Remove three transmutes from helix-core syntax.rs ( #923 )
3 years ago
Kirawi
92c2d5d3bf
Document more of helix-core ( #904 )
3 years ago
Blaž Hrastnik
3edca7854e
completion: fully revert state before apply & insertText common prefix
3 years ago
Blaž Hrastnik
bfb6cff5a9
fix: Compose where changes.compose(empty_other)
3 years ago
Blaž Hrastnik
cee7ad781e
Mark a few functions as `const`
3 years ago
Kirawi
0cb5e0b2ca
log syntax highlighting init errors ( #895 )
3 years ago
Gokul Soumya
4ee92cad19
Add treesitter textobjects ( #728 )
...
* Add treesitter textobject queries
Only for Go, Python and Rust for now.
* Add tree-sitter textobjects
Only has functions and class objects as of now.
* Fix tests
* Add docs for tree-sitter textobjects
* Add guide for creating new textobject queries
* Add parameter textobject
Only parameter.inside is implemented now, parameter.around
will probably require custom predicates akin to nvim' `make-range`
since we want to select a trailing comma too (a comma will be
an anonymous node and matching against them doesn't work similar
to named nodes)
* Simplify TextObject cell init
3 years ago
Michael Davis
1766bdb9d4
clean up combined-injections comment ( #880 )
3 years ago
Ivan Tham
4260b31ec0
Update mdbook style and fix unreadable table head ( #806 )
...
The styles are now pulled from upstream styles, some of the changes I
submitted it back to upstream.
Fix #796
3 years ago
Midnight Exigent
eedcea7e6b
Allow `language.config` (in languages.toml) to be passed in as a toml object ( #807 )
...
* allow language.config (in languages.toml) to be passed in as a toml object
* Change config field for languages from json string to toml object
* remove indents on languages.toml config
* fix: remove patch version from serde_json import in helix-core
* Use same tree-sitter-zig as upstream/master
3 years ago
Blaž Hrastnik
2e0803c8d9
Implement 'remove_primary_selection' as Alt-,
...
This allows removing search matches from the selection
Fixes #713
3 years ago
Blaž Hrastnik
64e8f0017c
...
3 years ago
Blaž Hrastnik
d8b94ba85f
Fix broken test
3 years ago
Blaž Hrastnik
dd0b15e1f1
syntax: Properly handle injection-regex for language injections
3 years ago
Blaž Hrastnik
066367c0a4
fix: Need to reset set_byte_range in case cursor_ref is reused.
3 years ago
Blaž Hrastnik
4ac29434cb
syntax: Add go & rust locals, improve tree-sitter error message
3 years ago
Blaž Hrastnik
585e3ce830
fix: tree-sitter-scopes would infinitely loop
3 years ago
Blaž Hrastnik
3cb95be452
Update tree-sitter to 0.20
...
0.20 includes querying improvements, we no longer have to convert
fragments to strings but can return an iterator of chunks instead.
3 years ago
Brian Shu
fa4caf7e3d
remove unsafe
3 years ago
Yusuf Bera Ertan
dc57f8dc89
feat: merge default languages.toml with user provided languages.toml, add a generic TOML value merge function ( #654 )
...
* feat: merge default languages.toml with user provided languages.toml
* refactor: use catch-all to override all other values for merge toml
* tests: add a test case for merging languages configs
* refactor: change test module name
3 years ago
Blaž Hrastnik
68bf9fdf02
Fix tests broken by the State change
3 years ago
Blaž Hrastnik
9d4c301563
Reduce State use a bit further
...
This is a legacy type that should be fully removed.
3 years ago
Kirawi
b99db7c687
Move path util functions from helix-term to helix-core ( #650 )
3 years ago
langbamit
36095326d0
Fix auto pairs return wrong selection ( #613 )
3 years ago
Cor Peters
ac3c1719c9
Fixes crash on empty rust file. ( #592 )
...
Fixes #591
Co-authored-by: Cor Peters <luctius@gmail.com>
3 years ago
Blaž Hrastnik
b635e35818
Appease clippy
3 years ago
Blaž Hrastnik
fd1eaafff5
Add :tree-sitter-scopes, useful when developing indents.toml
3 years ago
Blaž Hrastnik
7c834d6506
fix: tree sitter rendering glitches with multiple selection edits
3 years ago
Nathan Vegdahl
b5223618ed
Document `pos_at_coords` better.
...
Particularly the effect of the `limit_before_line_ending`
parameter.
3 years ago
Nathan Vegdahl
953125d3f3
Fix around-word text-object selection. ( #546 )
...
* Fix around-word text-object selection.
* Text object around-word: select to the left if no whitespace on the right.
Also only select around when there's whitespace at all.
* Make select-word-around select all white space on a side.
* Update commented-out test case.
* Fix unused import warning from rebase.
3 years ago
Nathan Vegdahl
c9cbc344fc
Fix buggy surround behavior from #376 .
...
Fixes #543 .
3 years ago
Blaž Hrastnik
62eb8c6b40
mouse: Remove verify_screen_coords, refactor primary selection modification
3 years ago
Blaž Hrastnik
0fdb626c2c
Remove embed_runtime feature
...
It's no longer practical to maintain. Closes #451
3 years ago
Nathan Vegdahl
f88d4c1e20
Move indent-style code into `helix_core::indent`.
3 years ago
Nathan Vegdahl
3fda350494
Fixes for new clippy lints in Rust 1.54.
3 years ago
Nathan Vegdahl
cd7302ffd3
Enforce cursor/selection invariants in one place.
...
Rather than per-command like before.
3 years ago
Nathan Vegdahl
aead4e69a6
Minor cleanup of the vertical movement code.
3 years ago
Nathan Vegdahl
84f8167fd1
Use `match` for branching on the `Direction` enum in more places.
3 years ago
Nathan Vegdahl
5229c5387f
Add unit tests for some of the new `Range` methods.
3 years ago
Nathan Vegdahl
b2c76dc627
Improve `Range` documentation and organization.
3 years ago
Nathan Vegdahl
f62ec6e51e
Merge branch 'master' into great_line_ending_and_cursor_range_cleanup
3 years ago