aboutsummaryrefslogtreecommitdiff
path: root/helix-core
Commit message (Collapse)AuthorAge
* Gutter functionsBlaž Hrastnik2021-11-29
|
* Fix surround cursor position calculation (#1183)Gokul Soumya2021-11-29
| | | | | | | | | | | | | | | Fixes #1077. This was caused by the assumption that a block cursor is represented as zero width internally and simply rendered to be a single width selection, where as in reality a block cursor is an actual single width selection in form and function. Behavioural changes: 1. Surround selection no longer works when cursor is _on_ a surround character that has matching pairs (like `'` or `"`). This was the intended behaviour from the start but worked till now because of the cursor position calculation mismatch.
* Implement black hole register (#1165)ath32021-11-28
|
* Jump to end char of surrounding pair from any cursor pos (#1121)Martin Junghanns2021-11-20
| | | | | | | | | | | | | | | * Jump to end char of surrounding pair from any cursor pos * Separate bracket matching into exact and fuzzy search * Add constants for bracket chars * Abort early if char under cursor is not a bracket * Simplify bracket char validation * Refactor node search and unify find methods * Remove bracket constants
* fix: Expand tilde first, then deal with relative pathsBlaž Hrastnik2021-11-19
| | | | | | Otherwise the ~ gets treated as a relative path. Fixes #1107
* Fix selection remove doc comment (#1122)ath32021-11-18
|
* Add command to inc/dec number under cursor (#1027)Jason Hansen2021-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add command to inc/dec number under cursor With the cursor over a number in normal mode, Ctrl + A will increment the number and Ctrl + X will decrement the number. It works with binary, octal, decimal, and hexidecimal numbers. Here are some examples. 0b01110100 0o1734 -24234 0x1F245 If the number isn't over a number it will try to find a number after the cursor on the same line. * Move several functions to helix-core * Change to work based on word under selection * It no longer finds the next number if the cursor isn't already over a number. * It only matches numbers that are part of words with other characters like "foo123bar". * It now works with multiple selections. * Add some unit tests * Fix for clippy * Simplify some things * Keep previous selection after incrementing * Use short word instead of long word This change requires us to manually handle minus sign. * Don't pad decimal numbers if no leading zeros * Handle numbers with `_` separators * Refactor and add tests * Move most of the code into core * Add tests for the incremented output * Use correct range * Formatting * Rename increment functions * Make docs more specific * This is easier to read * This is clearer * Type can be inferred
* Add movement shortcut for history (#1088)Ivan Tham2021-11-14
| | | alt-u and alt-U
* Add trim_selections command (#1092)ath32021-11-14
|
* minor: Import Range tooBlaž Hrastnik2021-11-14
|
* Implement "Goto last modification" command (#1067)ath32021-11-14
|
* Add `remove_selections` command (#1065)Omnikar2021-11-12
| | | | | | | | | * Add `remove_selections` command * Document `remove_selections` * Update helix-term/src/keymap.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Use default `languages.toml` if user's is invalid (#994)Omnikar2021-11-09
|
* Revert "fix(core): stop merging array toml config values (#1004)"Blaž Hrastnik2021-11-09
| | | | | | It breaks languages.toml merging This reverts commit 4304b52ff86f829115cb89b20160b4f80dbb3dbd.
* Make shebangs optional, they don't make sense outside of scriptsBlaž Hrastnik2021-11-09
|
* Refactor shebang detection to reuse the loaded bufferBlaž Hrastnik2021-11-08
|
* Detect filetype from shebang line (#1001)ath32021-11-08
|
* Specify capacity on toggle_line_commentsBlaž Hrastnik2021-11-08
|
* Adds single and double quotes to matching pairs (#995)Daniel S Poulin2021-11-08
| | | | This enables `mm` to work on quote characters as well as highlighting of matching quote when on it.
* Add WORD textobject (#991)Omnikar2021-11-08
| | | | | * Add WORD textobject * Document WORD textobject
* fix(core): stop merging array toml config values (#1004)Carter Snook2021-11-08
|
* Make sure document diagnostics are sortedBlaž Hrastnik2021-11-06
|
* Implement Selection::replace to replace a single rangeBlaž Hrastnik2021-11-06
| | | | | | Fixes #985 Co-authored-by: Daniel S Poulin <crimsonmage+github@gmail.com>
* Ensure coords in screen depends on char width (#885)Ivan Tham2021-11-03
| | | | | The issue affected files with lots of tabs at the start as well. Fix #840
* Updated tree-sitter query scopes (#896)Kirawi2021-11-03
| | | | | | | | | | | | | | | | | | * 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
* select smaller range on some casecossonleo2021-10-29
|
* Add hyperlinks to fix `cargo doc` warn (#931)Omnikar2021-10-29
|
* Release v0.5.0Blaž Hrastnik2021-10-28
|
* Remove three transmutes from helix-core syntax.rs (#923)Gygaxis Vainhardt2021-10-28
|
* Document more of helix-core (#904)Kirawi2021-10-25
|
* completion: fully revert state before apply & insertText common prefixBlaž Hrastnik2021-10-25
|
* fix: Compose where changes.compose(empty_other)Blaž Hrastnik2021-10-25
|
* Mark a few functions as `const`Blaž Hrastnik2021-10-24
|
* log syntax highlighting init errors (#895)Kirawi2021-10-23
|
* Add treesitter textobjects (#728)Gokul Soumya2021-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Update to rust 1.56 + 2021 editionBlaž Hrastnik2021-10-22
|
* clean up combined-injections comment (#880)Michael Davis2021-10-19
|
* Update mdbook style and fix unreadable table head (#806)Ivan Tham2021-10-09
| | | | | | The styles are now pulled from upstream styles, some of the changes I submitted it back to upstream. Fix #796
* Allow `language.config` (in languages.toml) to be passed in as a toml object ↵Midnight Exigent2021-10-08
| | | | | | | | | | | | | (#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
* build(deps): bump smallvec from 1.6.1 to 1.7.0 (#813)dependabot[bot]2021-10-05
| | | | | | | | | | | | | | | | Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.6.1 to 1.7.0. - [Release notes](https://github.com/servo/rust-smallvec/releases) - [Commits](https://github.com/servo/rust-smallvec/compare/v1.6.1...v1.7.0) --- updated-dependencies: - dependency-name: smallvec dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump similar from 2.0.0 to 2.1.0 (#812)dependabot[bot]2021-10-05
| | | | | | | | | | | | | | | | | Bumps [similar](https://github.com/mitsuhiko/similar) from 2.0.0 to 2.1.0. - [Release notes](https://github.com/mitsuhiko/similar/releases) - [Changelog](https://github.com/mitsuhiko/similar/blob/main/CHANGELOG.md) - [Commits](https://github.com/mitsuhiko/similar/compare/2.0.0...2.1.0) --- updated-dependencies: - dependency-name: similar dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Implement 'remove_primary_selection' as Alt-,Blaž Hrastnik2021-09-24
| | | | | | This allows removing search matches from the selection Fixes #713
* ...Blaž Hrastnik2021-09-16
|
* Fix broken testBlaž Hrastnik2021-09-16
|
* syntax: Properly handle injection-regex for language injectionsBlaž Hrastnik2021-09-16
|
* build(deps): bump similar from 1.3.0 to 2.0.0 (#754)dependabot[bot]2021-09-14
| | | | | | | | | | | | | | | | | Bumps [similar](https://github.com/mitsuhiko/similar) from 1.3.0 to 2.0.0. - [Release notes](https://github.com/mitsuhiko/similar/releases) - [Changelog](https://github.com/mitsuhiko/similar/blob/main/CHANGELOG.md) - [Commits](https://github.com/mitsuhiko/similar/compare/1.3.0...2.0.0) --- updated-dependencies: - dependency-name: similar dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: Need to reset set_byte_range in case cursor_ref is reused.Blaž Hrastnik2021-09-13
|
* syntax: Add go & rust locals, improve tree-sitter error messageBlaž Hrastnik2021-09-06
|
* fix: tree-sitter-scopes would infinitely loopBlaž Hrastnik2021-09-06
|
* Update tree-sitter to 0.20Blaž Hrastnik2021-09-06
| | | | | 0.20 includes querying improvements, we no longer have to convert fragments to strings but can return an iterator of chunks instead.