aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui
Commit message (Collapse)AuthorAge
* Load alt default theme if true color is not supportedOmnikar2021-12-13
| | | | | | | | | | | | | | | | | | | | * Move `runtime/themes/base16_default_terminal.toml` to `base16_theme.toml` alongside `theme.toml` * Use `terminfo` crate to detect whether the terminal supports true color and, if the user has no theme configured and their terminal does not support true color, load the alt default theme instead of the normal default. Remove `terminfo` dependency, use `COLORTERM` env instead Prevent user from switching to an unsupported theme Add `true-color-override` option If the terminal is wrongly detected to not support true color, `true-color-override = true` will override the detection. Rename `true-color-override` to `true-color`
* Macros (#1234)Omnikar2021-12-12
| | | | | | | | | | | | | | | | | | | | | | | | * Macros WIP `helix_term::compositor::Callback` changed to take a `&mut Context` as a parameter for use by `play_macro` * Default to `@` register for macros * Import `KeyEvent` * Special-case shift-tab -> backtab in `KeyEvent` conversion * Move key recording to the compositor * Add comment * Add persistent display of macro recording status When macro recording is active, the pending keys display will be shifted 3 characters left, and the register being recorded to will be displayed between brackets — e.g., `[@]` — right of the pending keys display. * Fix/add documentation
* ui: popup: Don't allow scrolling past the end of contentBlaž Hrastnik2021-12-10
|
* Only use a single documentation popup (#1241)Kirawi2021-12-08
|
* fix: Normalize backtab into shift-tabBlaž Hrastnik2021-12-06
| | | | Fixes #1150
* feat: Make it possible to keybind `TypableCommands` (#1169)Oskar Nehlin2021-12-04
| | | | | | | * Make TypableCommands mappable * Fix pr comments * Update PartialEq implementation
* Bump rust to 1.57, fix new lint failuresBlaž Hrastnik2021-12-03
|
* Revert "Improve dedent behavior, make kill_to_line_end behave like emacs ↵Blaž Hrastnik2021-12-01
| | | | | | | | | | | | | (#1173)" 1. pressing o on a line with no indentation will open a new line as expected, but esc will then delete the line altogether 2. the kill_line behavior happens after insert mode changes are already commited to history, and the change isn't commited. pressing u after this will break highlighting & undo history This reverts commit c08d2fae587a0a5dd2a1e2e44a1f385d142c9d59.
* 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
|
* 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
|
* 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
* Remove unused importsBlaž Hrastnik2021-11-18
|
* ui: Stop hardcoding markdown doc colorsBlaž Hrastnik2021-11-18
|
* ui: Increase diagnostics sideline width to 100 max and wrap if neededBlaž Hrastnik2021-11-16
|
* 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!
* 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/editor: display scratch buffer name in status barCole Helbling2021-11-14
|
* fix: shift-tab mappings broken after efc2b4c7Blaž Hrastnik2021-11-12
|
* 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`
* Fix moving with arrow keys in prompt (#1070)ath32021-11-11
|
* Refactor keyevent handling using key, ctrl macros (#1058)Gokul Soumya2021-11-10
| | | | | | Adds ctrl! and alt! macros (which existed before the big keymap refactor) and uses them in event handling of Components. Note that this converts crossterm's KeyEvent to our own KeyEvent on each invocation of handle_event in Components.
* Restore screen position when abort search (#1047)Ivan Tham2021-11-10
|
* add <C-h>, <C-u>, <C-d>, Delete in prompt mode (#1034)Bob2021-11-09
|
* Add WORD textobject (#991)Omnikar2021-11-08
| | | | | * Add WORD textobject * Document WORD textobject
* Allow infoboxes to be disabled (#972)Omnikar2021-11-05
| | | | | | | | | | | * Allow infoboxes to be disabled * Document `infoboxes` default value * Rename `infoboxes` to `auto_info` * Document `auto-info` * Fix incomplete rename
* 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>
* Prevent preview binary or large file (#939)diegodox2021-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Prevent preview binary or large file (#847) * fix wrong method name * fix add use trait * update lock file * rename MAX_PREVIEW_SIZE from MAX_BYTE_PREVIEW * read small bytes to determine cotent type * [WIP] add preview struct to represent calcurated preveiw * Refactor content type detection - Remove unwraps - Reuse a single read buffer to avoid 1kb reallocations between previews * Refactor preview rendering so we don't construct docs when not necessary * Replace unwarap whit Preview::NotFound * Use index access to hide unwrap Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * fix Get and unwarp equivalent to referce of Index acess * better preview implementation * Rename Preview enum and vairant Co-authored-by: Gokul Soumya <gokulps15@gmail.com> * fixup! Rename Preview enum and vairant * simplify long match * Center text, add docs, fix formatting, refactor Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
* Truncate the starts of file paths instead of the ends in picker (#951)Omnikar2021-11-04
| | | | | | | | | | | | | * Truncate the starts of file paths in picker * Simplify the truncate implementation * Break loop at appropriate point * Fix alignment and ellipsis presence * Remove extraneous usage of `x_offset` Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* 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
* Extract a clear_completion methodBlaž Hrastnik2021-10-29
|
* Bump lsp-types to 0.91.0 (#932)Ivan Tham2021-10-29
|
* fix: When cycling through prompt history, update event needs to triggerBlaž Hrastnik2021-10-27
|
* Improve statusline (#916)Omnikar2021-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve statusline * Change diagnostic count display to show counts of individual diagnostic types next to their corresponding gutter dots. * Add selection count to the statusline. * Do not display info or hint count in statusline * Reduce padding Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Reduce padding Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Use `Span::styled` * Reduce padding * Use `Style::patch` * Remove unnecessary `Cow` creation Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Clear competion items when start_offset > cursor (#906)CossonLeo2021-10-26
|
* move_up will select last item, when no item selected (#907)CossonLeo2021-10-26
|
* Add c-j c-k to menu keymap for move_up move_down (#908)CossonLeo2021-10-26
|
* fix warningBlaž Hrastnik2021-10-25
|
* completion: fully revert state before apply & insertText common prefixBlaž Hrastnik2021-10-25
|
* Mark a few functions as `const`Blaž Hrastnik2021-10-24
|
* Add commands for moving between splits with a direction (#860)Oskar Nehlin2021-10-23
| | | | | | | | | * Add commands for moving between splits with a direction * Update keymaps * Change picker mapping * Add test and clean up some comments