aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
Commit message (Collapse)AuthorAge
* Remove some unnecessary clippy tagsBlaž Hrastnik2022-01-30
|
* Automatically commit changes to history if not in insert modeBlaž Hrastnik2022-01-30
| | | | Fixes #1500
* Use markup scopes for the Markdown component (#1363)CossonLeo2022-01-24
|
* Fix picker won't scroll down when it hits the bottom #1544 (#1567)Benjamin2022-01-23
|
* Allow specifying file start position (#445)Ivan Tham2022-01-23
| | | Like helix-term/src/commands.rs:3426:15
* Merge pull request #1154 from sudormrfbin/cursor-shape-newBlaž Hrastnik2022-01-23
|\ | | | | Change cursor shape on mode change
| * Merge branch 'master' into cursor-shape-newGokul Soumya2022-01-09
| |\
| * \ Merge branch 'master' into cursor-shape-newGokul Soumya2022-01-06
| |\ \
| * | | Manually draw all block cursorsGokul Soumya2021-12-23
| | | |
| * | | Merge branch 'master' into cursor-shape-newGokul Soumya2021-12-18
| |\ \ \
| * | | | Remove ui.cursor.primary and hashmap lookupsGokul Soumya2021-12-18
| | | | |
| * | | | Change cursor shape on mode changeGokul Soumya2021-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes #323. Due to terminal limitations we can only change the shape of the primary cursor.
* | | | | Slicing micro-optimizationBlaž Hrastnik2022-01-23
| | | | |
* | | | | Speed up ensure_next_boundary during renderBlaž Hrastnik2022-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code: let start = ensure_grapheme_boundary_next(text, text.byte_to_char(start)); let end = ensure_grapheme_boundary_next(text, text.byte_to_char(end)); Would convert byte to char index, but then internally immediately convert back to byte index, operate on it, then convert it to char index. This change reduces the amount of time spent in ensure_grapheme_boundary from 29% to 2%.
* | | | | Store theme scopes on the loader, this way theme isn't passed aroundBlaž Hrastnik2022-01-23
| | | | |
* | | | | syntax: Split parsing and highlightingBlaž Hrastnik2022-01-23
| | | | |
* | | | | change show_subtree command into ':tree-sitter-subtree' typable command (#1524)Michael Davis2022-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add default keymap for show_subtree command * remove space+t keymap * add a typable command ':show-subtree' * generate documentation for ':show-subtree' * remove non-typable show_subtree command * ':show-subtree'->':tree-sitter-subtree'
* | | | | add select_next_sibling and select_prev_sibling commands (#1495)Michael Davis2022-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add select_next_sibling and select_prev_sibling commands * refactor objects to use higher order functions * address clippy feedback * move selection cloning into commands * add default keybindings under left/right brackets * use [+t,]+t for selecting sibling syntax nodes * setup Alt-{j,k,h,l} default keymaps for syntax selection commands * reduce boilerplate of select_next/prev_sibling in commands * import tree-sitter Node type in commands
* | | | | Dependabot/cargo/pulldown cmark 0.9.1 (#1533)Skyler Hawthorne2022-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build(deps): bump pulldown-cmark from 0.8.0 to 0.9.1 Bumps [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) from 0.8.0 to 0.9.1. - [Release notes](https://github.com/raphlinus/pulldown-cmark/releases) - [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.8.0...v0.9.1) --- updated-dependencies: - dependency-name: pulldown-cmark dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * cmark 0.9 fixes Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | | | | Update to rust 1.58, fix a bunch of optional lintsBlaž Hrastnik2022-01-16
| | | | |
* | | | | Fix panics when resizing (#1408)Mathis Brossier2022-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change buffer.get & buffer.get_mut to return Option, Implement Trait Index & IndexMut to panic * Prevent FilePicker from drawing outside buffer (rust panics) * apply suggestion * add function in_bounds to avoid useless calculations Co-authored-by: mathis <mathis.brossier@universite-paris-saclay.fr>
* | | | | Add alt-backspace, alt-<, alt->, ctrl-j to insert mode (#1441)WindSoilder2022-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add alt-backspace keymap to delete word backward * add more useful keymap * map to correct command * add C-j to insert_newline
* | | | | fix(commands): run fmt for all documents being closed (#1444)Matouš Dzivjak2022-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing all documents, fmt wouldn't be run. Run fmt in close all implementation so that all documents are formatted if necessary. Fixes: https://github.com/helix-editor/helix/issues/1442
* | | | | add show_subtree command for viewing tree-sitter subtree in Popup (#1453)Michael Davis2022-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add show_subtree command for viewing tree-sitter subtree in Popup * remove '.slice(..)' from show_subtree command * name docs and subtree Popups 'hover'
* | | | | Use the correct language ID for JavaScript & TypeScript (#1466)Kevin Sjöberg2022-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use correct language ID for JavaScript/TypeScript * Add missing slash * Only calculate fallback when needed
* | | | | buffer picker allow hsplit / vsplit (#1502)Mathis Brossier2022-01-14
| |_|_|/ |/| | |
* | | | Put some tests behind #[cfg(test)] (#1459)Benoît Cortier2022-01-08
| |_|/ |/| | | | | It was missing in a few places.
* | | feat(commands): shrink_selection (#1340)Matouš Dzivjak2022-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(commands): shrink_selection Add `shrink_selection` command that can be used to shrink previously expanded selection. To make `shrink_selection` work it was necessary to add selection history to the Document since we want to shrink the selection towards the syntax tree node that was initially selected. Selection history is cleared any time the user changes selection other way than by `expand_selection`. This ensures that we don't get some funky edge cases when user calls `shrink_selection`. Related: https://github.com/helix-editor/helix/discussions/1328 * Refactor shrink_selection, move history to view * Remove useless comment * Add default key mapping for extend&shrink selection * Rework contains_selection method * Shrink selection without expand selects first child
* | | fix: Use std::path::MAIN_SEPARATOR to determine completionBlaž Hrastnik2022-01-06
| | | | | | | | | | | | Refs #1439
* | | fix slash in search selector status message (#1449)Stuart Hinson2022-01-06
| | |
* | | fix: Only use shellwords parsing on unix platformsBlaž Hrastnik2022-01-05
| | |
* | | Revert "Convert Windows style path separator in completers to Unix style ↵Blaž Hrastnik2022-01-05
| | | | | | | | | | | | | | | | | | (#1389)" This reverts commit 49444f9c0569a070ffd3c82cee6146656a0ac63c.
* | | scroll: change only main selection, only when needed (#1420)Mathis Brossier2022-01-03
| | | | | | | | | Co-authored-by: mathis <mathis.brossier@universite-paris-saclay.fr>
* | | Add `:cquit!` command and prevent `:cquit` from ignoring unsaved changes (#1414)Omnikar2022-01-03
| | | | | | | | | | | | | | | * Add `:cquit!` command and prevent `:cquit` from ignoring unsaved changes * `cargo xtask docgen`
* | | Add basic indentation for languages without treesitter-based indentation ↵Triton1712022-01-03
| | | | | | | | | | | | | | | | | | | | | rules (always use the indent of the current line for a new line). (#1341) Fix several bugs in the treesitter indentation calculation. Co-authored-by: Triton171 <triton0171@gmail.com>
* | | switch redundant current! usage to doc! (#1416)Kirawi2022-01-03
| | |
* | | Detect workspace root using language markers (#1370)Alexis Mousset2021-12-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Detect workspace root using language markers * Avoid allocating root_markers * Update helix-core/src/lib.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Update helix-core/src/lib.rs Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
* | | Don't just filter commands by fuzzy match, also order the matchesBlaž Hrastnik2021-12-30
| | |
* | | Convert Windows style path separator in completers to Unix style (#1389)ath32021-12-29
| | |
* | | Fix: when goto normal mode, only want to remove indentation if the line is ↵WindSoilder2021-12-29
| | | | | | | | | | | | | | | | | | | | | blank with no text following (#1349) * when opened new line contains other characters after current position, don't dedent * abstract checking logic
* | | Use a fuzzy matcher for commands (#1386)Stuart Hinson2021-12-29
| | | | | | | | | | | | | | | | | | | | | * Use a fuzzy matcher for commands * Take Clippy up on its suggestion * Rescope FUZZY_MATCHER
* | | feat(commands): ensure_selections_forward (#1393)Matouš Dzivjak2021-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(commands): ensure_selections_forward Add command that ensures that selections are in forward direction. Fixes: https://github.com/helix-editor/helix/issues/1332 * Add keybinding for ensure_selections_forward Add `A-:` keybinding for the ensure_selections_forward command. * Re-use range.flip for flip_selections command
* | | Fix indentation (#1387)Omnikar2021-12-27
| | |
* | | feat(commands): sort command (#1288)Matouš Dzivjak2021-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(commands): sort/rsort command Add basic implementation of sort command. * Sort by selections instead, implement reverse sort * Generate docs * Rename sort! to rsort
* | | Extract macro parsing to `helix-view` and add unit testsOmnikar2021-12-27
| | |
* | | Change how macros separate keypressesOmnikar2021-12-27
| | | | | | | | | | | | | | | | | | * Keypresses are no longer separated by spaces * Single-character keypresses are serialized as-is * Multi-character keypresses are delimited by `<>`
* | | Update macro display as [q] in messageIvan Tham2021-12-27
| | |
* | | Mark macros as experimental in docsIvan Tham2021-12-27
| | | | | | | | | | | | | | | Given that currently macro does not integrate well with registers and the internal representation of macros is expected to be changed.
* | | Rename play macro to replay macroIvan Tham2021-12-27
| | | | | | | | | | | | | | | Macro needs to be defined first before playing so replay is more accurate. Also, replay have the same length as record which makes it looks nice.
* | | Improve macro error handlingIvan Tham2021-12-27
| | |