aboutsummaryrefslogtreecommitdiff
path: root/helix-term
Commit message (Collapse)AuthorAge
* ui: Optimize tree-sitter style lookupsBlaž Hrastnik2021-12-01
| | | | | | | | | Tree sitter returns an index referring to the position of the scope in the scopes array. We can use that same index to avoid a hashmap lookup and instead store the styles in an array. This currently stores the styles in both a map and an array because the UI still uses hashmap lookups, but it's a reasonable tradeoff.
* ui: Only calculate span styling when it's actually in boundsBlaž Hrastnik2021-12-01
|
* minor: Use anchor::ensure in some casesBlaž Hrastnik2021-12-01
|
* Improve dedent behavior, make kill_to_line_end behave like emacs (#1173)WindSoilder2021-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | * restore indent when press esc right after open a new line * add comment for restore_indent * fix, and make kill to line end behaves like emacs * update comment * fix comment * adjust cancel restore_indent situation * check esc logic in mode transaction * improve comment * add more check for dedent * update comment * use matches to check for last_cmd * no need to introduct CommandFun type
* Extract gutters into helix-viewBlaž Hrastnik2021-11-29
|
* Reuse a text buffer for each gutter lineBlaž Hrastnik2021-11-29
|
* Tie the GutterFn lifetime to the doc so we can avoid cloning dataBlaž Hrastnik2021-11-29
|
* TODOBlaž Hrastnik2021-11-29
|
* Gutter functionsBlaž Hrastnik2021-11-29
|
* Accept count for goto_window (#1033)Bob2021-11-29
| | | | | | | | | | | | | | | | | | | | | * accept count for goto_window also fix view is not fullfilled issue * fix fulfilled mispell * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * fix merge issue * revert line computation logic Co-authored-by: Ivan Tham <pickfire@riseup.net>
* gf as goto_file (#1102)Bob2021-11-29
| | | | | | | | | | | | | * goto_file * support goto_file under current cursor * add C-w f/F * sync space w with window mode * Update helix-term/src/commands.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Detect filetype on :write (#1141)RustyStriker2021-11-28
| | | | | | | | | | | | | | | | | | | fixes #1136 * removed a log::info * removed temp.rs * cargo clippy no longer complains * new get_lang_server function * get_lang_server is now launch_language_server * launch_lang_server will now close the previous one * better code readability * remove resfresh_ls(and a wrong comment)
* Simplify some code in editor.rsBlaž Hrastnik2021-11-26
|
* Do not crash when run goto command without line number (#1160)Thanabodee Charoenpiriyakij2021-11-25
| | | | | | | | | | * Do not crash when run goto command without line number Report an error when running goto command without entering a line number. Fixes #1159 * Use is_empty() instead check len zero
* Implement no-yank delete/change (#1099)ath32021-11-24
|
* Add `:<line>` and `:goto <line>` commands (#1128)Martin Junghanns2021-11-24
| | | | | | | | | * Add typable `goto` command * Support `:<line-number>` on prompt * Rename function according to convention * Directly call into goto_line_number function
* Align selections via & (#1101)Bob2021-11-23
| | | | | | | | | | | | | | | | | | | | | * align lines * remove log statement * use selections to align * fix a clippy issue * only accept 1,2,3 as user count * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * return if user count is not correct * add doc Co-authored-by: Ivan Tham <pickfire@riseup.net>
* File picker config (#988)Dan Nases Sha2021-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * squashed WIP commits * hide_gitignore working with config * pass reference to new config parameter of file_picker() * update config option name to match name on walk builder * add comments to config and documentation of option to book * add git_ignore option to WalkBuilder within prompt in commands.rs * WIP: add FilePickerConfig struct * WIP: cleanup * WIP: add more options including max_depth * WIP: changed defaults to match ignore crate defaults * WIP: change WalkBuilder in global_search() to use config options * WIP: removed follow_links, changed max_depth to follow config setting * WIP: update book with file-picker inline table notation * update documentation for file-picker config in book * adjusted to [editor.file-picker] in book configuration.md * adjust comments in editor.rs to be doc comments, cleanup * adjust comments * adjust book
* Solarized theme: fix popup colors, adjust menu (#1124)Skyler Hawthorne2021-11-20
| | | | | * fix popup colors, adjust menu * fix hardcoded horizontal rule color
* 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
* revert log truncation (#895) (#1130)Kirawi2021-11-19
|
* fix: Expand tilde first, then deal with relative pathsBlaž Hrastnik2021-11-19
| | | | | | Otherwise the ~ gets treated as a relative path. Fixes #1107
* Implement indent-aware delete (#1120)WindSoilder2021-11-18
| | | | | * delete character backward can make undent behavior * improve to handle mixed indentation
* Ensure cursor in view after pipe (#1123)Ivan Tham2021-11-18
| | | Fix #1024
* Remove unused importsBlaž Hrastnik2021-11-18
|
* ui: Stop hardcoding markdown doc colorsBlaž Hrastnik2021-11-18
|
* Simplify compositor.findBlaž Hrastnik2021-11-18
|
* ui: Increase diagnostics sideline width to 100 max and wrap if neededBlaž Hrastnik2021-11-16
|
* fix: editor.close now takes only a single parameterBlaž Hrastnik2021-11-15
|
* 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
* Readline style insert mode (#1039)Bob2021-11-15
| | | | | | | | | | | | | | | | | | | | | * readline style insert mode * update keymap.md * don't save change history in insert mode * Revert "don't save change history in insert mode" This reverts commit cb47f946d7fb62ceda68e7d1692a3914d0be7762. * don't affect register and history in insert mode * add insert_register * don't call exit_select_mode in insert mode * avoid set_selection * avoid duplicated current!
* helix-term/commands: implement buffer-close (bc, bclose) (#1035)Cole Helbling2021-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * helix-view/view: impl method to remove document from jumps * helix-view/editor: impl close_document * helix-view/editor: remove close_buffer argument from `close` According to archseer, this was never implemented or used properly. Now that we have a proper "buffer close" function, we can get rid of this. * helix-term/commands: implement buffer-close (bc, bclose) This behaves the same as Kakoune's `delete-buffer` / `db` command: * With 3 files opened by the user with `:o ab`, `:o cd`, and `:o ef`: * `buffer-close` once closes `ef` and switches to `cd` * `buffer-close` again closes `cd` and switches to `ab` * `buffer-close` again closes `ab` and switches to a scratch buffer * With 3 files opened from the command line with `hx -- ab cd ef`: * `buffer-close` once closes `ab` and switches to `cd` * `buffer-close` again closes `cd` and switches to `ef` * `buffer-close` again closes `ef` and switches to a scratch buffer * With 1 file opened (`ab`): * `buffer-close` once closes `ab` and switches to a scratch buffer * `buffer-close` again closes the scratch buffer and switches to a new scratch buffer * helix-term/commands: implement buffer-close! (bclose!, bc!) Namely, if you have a document open in multiple splits, all the splits will be closed at the same time, leaving only splits without that document focused (or a scratch buffer if they were all focused on that buffer). * helix-view/tree: reset focus if Tree is empty
* helix-term/commands: implement cquit (#1096)Cole Helbling2021-11-15
| | | This allows you to exit helix with an exit code, e.g. `:cq 2`.
* minor: Remove leftover log lineBlaž Hrastnik2021-11-15
|
* Implement MarkedString renderingBlaž Hrastnik2021-11-15
| | | | Solves typescript and python documentation rendering
* Add movement shortcut for history (#1088)Ivan Tham2021-11-14
| | | alt-u and alt-U
* Add trim_selections command (#1092)ath32021-11-14
|
* Added workspace_symbol_picker (#1041)Ebbe Steenhoudt2021-11-14
| | | | | | | * Added workspace_symbol_picker * Moved truncation of the symbol pickers to the end. * Fixed typo
* Implement "Goto last modification" command (#1067)ath32021-11-14
|
* Add commit hash to version info, if present (#957)Gygaxis Vainhardt2021-11-14
| | | | | | | | | | | * Add commit hash to version info, if present * Rename GIT_HASH to indicate that it includes version, fix linter error * Add whitespace after use statement Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
* helix-term/editor: display scratch buffer name in status barCole Helbling2021-11-14
|
* helix-term/commands: move SCRATCH_BUFFER_NAME to helix-view/document (#1091)Cole Helbling2021-11-13
| | | | This way, the name is accessible everywhere `Document` and related types are.
* Make prompts consistent (#1080)Omnikar2021-11-12
|
* fix: shift-tab mappings broken after efc2b4c7Blaž Hrastnik2021-11-12
|
* Add arrow keys to view mode (#987)NexiNov2021-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add arrow keys to view mode * Drop C-up and C-down * Update docs for #987 * Format correctly * Drop other keymaps * Correct keymap.md * Add arrow keys to view mode Drop C-up and C-down Update docs for #987 Format correctly Drop other keymaps Correct keymap.md Rebase Co-authored-by: Rust & Python <nexinov@localhost.gud-o15> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* 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>
* Fix earlier/later missing changeset update (#1069)Ivan Tham2021-11-11
| | | Fix #1059
* Allow keys to be mapped to sequences of commands (#589)Omnikar2021-11-11
| | | | | | | | | * Allow keys to be mapped to sequences of commands * Handle `Sequence` at the start of `Keymap::get` * Use `"[Multiple commands]"` as command sequence doc * Add command sequence example to `remapping.md`
* helix-term/command: make scratch buffer name consistent (#1071)Cole Helbling2021-11-11
|
* Add `m` textobject for pair under cursor (#961)Omnikar2021-11-11
|