aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui/picker.rs
Commit message (Collapse)AuthorAge
* 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>
* 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
* fix: Normalize backtab into shift-tabBlaž Hrastnik2021-12-06
| | | | Fixes #1150
* Bump rust to 1.57, fix new lint failuresBlaž Hrastnik2021-12-03
|
* Added workspace_symbol_picker (#1041)Ebbe Steenhoudt2021-11-14
| | | | | | | * Added workspace_symbol_picker * Moved truncation of the symbol pickers to the end. * Fixed typo
* fix: shift-tab mappings broken after efc2b4c7Blaž Hrastnik2021-11-12
|
* 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.
* 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>
* 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
* Update to rust 1.56 + 2021 editionBlaž Hrastnik2021-10-22
|
* Add `C-j` and `C-k` to keybinds for picker (#876)VuiMuich2021-10-19
| | | | | * Add `C-j` and `C-k` for moving down/up in pickers * Add new binds to keymap doc
* Picker: Don't panick at move_up/move_down when matches is empty (#818)Leoi Hung Kin2021-10-09
|
* fix: Wrap around the top of the picker menu when scrollingBlaž Hrastnik2021-09-17
| | | | | | Forgot to port the improvements in menu.rs Fixes #734
* ui: Be smarter about centering previewsBlaž Hrastnik2021-09-08
| | | | | Try centering the whole block. If the block is too big for the viewport, then make sure that the first line is within the preview.
* ui: prompt: Avoid allocating a prompt name if it's a static stringBlaž Hrastnik2021-08-31
|
* Move path util functions from helix-term to helix-core (#650)Kirawi2021-08-25
|
* ui: Tone down the preview highlight by adding a new scopeBlaž Hrastnik2021-08-24
|
* ui: Fix preview window padding: we want horizontal, not verticalBlaž Hrastnik2021-08-24
|
* ui: Highlight line ranges in the previewBlaž Hrastnik2021-08-24
|
* Refactor new Rect construction (#575)Gokul Soumya2021-08-21
| | | | | | | | | | * Refactor new Rect construction Introduces methods that can be chained to construct new Rects out of pre-existing ones * Clamp x and y to edges in Rect chop methods * Rename Rect clipping functions
* use `ui.text.focus` for the picker (fix #622)Kirawi2021-08-20
|
* ui: picker: Position count according to input barBlaž Hrastnik2021-08-13
|
* ui: picker: Use ui.selection instead of ui.selection.primaryBlaž Hrastnik2021-08-13
|
* ui: picker: Render matches/total countsBlaž Hrastnik2021-08-13
|
* Show file preview in split pane in fuzzy finder (#534)Gokul Soumya2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add preview pane for fuzzy finder * Fix picker preview lag by caching * Add picker preview for document symbols * Cache picker preview per document instead of view * Use line instead of range for preview doc * Add picker preview for buffer picker * Fix render bug and refactor picker * Refactor picker preview rendering * Split picker and preview and compose The current selected item is cloned on every event, which is undesirable * Refactor out clones in previewed picker * Retrieve doc from editor if possible in filepicker * Disable syntax highlight for picker preview Files already loaded in memory have syntax highlighting enabled * Ignore directory symlinks in file picker * Cleanup unnecessary pubs and derives * Remove unnecessary highlight from file picker * Reorganize buffer rendering * Use normal picker for code actions * Remove unnecessary generics and trait impls * Remove prepare_for_render and make render mutable * Skip picker preview if screen small, less padding
* Implement in-memory prompt historyBlaž Hrastnik2021-07-26
| | | | | Implementation is similar to kakoune: we store the entries into a register.
* Resume last pickerIvan Tham2021-07-22
| | | | Inspired by space ' in doom emacs.
* Fix unused variable, parameter, and `mut` warnings in helix-term.Nathan Vegdahl2021-07-02
|
* reverse the dependency between helix-tui and helix-view (#366)Keith Simmons2021-06-25
| | | | | | | | | * reverse the dependency between helix-tui and helix-view by moving a fiew types to view * fix tests * clippy and format fixes Co-authored-by: Keith Simmons <keithsim@microsoft.com>
* Add … when chars are truncated in pickerGokul Soumya2021-06-25
|
* Fix picker item width overflowGokul Soumya2021-06-24
| | | | Fixes #352
* Make the prompt callback take a Context.Joe Neeman2021-06-23
|
* minor: Remove old TODOsBlaž Hrastnik2021-06-22
|
* Add cursor kind to separate hidden cursor from posIvan Tham2021-06-15
| | | | | Now IME cursor position should be correct since we can still set cursor position without drawing the cursor.
* Add filter ability to pickerIvan Tham2021-06-15
| | | | Inspired by doom emacs. Able to filter picker options multiple times.
* Change picker horizontal split to hIvan Tham2021-06-12
| | | Follow window mode and vim behavior, x seemed weird.
* Match keybindings of menuKevin Sjöberg2021-06-09
|
* Calculate offset when moving picker cursorKevin Sjöberg2021-06-06
|
* Do not move past number of matchesKevin Sjöberg2021-06-06
|
* ESC should exit both completion and insert modeBlaž Hrastnik2021-05-29
|
* Fix cursor positioning for promptsBlaž Hrastnik2021-05-28
|
* Drop some useless imports.Blaž Hrastnik2021-05-09
|
* Replace the Clear widget with buffer.clear/clear_with.Blaž Hrastnik2021-05-09
|
* Simplify the compositor callback.Blaž Hrastnik2021-05-09
|
* Define text color (mostly) in theme.toml.Blaž Hrastnik2021-05-07
|
* Correct the naming issue with vsplit and hsplit being swapped.Blaž Hrastnik2021-04-08
|
* ui: Improve completion state handling.Blaž Hrastnik2021-04-05
|
* Wire up opening in splits via pickers.Blaž Hrastnik2021-03-29
|
* Merge some imports.Blaž Hrastnik2021-03-22
|