aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui
Commit message (Collapse)AuthorAge
* helix-term: handle scrolling when mouse is enabled (#554)Dmitry Sharshakov2021-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * helix-term: handle scrolling when mouse is enabled Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: configure scrolling speed Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: use new config for scrolling Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * config: defaults for edtior config Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * config: add scroll-lines property Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: scroll hovered view Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: support inverted scrolling Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: remove duplicating code Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: do not focus view while scrolled Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: refactor mouse events and scrolling Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * simplify Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Appease clippyBlaž Hrastnik2021-08-10
|
* Only recalculate resize during rendering, this stops flashing on resizeBlaž Hrastnik2021-08-10
|
* fix small terminal size panic with info popup (#563)Kirawi2021-08-09
| | | | | | | * fix small terminal size panic with info popup * remove unused enumerator * fix subtraction overflow panic
* config: Rename [terminal] to [editor] and pass it into EditorBlaž Hrastnik2021-08-08
|
* ui: menu: Allow wrapping around on ctrl-p/shift tabBlaž Hrastnik2021-08-06
|
* mouse: Remove verify_screen_coords, refactor primary selection modificationBlaž Hrastnik2021-07-30
|
* Remove the jumpBlaž Hrastnik2021-07-30
|
* Mouse selection support (#509)Dmitry Sharshakov2021-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial mouse selection support Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Disable mouse event capture if editor crashes Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Translate screen coordinates to view position Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Select full lines by dragging on line numbers Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * editor: don't register dragging as a jump Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Count graphemes correctly Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Do not select lines when dragging on the line number bar Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Split out verify_screen_coords Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Do not iterate over the graphemes twice Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Switch view by clicking on it Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Add disable-mouse config option Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Support multiple selections with mouse Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Remove unnecessary check Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Refactor using match expression Co-authored-by: Gokul Soumya <gokulps15@gmail.com> Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Rename local variable Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Rename mouse option Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Refactor code Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Fix dragging selection Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Fix crash when clicking past last line Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Count characters better Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Remove comparison not needed anymore Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Validate coordinates before resolving position Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Tidy up references to editor tree Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Better way to determine line end and avoid overflow Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Fix for last line Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Add unit tests for text_pos_at_screen_coords Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
* Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-28
|\
| * Show pending keys in status line (#515)Gokul Soumya2021-07-28
| | | | | | | | | | * Show pending keys and counts in status line * Refactor pending key display
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-26
|\|
| * Allow multi key remappings in config file (#454)Gokul Soumya2021-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use tree like structure to store keymaps * Allow multi key keymaps in config file * Allow multi key keymaps in insert mode * Make keymap state self contained * Add keymap! macro for ergonomic declaration * Add descriptions for editor commands * Allow keymap! to take multiple keys * Restore infobox display * Fix keymap merging and add infobox titles * Fix and add tests for keymaps * Clean up comments and apply suggestions * Allow trailing commas in keymap! * Remove mode suffixes from keymaps * Preserve order of keys when showing infobox * Make command descriptions smaller * Strip infobox title prefix from items * Strip infobox title prefix from items
| * Implement in-memory prompt historyBlaž Hrastnik2021-07-26
| | | | | | | | | | Implementation is similar to kakoune: we store the entries into a register.
* | Collect some common patterns into methods on `Range`.Nathan Vegdahl2021-07-26
| |
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-24
|\|
| * fix: ui/menu: Don't allow scrolling past the end of completionBlaž Hrastnik2021-07-23
| | | | | | | | Fixes #472
| * fix: Only try expanding directory completion if it makes senseBlaž Hrastnik2021-07-23
| | | | | | | | Fixes #487
| * Simplify ui/menu.rsBlaž Hrastnik2021-07-23
| |
| * Resume last pickerIvan Tham2021-07-22
| | | | | | | | Inspired by space ' in doom emacs.
* | Fix incorrect line hihglight when a selection is at the end of a line.Nathan Vegdahl2021-07-20
| |
* | Fixed primary cursor position calculation to use 1-width semantics.Nathan Vegdahl2021-07-19
| | | | | | | | | | This had a bunch of knock-on effects that were buggy, such as bracket match highlighting.
* | Properly fix `last_line` view calculation.Nathan Vegdahl2021-07-19
| | | | | | | | | | Turned out to be simpler than I thought. Didn't even need to change the other use-sites.
* | Fix last line number being drawn in the status bar.Nathan Vegdahl2021-07-19
| |
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-19
|\|
| * Calculate completion popup sizingBlaž Hrastnik2021-07-19
| | | | | | | | Fixes #220
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-17
|\|
| * Injection Query Support (#430)Kirawi2021-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * wip * wip * fixed unsafe * fix clippy * move out reference variable * fmt * remove arc * change safety comment
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-06
|\|
| * Fix phantom lines in some CRLF files.Nathan Vegdahl2021-07-05
| | | | | | | | | | | | | | Fixes #415. The issue was that cursor highlighting wasn't extending to encompass the entire CRLF grapheme, and therefore ended up splitting it. This presumably was messing up other grapheme rendering as well, and this fixes that as well.
| * Fix info panic on small terminalIvan Tham2021-07-04
| |
| * Reduce calculation and improve pattern in infoboxIvan Tham2021-07-04
| | | | | | | | | | | | - switch to use static OnceCell to calculate Info once - pass Vec<(&[KeyEvent], &str)> rather than Vec<(Vec<KeyEvent>, &str)> - expr -> tt to allow using | as separator, make it more like match
| * Fix rendering issues for infoboxIvan Tham2021-07-04
| |
| * Apply suggestions from blaz for infoboxIvan Tham2021-07-04
| |
| * Add infoboxIvan Tham2021-07-04
| |
* | Allow last line in file to lack a line break character.Nathan Vegdahl2021-07-02
| |
* | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-02
|\|
| * Fix unused variable, parameter, and `mut` warnings in helix-term.Nathan Vegdahl2021-07-02
| |
| * Remove #[allow(unused)] from helix-term, and fix unused imports.Nathan Vegdahl2021-07-02
| | | | | | | | Lots of other warning still left. Will address in subsequent commits.
* | Add `Range` methods for various kinds of validation.Nathan Vegdahl2021-07-01
|/
* Add some async job infrastructure.Joe Neeman2021-06-30
|
* ui: Use a box drawing character vertical line for splitsBlaž Hrastnik2021-06-29
|
* Sort the files in descending orderBlaž Hrastnik2021-06-28
|
* ui: Simplify conditionalBlaž Hrastnik2021-06-27
|
* Merge tab & char rendering codeBlaž Hrastnik2021-06-27
|
* This char_index is unusedBlaž Hrastnik2021-06-27
|
* Allocate the tab stop only onceBlaž Hrastnik2021-06-27
|
* Extract the merge "operator" into helix-coreBlaž Hrastnik2021-06-27
|
* Appease clippyBlaž Hrastnik2021-06-27
|
* Turn diagnostics rendering into span injection tooBlaž Hrastnik2021-06-27
|