summaryrefslogtreecommitdiff
path: root/helix-term/src/ui/editor.rs
Commit message (Collapse)AuthorAge
* 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
* | Collect some common patterns into methods on `Range`.Nathan Vegdahl2021-07-26
| |
* | 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-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 rendering issues 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
|
* 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
|
* Simplify selection rendering by injecting highlight scopesBlaž Hrastnik2021-06-27
|
* Fix silly mistake in previous phantom line bug fix.Nathan Vegdahl2021-06-26
| | | | | Fixes #381. I was trying to change an index value that... wasn't even an index value.
* Fix highlight code splitting graphemes.Nathan Vegdahl2021-06-26
| | | | | | This resulted in phantom blank lines in files with CRLF line endings, but could potentially have manifested with other graphemes as well.
* 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>
* Fix previous broken refactor key into helix-viewIvan Tham2021-06-24
| | | | | | | | Need to be used for autoinfo Revert "Revert "Refactor key into helix-view"" This reverts commit 10f9f72232f5789323d689bf0f9cd359715770d6.
* Patch the primary cursor with insert and select styleswojciechkepka2021-06-23
|
* Refactor, add `ui.cursor.primary`wojciechkepka2021-06-23
|
* Add ability to theme primary selecitionwojciechkepka2021-06-23
|
* Add ability to theme cursorwojciechkepka2021-06-23
|
* Increment char_index by grapheme char count.Nathan Vegdahl2021-06-23
| | | | It was just assuming single-char graphemes before.
* minor: Remove old TODOsBlaž Hrastnik2021-06-22
|
* Merge pull request #224 from helix-editor/line_ending_detectionBlaž Hrastnik2021-06-22
|\ | | | | Line ending detection
| * Merge branch 'master' of github.com:helix-editor/helix into ↵Nathan Vegdahl2021-06-20
| |\ | | | | | | | | | | | | | | | | | | line_ending_detection Rebasing was making me manually fix conflicts on every commit, so merging instead.
| * | Misc fixes and clean up of line ending detect code.Nathan Vegdahl2021-06-20
| | |
| * | Merge remote-tracking branch 'origin/master' into line_ending_detectionJan Hrastnik2021-06-19
| |\ \
| * | | trying out line ending helper functions in commands.rsJan Hrastnik2021-06-16
| | | |
| * | | rebase on branch line_ending_detectionJan Hrastnik2021-06-16
| | | |
* | | | Add progress spinners to status linewojciechkepka2021-06-21
| |_|/ |/| |
* | | Fix overflowwojciechkepka2021-06-19
| | |
* | | Revert "Refactor key into helix-view"Blaž Hrastnik2021-06-19
| |/ |/| | | | | | | | | Did not use defaults when custom keymap was used This reverts commit ca806d4f852e934651132fc9570a6110e30f646d.