aboutsummaryrefslogtreecommitdiff
path: root/helix-term
Commit message (Collapse)AuthorAge
* 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
* Support primary clipboard (#548)Dmitry Sharshakov2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clipboard-none: add in-memory fallback buffer Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * view: add Wayland primary clipboard Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Format Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: copy to primary selection after mouse move stops Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: don't update primary selection if it is a single character Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: discard result of setting primary selection Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: add commands for interaction with primary clipboard Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * editor: implement primary selection copy/paste using commands Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * clipboard: support xsel for primary selection Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * clipboard: support xclip for primary selection Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: multiple cursor support for middle click paste Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * rename primary selection to primary clipboard in scope of PR Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: make middle click paste optional Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Format Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Update helix-term/src/ui/editor.rs * fix formatting Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * config: correct defaults if terminal prop is not set Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * refactor: merge clipboard and primary selection implementations Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Tidy up code Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * view: remove names for different clipboard/selection providers Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * Update helix-view/src/clipboard.rs Co-authored-by: Gokul Soumya <gokulps15@gmail.com> * helix-view: tidy macros Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: refactor paste-replace commands Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * helix-term: use new config for middle-click-paste Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * clipboard: remove memory fallback for command and windows providers Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * clipboard-win: fix build Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * clipboard: return empty string when primary clipboard is missing Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> * clipboard: fix errors in Windows build Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com> Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
* cargo fmtBlaž Hrastnik2021-08-12
|
* fix: Adjust scroll offset/padding calculation to prevent wobbleBlaž Hrastnik2021-08-11
| | | | Fixes #324
* ui: completion: Insert suggestions when tabbing over themBlaž Hrastnik2021-08-11
| | | | Fixes #498
* ui: completion: Use sort_text to sort the completionsBlaž Hrastnik2021-08-11
|
* Fix surround_replace replacing the wrong character on the right. (#571)Nathan Vegdahl2021-08-11
| | | Fixes #569.
* 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
|
* Make `exit_select_mode` check current mode (#568)Omnikar2021-08-10
| | | | Change `exit_select_mode` to check that the current mode is select mode before switching to normal mode
* fix: Don't crash if language servers time outBlaž 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
|
* Resolve a couple TODOsBlaž Hrastnik2021-08-08
|
* Implement alt-( and alt-) to rotate selection contentsBlaž Hrastnik2021-08-08
|
* Do not shutdown lsp during claim_termLuctius2021-08-07
| | | | Fixes a bug where the language server is told to shutdown directly after application start.
* ui: menu: Allow wrapping around on ctrl-p/shift tabBlaž Hrastnik2021-08-06
|
* Implement selection rotation with `(` and `)`Blaž Hrastnik2021-08-06
|
* Exit extend after yankIvan Tham2021-08-05
| | | | Yank should proceed with normal mode.
* Refactor copy selection verticallyBlaž Hrastnik2021-08-05
|
* Vertical SelectionCor2021-08-05
|
* Add `goto_last_line` command, and bind it to `ge`.Nathan Vegdahl2021-08-04
| | | | Resolves #529.
* Use an empty stream on Windows to remove duplicationBlaž Hrastnik2021-08-03
|
* Add ctrl-z to suspendIvan Tham2021-08-03
|
* Use nicer filepaths instead of URIs in goto pickerBlaž Hrastnik2021-08-03
|
* 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>
* Remove embed_runtime featureBlaž Hrastnik2021-07-30
| | | | It's no longer practical to maintain. Closes #451
* Move indent-style code into `helix_core::indent`.Nathan Vegdahl2021-07-30
|
* Fix incorrect behavior of `find_char` command and friends.Nathan Vegdahl2021-07-30
| | | | | | The non-extending variants of the commands weren't selecting from the range head. Fixes #527.
* Fixes for new clippy lints in Rust 1.54.Nathan Vegdahl2021-07-29
|
* Merge pull request #376 from cessen/great_line_ending_and_cursor_range_cleanupBlaž Hrastnik2021-07-29
|\ | | | | The Great Line Ending & Cursor Range Cleanup
| * Fix typo in comment.Nathan Vegdahl2021-07-29
| |
| * Fix bug with `/` searching after non-ascii characters.Nathan Vegdahl2021-07-28
| | | | | | | | | | Forgot to convert from char indices to byte indices before passing to the regex engine.
| * Enforce cursor/selection invariants in one place.Nathan Vegdahl2021-07-28
| | | | | | | | Rather than per-command like before.
| * Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-28
| |\
| * \ Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-26
| |\ \
| * | | Start searches at the right side of the block cursor.Nathan Vegdahl2021-07-26
| | | |
| * | | Collect some common patterns into methods on `Range`.Nathan Vegdahl2021-07-26
| | | |
| * | | Switch to a cleaner range-head moving abstraction.Nathan Vegdahl2021-07-24
| | | | | | | | | | | | | | | | Also fix a bunch of bugs related to it.
| * | | Fixed find_till_char and find_char commands.Nathan Vegdahl2021-07-24
| | | | | | | | | | | | | | | | | | | | They worked correctly when extending, but not for normal cursor movement.
| * | | Fix surround replace command replacing the wrong position on the right.Nathan Vegdahl2021-07-24
| | | |
| * | | Merge branch 'master' into great_line_ending_and_cursor_range_cleanupNathan Vegdahl2021-07-24
| |\ \ \
| * | | | Put selection in separate variable in commands code.Nathan Vegdahl2021-07-24
| | | | |
| * | | | Fix append mode, and make insertion always happen at head of range.Nathan Vegdahl2021-07-23
| | | | |
| * | | | Calculate the line that the range head is on correctly.Nathan Vegdahl2021-07-22
| | | | |
| * | | | Use `Range::line_range()` in some more places I missed.Nathan Vegdahl2021-07-22
| | | | |
| * | | | Fix append mode not editing correctly.Nathan Vegdahl2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | This is currently a bit of a hack, and still doesn't behave quite how we probably want. Left a TODO.