Blaž Hrastnik
9dd17c46a2
dap: Avoid cloning old_breakpoints if we are immediately replacing them
3 years ago
Blaž Hrastnik
757babb1b4
dap: Avoid cloning *entire* stack frames when picking a thread
3 years ago
Blaž Hrastnik
5803de2067
dap: Simplify more calls
3 years ago
Blaž Hrastnik
9baddc825d
dap: Get rid of excessive cloning
3 years ago
Blaž Hrastnik
fd9b826f2c
dap: Inline empty completer
3 years ago
Blaž Hrastnik
5938ab1bf1
dap: Fully extract template parameter prompts
3 years ago
Blaž Hrastnik
3b8d5102ac
Make picker take the whole context, not just editor
3 years ago
Blaž Hrastnik
64bb1f7563
dap: Extract out variable rendering
...
Will improve on the UI later
3 years ago
Omnikar
ed23057ff8
Launch with defaults upon invalid config/theme ( #982 )
...
* Launch with defaults upon invalid config/theme
* Startup message if there is a problematic config
* Statusline error if trying to switch to an invalid theme
* Use serde `deny_unknown_fields` for config
3 years ago
Blaž Hrastnik
e2a23ac0b5
If there is no live debugger, treat breakpoints as unverified
3 years ago
Blaž Hrastnik
2e1aa5f15b
Fix compilation
3 years ago
Blaž Hrastnik
09d8c139af
dap: Enable sticky mode for the submode
3 years ago
Blaž Hrastnik
14a3502cf1
dap: Move template selection into a picker
...
It's time to move all these components out of ui/editor.rs
3 years ago
Blaž Hrastnik
f2b709a3c3
Merge branch 'master' into debug
3 years ago
Blaž Hrastnik
2c1313c064
Specify vector capacity on surround_add
3 years ago
Blaž Hrastnik
1a1685acf7
Simplify current!(..).1 into doc!()
3 years ago
Blaž Hrastnik
0f4cd73000
Simplify goto_*_diagnostic commands
3 years ago
Blaž Hrastnik
f659e1178a
minor: view!(..).doc is slightly more efficient than current!(..).1.id()
3 years ago
Blaž Hrastnik
4c1321b3b6
minor: Extend search was decclared twice in the keymap
3 years ago
Blaž Hrastnik
b81a554424
Retain range direction on search
...
Co-authored-by: CossonLeo <20379044+cossonleo@users.noreply.github.com>
3 years ago
Blaž Hrastnik
6431b26a6a
Implement Selection::replace to replace a single range
...
Fixes #985
Co-authored-by: Daniel S Poulin <crimsonmage+github@gmail.com>
3 years ago
Gygaxis Vainhardt
911b9b3276
Add reverse search functionality ( #958 )
...
* Add reverse search functionality
* Change keybindings for extend to be in select mode, incorporate Movement and Direction enums
* Fix accidental revert of #948 in rebase
* Add reverse search to docs, clean up mismatched whitespace
* Reverse search optimization
* More optimization via github feedback
3 years ago
Omnikar
cfc8285867
Allow infoboxes to be disabled ( #972 )
...
* Allow infoboxes to be disabled
* Document `infoboxes` default value
* Rename `infoboxes` to `auto_info`
* Document `auto-info`
* Fix incomplete rename
3 years ago
Omnikar
51b4d35dce
Inform when reaching undo/redo bounds ( #981 )
...
* Inform when reaching undo/redo bounds
* `Already at oldest change` when undo fails
* `Already at newest change` when redo fails
* Add missing `the`
3 years ago
Blaž Hrastnik
7b65a6d687
Rewrite goto_buffer
3 years ago
ath3
78c68fae91
Implement "Goto next buffer / Goto previous buffer" commands
3 years ago
Blaž Hrastnik
e2560f427e
Replace documents SlotMap with BTreeMap
3 years ago
CossonLeo
39584cbccd
Add c-s to pick word under doc cursor to prompt line & search completion ( #831 )
...
* 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>
3 years ago
diegodox
70d21a903f
Prevent preview binary or large file ( #939 )
...
* 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>
3 years ago
Omnikar
5b5d1b9dff
Truncate the starts of file paths instead of the ends in picker ( #951 )
...
* 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>
3 years ago
Omnikar
e39cfa40df
Hide keys bound to `no_op` from infobox ( #971 )
3 years ago
Ivan Tham
3eb829e233
Ensure coords in screen depends on char width ( #885 )
...
The issue affected files with lots of tabs at the start as well.
Fix #840
3 years ago
Triton171
7a0c4322ea
Simplify BTreeSet construction
...
Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Daniel Ebert
eb8745db09
Implement key ordering for info box
3 years ago
CossonLeo
1720b98760
only remove primary index when search next without extend ( #948 )
3 years ago
dependabot[bot]
44ff597841
build(deps): bump tokio-stream from 0.1.7 to 0.1.8 ( #953 )
...
Bumps [tokio-stream](https://github.com/tokio-rs/tokio ) from 0.1.7 to 0.1.8.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.7...tokio-stream-0.1.8 )
---
updated-dependencies:
- dependency-name: tokio-stream
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Gygaxis Vainhardt
f140a2a00e
Add arrow-key bindings for window switching ( #933 )
3 years ago
Blaž Hrastnik
e5de103728
Extract a clear_completion method
3 years ago
Ivan Tham
49f6c2623f
Bump lsp-types to 0.91.0 ( #932 )
3 years ago
Ivan Tham
bc6a34d97e
Make match work with extend and multi cursors ( #920 )
3 years ago
Ivan Tham
21d535565b
Support extend for multiple goto ( #909 )
...
gg, ge, [n]gg
3 years ago
cossonleo
f1d339919f
add expand_selection to last_motion
3 years ago
Blaž Hrastnik
f3c7f20dbc
Release v0.5.0
3 years ago
Omnikar
db56de589a
Add `--tutor` option to `hx --help` output ( #924 )
...
* Add `--tutor` option to `hx --help` output
* Adjust `--tutor` location in help output
3 years ago
Omnikar
e2ed691537
Implement `hx --tutor` and `:tutor` to load `tutor.txt` ( #898 )
...
* Implement `hx --tutor` and `:tutor` to load `tutor.txt`
* Document `hx --tutor` and `:tutor`
* Change `Document::set_path` to take an `Option`
* `Document::set_path` accepts an `Option<&Path>` instead of `&Path`.
* Remove `Editor::open_tutor` and make tutor-open functionality use
`Editor::open` and `Document::set_path`.
* Use `PathBuf::join`
Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Add comments explaining unsetting tutor path
Co-authored-by: Ivan Tham <pickfire@riseup.net>
3 years ago
Nehliin
3b0c5e993a
Use deserialization fix instead
3 years ago
Oskar Nehlin
6e455fd3fb
Apply suggestions from code review
...
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
Nehliin
da4d9340ba
Make key macro more portable
3 years ago
Nehliin
a4c5f46739
Fix order being empty and add test
3 years ago
Nehliin
f133d80e70
Move test to test module
3 years ago
Nehliin
fbba47fbc0
Fix panic when using multi-level key mapping
3 years ago
Blaž Hrastnik
5501669f8c
Revert "minor: Rearrange helix-term Cargo.toml"
...
This reverts commit 2cee0c58ba
.
3 years ago
Blaž Hrastnik
1066b081dd
fix: When cycling through prompt history, update event needs to trigger
3 years ago
Blaž Hrastnik
2cee0c58ba
minor: Rearrange helix-term Cargo.toml
3 years ago
Blaž Hrastnik
3fe353c47c
Remove some old TODOs
3 years ago
Omnikar
2505802d39
Improve statusline ( #916 )
...
* 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>
3 years ago
radical3dd
d61e5e686b
Use current dir for file picker, after change dir. ( #910 )
3 years ago
CossonLeo
f331ba9df4
Clear competion items when start_offset > cursor ( #906 )
3 years ago
CossonLeo
b142fd4080
move_up will select last item, when no item selected ( #907 )
3 years ago
CossonLeo
bca98b5bed
Add c-j c-k to menu keymap for move_up move_down ( #908 )
3 years ago
Blaž Hrastnik
acc5ac5e73
fix warning
3 years ago
Blaž Hrastnik
3edca7854e
completion: fully revert state before apply & insertText common prefix
3 years ago
Omnikar
a7d87c79ce
Fix `:quit!` description and tense of other commands ( #902 )
3 years ago
Dmitry Sharshakov
6aa9838ea6
dap: support arrays as arguments
3 years ago
CossonLeo
2ed01f2d9c
find motion and textobj motion repeat ( #891 )
3 years ago
Blaž Hrastnik
cee7ad781e
Mark a few functions as `const`
3 years ago
CossonLeo
971ba8929f
Filter completion items from language server by starts_with word under cursor ( #883 )
...
* filter items by starts_with pre nth char of cursor
* add config for filter completion items by starts_with
* filter items by starts_with pre nth char of cursor
* add config for filter completion items by starts_with
* remove completion items pre filter configuratio
3 years ago
Kirawi
0cb5e0b2ca
log syntax highlighting init errors ( #895 )
3 years ago
Oskar Nehlin
0f886af4b9
Add commands for moving between splits with a direction ( #860 )
...
* Add commands for moving between splits with a direction
* Update keymaps
* Change picker mapping
* Add test and clean up some comments
3 years ago
Gokul Soumya
4ee92cad19
Add treesitter textobjects ( #728 )
...
* Add treesitter textobject queries
Only for Go, Python and Rust for now.
* Add tree-sitter textobjects
Only has functions and class objects as of now.
* Fix tests
* Add docs for tree-sitter textobjects
* Add guide for creating new textobject queries
* Add parameter textobject
Only parameter.inside is implemented now, parameter.around
will probably require custom predicates akin to nvim' `make-range`
since we want to select a trailing comma too (a comma will be
an anonymous node and matching against them doesn't work similar
to named nodes)
* Simplify TextObject cell init
3 years ago
Blaž Hrastnik
96945be1a8
Fix doctest broken on 2021 edition
3 years ago
Blaž Hrastnik
182a59b552
Update to rust 1.56 + 2021 edition
3 years ago
Daniel S Poulin
3b032e8e1f
First stab at ignoring compressed files from picker ( #767 )
3 years ago
radical3dd
b1ebd7a07e
Replace current selection with all yanked values. ( #882 )
3 years ago
Blaž Hrastnik
e9b23c29d8
Ignore errors when disabling mouse capture
3 years ago
Blaž Hrastnik
9688cb74a1
Update dependencies to bump crossterm to 0.22.1
...
Fixes #825
Fixes #690
3 years ago
VuiMuich
67829976fa
Add `C-j` and `C-k` to keybinds for picker ( #876 )
...
* Add `C-j` and `C-k` for moving down/up in pickers
* Add new binds to keymap doc
3 years ago
CossonLeo
9ac0c95161
Improve completion trigger ( #838 )
...
* improve idle completion trigger
* add completion-trigger-len to book
* rename semantics_completion to language_server_completion and optimize idle completion trigger
3 years ago
Blaž Hrastnik
bda05ec4bf
Use a newtype for ThreadId
3 years ago
Blaž Hrastnik
0a6b60085a
Merge branch 'master' into debug
3 years ago
Ivan Tham
89707a858f
Make auto-completion a config ( #853 )
3 years ago
Blaž Hrastnik
2c0468ffd1
fix: If backspacing past the start offset, cancel completion
...
Refs #822
3 years ago
Omnikar
c71b49497d
Set CWD when editor is started with a directory ( #849 )
3 years ago
Leoi Hung Kin
4d07eaa48b
Prevent LSP Messages from displaying when a prompt is presented ( #824 )
...
* Prevent LSP Messages from displaying when a prompt is presented
* use match guard
3 years ago
Blaž Hrastnik
f8f63c5508
Merge pull request #821 from helix-editor/idle-timer
...
Idle timer / Autocompletion
3 years ago
Blaž Hrastnik
76b1bbc23a
Allow trigger_offset to be unused for now
3 years ago
Blaž Hrastnik
633b981db2
Make idle-timeout configurable
3 years ago
Blaž Hrastnik
c7f3a971c0
Remove resolved TODOs
3 years ago
Dmitry Sharshakov
bc0084d071
fix command descriptions
3 years ago
Dmitry Sharshakov
48cb81eff1
Merge branch 'master' into debug
3 years ago
Leoi Hung Kin
a6852fb88f
Picker: Don't panick at move_up/move_down when matches is empty ( #818 )
3 years ago
Ethan Frei
9f27be429d
relative paths showing active file in global search ( #803 )
3 years ago
Blaž Hrastnik
f692ede2b7
fix: Don't crash on empty completion, don't retrigger on close
3 years ago
Blaž Hrastnik
8ca91891d1
fix compilation
3 years ago
Blaž Hrastnik
66f26e82ce
Filter the initial completion
3 years ago
Blaž Hrastnik
40abec80e1
Experiment with autocompletion on idle
3 years ago
Blaž Hrastnik
f99bea404f
idle timer wip
3 years ago
Irevoire
c4ae17dfd4
fix clippy warnings ( #804 )
3 years ago
Irevoire
7e958e1834
Add a bunch of aliases ( #797 )
...
* add a bunch of aliases
* apply code review from archseer
3 years ago
Dylan Richardson
4a92a79da4
global search: show file names as relative paths ( #802 )
...
This commit fixes #786
3 years ago
Dmitry Sharshakov
814dcfa8d2
fix lints
3 years ago
Dmitry Sharshakov
d943a51e3e
editor: add Node.js debugger
3 years ago
Dmitry Sharshakov
0e51e5fbaf
editor: support setExceptionBreakpoints
3 years ago
Dmitry Sharshakov
bf53aff27d
Merge branch 'master' into debug
3 years ago
Matt W
df55eaae69
Add tilde expansion for file opening ( #782 )
...
* change to helix_core's tilde expansion,
from helix-core::path::expand_tilde
3 years ago
Blaž Hrastnik
2e0803c8d9
Implement 'remove_primary_selection' as Alt-,
...
This allows removing search matches from the selection
Fixes #713
3 years ago
Blaž Hrastnik
75dba1f956
experiment: space+k for LSP doc, K for keep_selections
3 years ago
Blaž Hrastnik
9ea9e779b2
experiment: Move keep_primary_selection to ,
3 years ago
lurpahi
a958d34bfb
Add option for automatic insertion of closing-parens/brackets/etc ( #779 )
...
* Add auto-pair editor option
* Document auto-pair editor option
* Make cargo fmt happy
* Actually make cargo fmt happy
* Rename auto-pair option to auto-pairs
* Inline a few constants
Co-authored-by: miaomai <cunso@tutanota.com>
3 years ago
Leoi Hung Kin
432bec10ed
allow smart case in global search ( #781 )
3 years ago
Leoi Hung Kin
9456d5c1a2
Initial implementation of global search ( #651 )
...
* initial implementation of global search
* use tokio::sync::mpsc::unbounded_channel instead of Arc, Mutex, Waker poll_fn
* use tokio_stream::wrappers::UnboundedReceiverStream to collect all search matches
* regex_prompt: unified callback; refactor
* global search doc
3 years ago
kraem
4a003782a5
enable smart case regex search by default ( #761 )
3 years ago
Leoi Hung Kin
1d04e5938d
search_next_impl: don't panic on invalid regex ( #740 )
3 years ago
Blaž Hrastnik
3ff5b001ac
fix: Don't allow closing the last split if there's unsaved changes
...
Fixes #674
3 years ago
Blaž Hrastnik
c7d6e4461f
fix: Wrap around the top of the picker menu when scrolling
...
Forgot to port the improvements in menu.rs
Fixes #734
3 years ago
Blaž Hrastnik
b02d872938
fix: Refactor apply_workspace_edit to remove assert
...
Fixes #698
3 years ago
Blaž Hrastnik
dd0b15e1f1
syntax: Properly handle injection-regex for language injections
3 years ago
Omnikar
3e12b00993
Add `no_op` command ( #743 )
...
* Add `no_op` command
* Document `no_op` in `remapping.md`
3 years ago
Blaž Hrastnik
1540b37f34
lsp: Silence window/logMessage if -v isn't used
3 years ago
Blaž Hrastnik
32977ed341
ui: Trigger recalculate_size per popup render so contents can readjust
3 years ago
Kangwook Lee (이강욱)
05c2a72ccb
goto line start/end commands extend when in select mode ( #739 )
3 years ago
Kirawi
987d8e6dd6
Convert clipboard line ending to document line ending when pasting ( #716 )
...
* convert a paste's line-ending to the current doc's line-ending
* move paste regex into paste_impl
3 years ago
Gokul Soumya
94abc52b3b
feat: Sticky view mode with Z ( #719 )
3 years ago
Blaž Hrastnik
3426285a63
fix: Don't automatically search_next on *
...
Refs #713
3 years ago
Blaž Hrastnik
72cf86e462
Regex prompts should have a history with a specifiable register
3 years ago
CossonLeo
011f9aa47f
Optimize completion doc position. ( #691 )
...
* optimize completion doc's render
* optimize completion doc's render
* optimize completion doc position
* cargo fmt
* fix panic
* use saturating_sub
* fixs
* fix clippy
* limit completion doc max width 120
3 years ago
Blaž Hrastnik
2ce87968cd
ui: Be smarter about centering previews
...
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.
3 years ago
Kangwook Lee (이강욱)
7a9db95182
Add command to extend to line start or end ( #717 )
3 years ago
Blaž Hrastnik
46f3c69f06
lsp: Don't send notifications until initialize completes
...
Then send open events for all documents with the LSP attached.
3 years ago
Blaž Hrastnik
dc7799b980
lsp: Refactor code that could use document_by_path_mut
3 years ago
Blaž Hrastnik
63e191ea3b
lsp: Simplify lookup under method call
3 years ago
Blaž Hrastnik
10b690b5bd
Drop some &mut bounds where & would have sufficed
3 years ago
Dmitry Sharshakov
507a1f8dd6
Get breakpoint reports from debugger
3 years ago
Dmitry Sharshakov
c9cd06e904
Fetch stack traces for all threads when debugger sets all_thread_stopped flag
3 years ago
Dmitry Sharshakov
bdd636d8ee
Clean up import
3 years ago
Gokul Soumya
6e21a748b8
Fix escape not exiting insert mode ( #712 )
...
Regression due to #635 where escape key in insert mode
would not exit normal mode. This happened due to hard
coding the escape key to cancel a sticky keymap node.
3 years ago
Dmitry Sharshakov
9b8c5bdade
Remove redundant fetching of stack traces
3 years ago
Dmitry Sharshakov
0add0c5639
Make conditional logpoints underlined
3 years ago
Dmitry Sharshakov
2d35b7b99c
Normalize line in picker preview to avoid crash
3 years ago
Dmitry Sharshakov
b6c58ea23e
Support thread previews
3 years ago
Dmitry Sharshakov
bb26c589b4
Keybinding for editing log
3 years ago
Dmitry Sharshakov
0e1e4edc5e
different display for conditional logpoints
3 years ago
Dmitry Sharshakov
8a609047c3
Mouse command for editing logpoint
3 years ago
Dmitry Sharshakov
7bdead5b4b
Drop old commands
...
TODO: edit logpoints with a keybinding and mouse
3 years ago
Dmitry Sharshakov
3b0ec750ff
Support editing breakpoint condition with right click
3 years ago
Gokul Soumya
183dcce992
Add a sticky mode for keymaps ( #635 )
3 years ago
Gokul Soumya
95cd2c645b
Refactor switch_case commands
3 years ago
Gokul Soumya
33ce8779fd
Refactor {move,extend}_word_* commands
3 years ago
Gokul Soumya
ea2b4c687d
Refactor {move,extend}_char_* commands
3 years ago
Dmitry Sharshakov
1befbd076c
Add command for editing breakpoint condition
3 years ago
Dmitry Sharshakov
e36fc57fff
refactor breakpoint edit
3 years ago
Dmitry Sharshakov
698583c241
Support setting breakpoints with mouse
3 years ago
Kangwook Lee (이강욱)
07fe4a6a40
Add commands that extends to long words ( #706 )
3 years ago
Dmitry Sharshakov
430c80ff2a
Fix crash when trying to select (view) threads when debuggee is running
3 years ago
Dmitry Sharshakov
c6186ce600
jump to selected stack frame
3 years ago
Dmitry Sharshakov
cb31d20b46
mark thread as running when resumed
3 years ago
Dmitry Sharshakov
9a1916ebfd
show thread states in thread picker
3 years ago
Dmitry Sharshakov
00cccdc62a
Don't show thread picker for single-threaded targets
3 years ago
Dmitry Sharshakov
9939dbf119
Fix clippy warnings
3 years ago
Dmitry Sharshakov
cf7237d0b9
compat: make thread IDs signed
...
Delve needs it
3 years ago
Blaž Hrastnik
c63ad60c31
dap: Allow switching between stack frames
3 years ago
Blaž Hrastnik
b997d2cdeb
dap: Allow setting breakpoints before starting the adapter
3 years ago
Blaž Hrastnik
289303a30d
dap: small TODO
3 years ago
Blaž Hrastnik
42f9718f55
dap: Extract thread_picker, make pause explicitly select a thread
3 years ago
Blaž Hrastnik
27c1b3f98b
dap: Extract a thread_states map
3 years ago
Blaž Hrastnik
5b920c53f0
Refactor resume_application state handling
3 years ago
Blaž Hrastnik
4c410eef87
Merge remote-tracking branch 'origin/master' into debug
3 years ago
Dmitry Sharshakov
9c64650a26
force update of stack trace when stopped
3 years ago
Dmitry Sharshakov
2c89107349
Fix crash when stack trace not loaded
...
Still doesn't address the issue though
3 years ago
Dmitry Sharshakov
e0180a4b88
find main thread automatically if thread stopped is not known
3 years ago
Wojciech Kępka
7e1123680f
Expand `~` in `change-current-directory` command ( #692 )
3 years ago
oberblastmeister
825bceeab6
add_newline unimpaired mapping ( #653 )
...
* added some keymaps
* remove
* remove wrong mappings
* remove
* wrong import
* use enum
* correct line ending
* added to book
* column
3 years ago
Blaž Hrastnik
ce7ad2beb5
Reimplement keep-pipe, it needs to manipulate selections, not text
3 years ago
Blaž Hrastnik
dc609cafb5
Extract the shell command into a separate function
3 years ago
Dmitry Sharshakov
5b20f6020a
Merge remote-tracking branch 'origin/master' into debug
...
Contains type fix on helix-term/src/ui/editor.rs:752:13
3 years ago
Blaž Hrastnik
a3bd80a6fa
ui: prompt: Avoid allocating a prompt name if it's a static string
3 years ago
Blaž Hrastnik
9b96bb5ac8
Refactor a bit further
3 years ago
Blaž Hrastnik
4a76ea8f88
shell: Move changes outside so we can properly handle errors
3 years ago
Omnikar
e772808a5b
Shell commands ( #547 )
...
* Implement shell interaction commands
* Use slice instead of iterator for shell invocation
* Default to `sh` instead of `$SHELL` for shell commands
* Enforce trailing comma in `commands` macro
* Use `|` register for shell commands
* Move shell config to `editor` and use in command
* Update shell command prompts
* Remove clone of shell config
* Change shell function names to match prompts
* Log stderr contents upon external command error
* Remove `unwrap` calls on potential common errors
`shell` will no longer panic if:
* The user-configured shell cannot be found
* The shell command does not output UTF-8
* Remove redundant `pipe` parameter
* Rename `ShellBehavior::None` to `Ignore`
* Display error when shell command is used and `shell = []`
* Document shell commands in `keymap.md`
3 years ago
gbaranski
9c5752cbac
fix: use .cursor() instead of .head
3 years ago
gbaranski
b590504143
fix: use head instead of anchor for relative line
3 years ago
Blaž Hrastnik
0b0b1d850a
dap: Stop comparing file paths per line number
3 years ago
Blaž Hrastnik
2c7b75475f
dap: refactor frame handling
3 years ago
Omnikar
03ad9e0bfa
Fix code indentation ( #671 )
3 years ago
Blaž Hrastnik
986828e75c
dap: Remap keys, match current thread behavior from dap-mode, switch-thread
3 years ago
Blaž Hrastnik
03b2d81406
dap: better yet, use Selection::single..
3 years ago
Blaž Hrastnik
4d24a43651
dap: use smallvec! macro
3 years ago
Blaž Hrastnik
81f51c13fa
dap: continued: THis check is already done before the match statement
3 years ago
Blaž Hrastnik
51328a4966
dap: extract dap_pos_to_pos
3 years ago
Blaž Hrastnik
d6ccc150c7
Extract dap commands into a separate file
3 years ago
Blaž Hrastnik
ee2ba744a2
Rename dap_in/_out to dap_step_in/_out
3 years ago
Dmitry Sharshakov
b42631942b
Defaults in completions, better schema
3 years ago
Dmitry Sharshakov
f53d8411cb
Add extra annotations to completions
3 years ago
Dmitry Sharshakov
98fda6b8f0
better completion
3 years ago
Dmitry Sharshakov
9d2f2a9e32
Support multiple arguments for debug configs
3 years ago
Dmitry Sharshakov
2d42766a71
wip: refactor parameters in UI start
3 years ago
Dmitry Sharshakov
af657ef2ec
Fix lints
3 years ago
Dmitry Sharshakov
94901b8677
Customized completion for template parameters
3 years ago
Dmitry Sharshakov
ef155e62ef
Add filename autocomplete to template args
3 years ago
Dmitry Sharshakov
e315394631
Merge remote-tracking branch 'origin/master' into debug
3 years ago
Dmitry Sharshakov
8df6739759
New way of starting debug sessions
3 years ago
Dmitry Sharshakov
5e4da09be2
Don't let picker be too narrow
3 years ago
Dmitry Sharshakov
890b51b568
Paginated variables
3 years ago
CossonLeo
d6a9c2c0f6
Add ui.menu text style ( #664 )
...
* add menu text style
* add ui.menu.text ui.info ui.info.text to book
* change ui.menu.text to ui.menu
* fix book's ui.menu
3 years ago
Blaž Hrastnik
5cee3b634d
ui: prompt: Fix typing with alt
3 years ago
Omnikar
bfce4d4f29
Make `v` in select mode switch back to normal mode ( #660 )
...
* Make `v` in select mode switch back to normal mode
* Move select mode toggle to keymap instead of command
3 years ago
Grzegorz Baranski
cec5d437d8
fix: show current line number even if relative line is on ( #656 )
3 years ago
Stuart Hinson
6192f2fa25
Show hidden files in filename completer ( #648 )
...
also removes unnecessary clone
3 years ago
Yusuf Bera Ertan
dc57f8dc89
feat: merge default languages.toml with user provided languages.toml, add a generic TOML value merge function ( #654 )
...
* feat: merge default languages.toml with user provided languages.toml
* refactor: use catch-all to override all other values for merge toml
* tests: add a test case for merging languages configs
* refactor: change test module name
3 years ago
Ivan Tham
4bafda3995
Change vsp to vs ( #647 )
...
Follow up on #639 to match vim behavior
3 years ago
Dmitry Sharshakov
3b87fce0ce
Print errors occurred in debug commands
3 years ago
Dmitry Sharshakov
c7759a5aa0
Merge remote-tracking branch 'origin/master' into debug
3 years ago
Dmitry Sharshakov
4ee66b8766
Support remote debug adapter
3 years ago
Dmitry Sharshakov
326293cb57
only show variables' names and types
3 years ago
Kirawi
b99db7c687
Move path util functions from helix-term to helix-core ( #650 )
3 years ago
Dmitry Sharshakov
2c3e2b979b
Workaround for debugging Go tests
3 years ago
Dmitry Sharshakov
8cc6d68160
Autocomplete files for debug command
3 years ago
Dmitry Sharshakov
235a84d989
Remove shortcut for starting debug
3 years ago
Dmitry Sharshakov
299da5a35b
Support attach request
3 years ago
Dmitry Sharshakov
b001008a69
Support templates in debug configurations
3 years ago
Dmitry Sharshakov
31212e133d
Rename functions
3 years ago
Dmitry Sharshakov
1041a5bb07
Support launching configs by name
3 years ago
Dmitry Sharshakov
c463142e5e
Create new debugger config format
3 years ago
Dmitry Sharshakov
34c6094604
refactor
3 years ago
Dmitry Sharshakov
fdad7d67aa
Check capabilities for breakpoint config
3 years ago
Dmitry Sharshakov
c4085b4e88
Use saturating_sub for lenght
3 years ago
Dmitry Sharshakov
5d3c69d565
Support logpoints
...
Tested with Node (Delve and LLDB do not support logpoints)
3 years ago
Blaž Hrastnik
bf5b9a9f35
ui: Tone down the preview highlight by adding a new scope
3 years ago
Blaž Hrastnik
e6cb183134
ui: Fix preview window padding: we want horizontal, not vertical
3 years ago
Blaž Hrastnik
a5c3c6c6a9
ui: Highlight line ranges in the preview
3 years ago
CossonLeo
490125f008
info component style config use ui.info ui.info.text ( #643 )
3 years ago
Blaž Hrastnik
1d45f50781
fix: Don't internally use relative paths in the buffer picker
...
Fixes #619
3 years ago
devins2518
e1c9f13263
Add :vsplit and :hsplit commands ( #639 )
...
* add vsplit and hsplit commands
* handle splits more elegantly
3 years ago
dependabot[bot]
864618242b
Bump crossterm from 0.20.0 to 0.21.0 ( #644 )
...
Bumps [crossterm](https://github.com/crossterm-rs/crossterm ) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/crossterm-rs/crossterm/releases )
- [Changelog](https://github.com/crossterm-rs/crossterm/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossterm-rs/crossterm/commits )
---
updated-dependencies:
- dependency-name: crossterm
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3 years ago
Dmitry Sharshakov
ec599a1eac
Do not panic if entered unknown code via stack trace
...
e.g. Rust std library
3 years ago
Dmitry Sharshakov
3a5e044c89
languages: support debug for Rust with LLDB
3 years ago
Dmitry Sharshakov
09c994a97a
editor: drop telemetry output messages
3 years ago
Dmitry Sharshakov
b6b99b2487
config: minor fixes
3 years ago
Dmitry Sharshakov
839d210573
Enable stdio transport via config
3 years ago
Dmitry Sharshakov
f55a012fb7
editor: add debug session config
3 years ago
Dmitry Sharshakov
c5b210df59
Add debug-adapter field to languages.toml
3 years ago
Dmitry Sharshakov
b78f70e602
show breakpoint condition in diagnostics
3 years ago
Dmitry Sharshakov
53ee57f84a
clippy
3 years ago
Dmitry Sharshakov
f247858055
Support conditional breakpoints
3 years ago
Dmitry Sharshakov
3197c2536e
Add eval command
3 years ago
Dmitry Sharshakov
838f69929d
Simplify variables display
3 years ago
Dmitry Sharshakov
060a422c7e
fix crash when pausing
3 years ago
Dmitry Sharshakov
d0b0c9b2ef
editor: select a range if stack pointer has an end
3 years ago
Dmitry Sharshakov
132198323c
editor: go to pos where stack pointer is located
3 years ago
Dmitry Sharshakov
be9dc5802a
editor: mark target as running when continued
3 years ago
Dmitry Sharshakov
d93cd2a261
editor: support stepIn, stepOut, next and pause commands
3 years ago
Blaž Hrastnik
28658836ee
Add more event types, simplify event decoding
3 years ago
Dmitry Sharshakov
2aee5f02d0
Style
3 years ago
Dmitry Sharshakov
7233ab2deb
Merge branch 'debug' of https://github.com/sh7dm/helix into debug
3 years ago
Blaž Hrastnik
a964cbae65
Extract handle_debugger_message, we should avoid bloating tokio::select!
3 years ago
Dmitry Sharshakov
91f2c60b36
Jump to stack pointer when stopped
3 years ago
Blaž Hrastnik
607b92b2e3
fix: Place the cursor on the start of the selected symbol
...
Fixes #626
3 years ago
Dmitry Sharshakov
89ad54a2e5
Add variable type to output
3 years ago
Dmitry Sharshakov
cc66475592
Add commands for variable introspection
3 years ago
Kirawi
59e0ceef8c
better panic messages for when you're missing selection scopes ( #608 )
3 years ago
Dmitry Sharshakov
95ba4ff5bd
Hide stack pointer when continued
3 years ago
Dmitry Sharshakov
f3e47bfee4
Disable continuing when running
3 years ago
Dmitry Sharshakov
5230a2b669
Continue command in keymap
3 years ago
Dmitry Sharshakov
66c035fa99
Continue command
3 years ago
Dmitry Sharshakov
6709b4242f
Drop and terminate debugger
3 years ago
Dmitry Sharshakov
26dee49dc9
Add command to detach debugger
3 years ago
Dmitry Sharshakov
462c8a6ec8
Show debugger output in the statusline
3 years ago
Dmitry Sharshakov
5a06263b78
report status when target started or stopped
3 years ago
Dmitry Sharshakov
bcab93c94e
Update editor window when stopped
3 years ago
Dmitry Sharshakov
a938f5a87a
refactor: handle DAP events in editor main loop
3 years ago
Dmitry Sharshakov
3fc501c99f
Correctly display 1-based breakpoints
3 years ago
Dmitry Sharshakov
56bddb12f8
Highlight line number of stack pointer
3 years ago
Dmitry Sharshakov
5f5b383979
Fix clippy warnings
3 years ago
Dmitry Sharshakov
6458edecfd
Add stack pointer display when stopped
3 years ago
Gokul Soumya
f9375f449c
Refactor new Rect construction ( #575 )
...
* 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
3 years ago
Dmitry Sharshakov
738e8a4dd3
Unify init and launch commands
3 years ago
Dmitry Sharshakov
9e22842d51
move debug command to keybinding
3 years ago
Dmitry Sharshakov
e2c74d26e0
Add command to run debug target
3 years ago
Dmitry Sharshakov
c4970c617e
make CI green
3 years ago
Blaž Hrastnik
a54b09e3fe
dap: Split out launch from init
3 years ago
Blaž Hrastnik
94a1951d40
Work towards a breakpoint UI
3 years ago
Blaž Hrastnik
86102a651f
wip
3 years ago
Blaž Hrastnik
d39baa3b4e
Start integrating into the editor's event loop
3 years ago
Blaž Hrastnik
d4c17b633c
minor: Extract doc.text().slice(..) into a var
3 years ago
Blaž Hrastnik
38e932bd4c
minor: Nicer errors, std::io::Error provides a Display impl
3 years ago
Blaž Hrastnik
a76ec9a64e
Make scrolling extend in extend mode
3 years ago
Blaž Hrastnik
07fea61d03
Use the correct search register
3 years ago
Blaž Hrastnik
f60b549fb7
cargo fmt
3 years ago
Blaž Hrastnik
68626b8f78
ui: Refactor styling a bit, ensure infobox is stylable
3 years ago
Blaž Hrastnik
cbd39d67a4
minor: Refactor commands.rs a bit more
3 years ago
Kirawi
da8810809a
use `ui.text.focus` for the picker ( fix #622 )
3 years ago
Blaž Hrastnik
0595b0626a
Fix clippy attr
3 years ago
Blaž Hrastnik
5f8b1c7320
Avoid looking up ui.text per highlight range
3 years ago
Blaž Hrastnik
557fd86e71
Extract view.inner_area(), simplify render_focused_view_elements
3 years ago
Blaž Hrastnik
9776553ad0
Refactor view.first_line/first_col into view.offset (Position)
3 years ago
Blaž Hrastnik
115754c5ee
Simplify write/write_all commands, we no longer need to excessively block
3 years ago
Blaž Hrastnik
12ea3888c5
fix: ui: Pin popups with no positioning to the initial cursor position
...
This avoids the floating popup following the cursor as we type.
3 years ago
Yerlan
18c0509593
Exit select mode after toggle_comment. Fixes #597 ( #598 )
...
Consistent with yanking, exit select mode after toggling comment. Fixes #597
3 years ago
Gokul Soumya
14c08e855f
Refactor infobox rendering and parsing ( #579 )
3 years ago
Grzegorz Baranski
78923496a6
feat: relative numbers ( #485 )
...
* feat(helix-view): configuring line-number
* feat(helix-term): relative line numbers
* feat(helix-term): passing editor::Config to render
* fix(helix-view): remove LineNumber::None
* feat(helix-term): rendering line-number according to configuration
* fix(term): put calculating current line above line iteration
* fix: add abs_diff function
* deps: cargo update
* fix: pass config argument
3 years ago
Blaž Hrastnik
1caedc18ca
Release v0.4.1
3 years ago
Blaž Hrastnik
4167201344
ui: picker: Position count according to input bar
3 years ago
Blaž Hrastnik
eb9ac0a743
ui: picker: Use ui.selection instead of ui.selection.primary
3 years ago
Blaž Hrastnik
f20dc1283d
ui: picker: Render matches/total counts
3 years ago
Blaž Hrastnik
fd1eaafff5
Add :tree-sitter-scopes, useful when developing indents.toml
3 years ago
Blaž Hrastnik
3de40de0a9
fix build...
3 years ago
Blaž Hrastnik
733ee06b7b
Release v0.4.0
3 years ago
Gokul Soumya
d84f8b5fde
Show file preview in split pane in fuzzy finder ( #534 )
...
* 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
3 years ago
Dmitry Sharshakov
7d51805e94
Support primary clipboard ( #548 )
...
* 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>
3 years ago
Blaž Hrastnik
d03982ee43
cargo fmt
3 years ago
Blaž Hrastnik
6d52424303
fix: Adjust scroll offset/padding calculation to prevent wobble
...
Fixes #324
3 years ago
Blaž Hrastnik
627b899315
ui: completion: Insert suggestions when tabbing over them
...
Fixes #498
3 years ago
Blaž Hrastnik
f917b5a441
ui: completion: Use sort_text to sort the completions
3 years ago
Nathan Vegdahl
dde2be9395
Fix surround_replace replacing the wrong character on the right. ( #571 )
...
Fixes #569 .
3 years ago
Dmitry Sharshakov
27b551d345
helix-term: handle scrolling when mouse is enabled ( #554 )
...
* 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>
3 years ago
Blaž Hrastnik
86209c93a3
Appease clippy
3 years ago
Omnikar
21e5662125
Make `exit_select_mode` check current mode ( #568 )
...
Change `exit_select_mode` to check that the current mode is select mode
before switching to normal mode
3 years ago
Blaž Hrastnik
a4564adadd
fix: Don't crash if language servers time out
3 years ago
Blaž Hrastnik
0a7add4ad4
Only recalculate resize during rendering, this stops flashing on resize
3 years ago
Kirawi
815ee9e334
fix small terminal size panic with info popup ( #563 )
...
* fix small terminal size panic with info popup
* remove unused enumerator
* fix subtraction overflow panic
3 years ago
Blaž Hrastnik
a2ccfffda1
config: Rename [terminal] to [editor] and pass it into Editor
3 years ago
Blaž Hrastnik
f0eb6ed96a
Resolve a couple TODOs
3 years ago
Blaž Hrastnik
02cba2a7f4
Implement alt-( and alt-) to rotate selection contents
3 years ago
Luctius
8714b71991
Do not shutdown lsp during claim_term
...
Fixes a bug where the language server is told to shutdown directly after application start.
3 years ago
Blaž Hrastnik
b20a5c4c0e
ui: menu: Allow wrapping around on ctrl-p/shift tab
3 years ago
Blaž Hrastnik
66a90130a5
Implement selection rotation with `(` and `)`
3 years ago
Ivan Tham
10c77cdc03
Exit extend after yank
...
Yank should proceed with normal mode.
3 years ago
Blaž Hrastnik
0793841ac3
Refactor copy selection vertically
3 years ago
Cor
f160008add
Vertical Selection
3 years ago
Nathan Vegdahl
8c3a5b14de
Add `goto_last_line` command, and bind it to `ge`.
...
Resolves #529 .
3 years ago
Blaž Hrastnik
585793eb46
Use an empty stream on Windows to remove duplication
3 years ago
Ivan Tham
821565e4ef
Add ctrl-z to suspend
3 years ago
Blaž Hrastnik
adb5d842ba
Use nicer filepaths instead of URIs in goto picker
3 years ago
Blaž Hrastnik
62eb8c6b40
mouse: Remove verify_screen_coords, refactor primary selection modification
3 years ago
Blaž Hrastnik
6bb744aeac
Remove the jump
3 years ago
Dmitry Sharshakov
8361de45dc
Mouse selection support ( #509 )
...
* 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>
3 years ago
Blaž Hrastnik
0fdb626c2c
Remove embed_runtime feature
...
It's no longer practical to maintain. Closes #451
3 years ago
Nathan Vegdahl
f88d4c1e20
Move indent-style code into `helix_core::indent`.
3 years ago
Nathan Vegdahl
e6e0d31be0
Fix incorrect behavior of `find_char` command and friends.
...
The non-extending variants of the commands weren't selecting from the range head.
Fixes #527 .
3 years ago
Nathan Vegdahl
3fda350494
Fixes for new clippy lints in Rust 1.54.
3 years ago
Blaž Hrastnik
05d20e196f
Merge pull request #376 from cessen/great_line_ending_and_cursor_range_cleanup
...
The Great Line Ending & Cursor Range Cleanup
3 years ago
Nathan Vegdahl
e4d41d06e3
Fix typo in comment.
3 years ago
Gokul Soumya
8a2fa692f2
Refactor case where key event is solely a character
3 years ago
Nathan Vegdahl
285aba2de5
Fix bug with `/` searching after non-ascii characters.
...
Forgot to convert from char indices to byte indices before passing
to the regex engine.
3 years ago
Nathan Vegdahl
cd7302ffd3
Enforce cursor/selection invariants in one place.
...
Rather than per-command like before.
3 years ago
Nathan Vegdahl
a873e719d5
Merge branch 'master' into great_line_ending_and_cursor_range_cleanup
3 years ago
Gokul Soumya
b90450b9e8
Fix goto line number
...
Regression from #454 . Go to line 10 with `10gg` or `10G`.
3 years ago
Gokul Soumya
1493313750
Show pending keys in status line ( #515 )
...
* Show pending keys and counts in status line
* Refactor pending key display
3 years ago
Nathan Vegdahl
f62ec6e51e
Merge branch 'master' into great_line_ending_and_cursor_range_cleanup
3 years ago
Gokul Soumya
88d6f65239
Allow multi key remappings in config file ( #454 )
...
* 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
3 years ago