aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src
Commit message (Collapse)AuthorAge
* feat(ui): file encoding in statusline (#1355)Matouš Dzivjak2021-12-25
| | | | | | | | | | | * feat(ui): file encoding in statusline Display file encoding in statusline if the encoding isn't UTF-8. * Re-export encoding_rs from core From there it can be imported by other mods that rely on it.
* feat(lsp): configurable diagnostic severity (#1325)Matouš Dzivjak2021-12-25
| | | | | | | | | | | | | | | | * feat(lsp): configurable diagnostic severity Allow severity of diagnostic messages to be configured. E.g. allow turning of Hint level diagnostics. Fixes: https://github.com/helix-editor/helix/issues/1007 * Use language_config() method * Add documentation for diagnostic_severity * Use unreachable for unknown severity level * fix: documentation for diagnostic_severity config
* Fix match brackets comment (#1346)Stuart Hinson2021-12-24
|
* Auto pairs selection (#1254)Skyler Hawthorne2021-12-21
| | | | | | | | | | | | | | | | * use auto pairs with selections Previously, the auto pairs code was converting the user selection into its cursor form, and setting the transaction's selection to that cursor. This has the effect of destroying the user's selection if they type a pair character that gets auto completed. This fixes the code to work with the user's selection, inserting auto pairs where appropriate, but either keeping or extending the user's selection. * use movement::Direction instead of bool * assume 0-width cursor is forward
* Apply recent nightly suggestions (#1286)Kirawi2021-12-18
| | | array iterators are now implicit
* Add auto pairs for same-char pairs (#1219)Skyler Hawthorne2021-12-13
| | | | | | | | | | | | | | | * Add auto pairs for same-char pairs * Add unit tests for all existing functionality * Add auto pairs for same-char pairs (quotes, etc). Account for apostrophe in prose by requiring both sides of the cursor to be non-pair chars or whitespace. This also incidentally will work for avoiding a double single quote in lifetime annotations, at least until <> is added * Slight factor of moving the cursor transform of the selection to inside the hooks. This will enable doing auto pairing with selections, and fixing the bug where auto pairs destroy the selection. Fixes #1014
* Open files with spaces in filename, allow opening multiple files (#1231)ath32021-12-12
|
* Use same name used in config files for langs in docsGokul Soumya2021-12-08
|
* Auto generate docs for language supportGokul Soumya2021-12-08
|
* Remove `Clone` deriveJason Rodney Hansen2021-12-05
|
* Remove `FormatError`Jason Rodney Hansen2021-12-05
|
* Used checked_add for years and monthsJason Rodney Hansen2021-12-05
|
* CleanupJason Rodney Hansen2021-12-05
|
* No need to clone formatJason Rodney Hansen2021-12-05
|
* Add support for time and more date formatsJason Rodney Hansen2021-12-05
|
* Add `Increment` traitJason Rodney Hansen2021-12-05
|
* Remove dependency on gregorian crateJason Rodney Hansen2021-12-05
|
* CleanupJason Rodney Hansen2021-12-05
|
* Add support for incrementing year and monthJason Rodney Hansen2021-12-05
|
* Add support for dates for increment/decrementJason Rodney Hansen2021-12-05
|
* Support env flags in shebang (#1224)ath32021-12-03
|
* Address new lint on 1.57Blaž Hrastnik2021-12-03
|
* fix: Correctly detect empty transactionsBlaž Hrastnik2021-12-02
| | | | Fixes #1221
* Fix typo on docs (#1201)George Rodrigues2021-12-01
|
* 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
|