aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/commands.rs
Commit message (Collapse)AuthorAge
* 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)
* 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
* 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
* 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
* Simplify compositor.findBlaž Hrastnik2021-11-18
|
* 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
|
* 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
|
* 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
* helix-term/command: make scratch buffer name consistent (#1071)Cole Helbling2021-11-11
|
* Add `m` textobject for pair under cursor (#961)Omnikar2021-11-11
|
* add wonly -- window only (#1057)Bob2021-11-11
| | | | | | | | | | | | | * add wonly * Update book/src/keymap.md Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * add `wonly` to space w mode too * remove the TODO Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* buffer picker add is_modifier flag (#1020)CossonLeo2021-11-10
|
* search_impl will only align cursor center when it isn't in view (#959)CossonLeo2021-11-09
|
* Add LSP rename_symbol (space-r) (#1011)CossonLeo2021-11-08
| | | improve apply_workspace_edit
* Add WORD textobject (#991)Omnikar2021-11-08
| | | | | * Add WORD textobject * Document WORD textobject
* Specify vector capacity on surround_addBlaž Hrastnik2021-11-06
|
* Simplify current!(..).1 into doc!()Blaž Hrastnik2021-11-06
|
* Simplify goto_*_diagnostic commandsBlaž Hrastnik2021-11-06
|
* minor: view!(..).doc is slightly more efficient than current!(..).1.id()Blaž Hrastnik2021-11-06
|
* Retain range direction on searchBlaž Hrastnik2021-11-06
| | | | Co-authored-by: CossonLeo <20379044+cossonleo@users.noreply.github.com>
* Implement Selection::replace to replace a single rangeBlaž Hrastnik2021-11-06
| | | | | | Fixes #985 Co-authored-by: Daniel S Poulin <crimsonmage+github@gmail.com>
* Add reverse search functionality (#958)Gygaxis Vainhardt2021-11-06
| | | | | | | | | | | | | * Add reverse search functionality * Change keybindings for extend to be in select mode, incorporate Movement and Direction enums * Fix accidental revert of #948 in rebase * Add reverse search to docs, clean up mismatched whitespace * Reverse search optimization * More optimization via github feedback
* Inform when reaching undo/redo bounds (#981)Omnikar2021-11-05
| | | | | | | | * Inform when reaching undo/redo bounds * `Already at oldest change` when undo fails * `Already at newest change` when redo fails * Add missing `the`
* Rewrite goto_bufferBlaž Hrastnik2021-11-04
|
* Implement "Goto next buffer / Goto previous buffer" commandsath32021-11-04
|
* Replace documents SlotMap with BTreeMapBlaž Hrastnik2021-11-04
|
* Add c-s to pick word under doc cursor to prompt line & search completion (#831)CossonLeo2021-11-04
| | | | | | | | | | | | | | | * Add prompt shourtcut to book Add completions to search Add c-s to pick word under doc cursor to prompt line * limit 20 last items of search completion, update book * Update book/src/keymap.md Co-authored-by: Ivan Tham <pickfire@riseup.net> * limit search completions 200 Co-authored-by: Ivan Tham <pickfire@riseup.net>
* only remove primary index when search next without extend (#948)CossonLeo2021-11-02
|
* Make match work with extend and multi cursors (#920)Ivan Tham2021-10-29
|
* Support extend for multiple goto (#909)Ivan Tham2021-10-29
| | | gg, ge, [n]gg
* add expand_selection to last_motioncossonleo2021-10-29
|
* Implement `hx --tutor` and `:tutor` to load `tutor.txt` (#898)Omnikar2021-10-28
| | | | | | | | | | | | | | | | | | | * Implement `hx --tutor` and `:tutor` to load `tutor.txt` * Document `hx --tutor` and `:tutor` * Change `Document::set_path` to take an `Option` * `Document::set_path` accepts an `Option<&Path>` instead of `&Path`. * Remove `Editor::open_tutor` and make tutor-open functionality use `Editor::open` and `Document::set_path`. * Use `PathBuf::join` Co-authored-by: Ivan Tham <pickfire@riseup.net> * Add comments explaining unsetting tutor path Co-authored-by: Ivan Tham <pickfire@riseup.net>