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>
2021-10-28 10:23:46 +09:00
Nehliin
3b0c5e993a
Use deserialization fix instead
2021-10-28 10:22:52 +09:00
Oskar Nehlin
6e455fd3fb
Apply suggestions from code review
...
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2021-10-28 10:22:52 +09:00
Nehliin
da4d9340ba
Make key macro more portable
2021-10-28 10:22:52 +09:00
Nehliin
a4c5f46739
Fix order being empty and add test
2021-10-28 10:22:52 +09:00
Nehliin
f133d80e70
Move test to test module
2021-10-28 10:22:52 +09:00
Nehliin
fbba47fbc0
Fix panic when using multi-level key mapping
2021-10-28 10:22:52 +09:00
Blaž Hrastnik
5501669f8c
Revert "minor: Rearrange helix-term Cargo.toml"
...
This reverts commit 2cee0c58ba
.
2021-10-28 00:21:30 +09:00
Blaž Hrastnik
1066b081dd
fix: When cycling through prompt history, update event needs to trigger
2021-10-27 18:23:17 +09:00
Blaž Hrastnik
2cee0c58ba
minor: Rearrange helix-term Cargo.toml
2021-10-27 12:25:00 +09:00
Blaž Hrastnik
3fe353c47c
Remove some old TODOs
2021-10-27 12:25:00 +09:00
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>
2021-10-27 12:24:24 +09:00
radical3dd
d61e5e686b
Use current dir for file picker, after change dir. ( #910 )
2021-10-26 09:43:14 +09:00
CossonLeo
f331ba9df4
Clear competion items when start_offset > cursor ( #906 )
2021-10-26 09:42:37 +09:00
CossonLeo
b142fd4080
move_up will select last item, when no item selected ( #907 )
2021-10-26 09:42:23 +09:00
CossonLeo
bca98b5bed
Add c-j c-k to menu keymap for move_up move_down ( #908 )
2021-10-26 09:42:08 +09:00
Blaž Hrastnik
acc5ac5e73
fix warning
2021-10-25 11:11:11 +09:00
Blaž Hrastnik
3edca7854e
completion: fully revert state before apply & insertText common prefix
2021-10-25 11:09:09 +09:00
Omnikar
a7d87c79ce
Fix :quit!
description and tense of other commands ( #902 )
2021-10-25 09:25:47 +09:00
Dmitry Sharshakov
6aa9838ea6
dap: support arrays as arguments
2021-10-24 17:24:18 +03:00
CossonLeo
2ed01f2d9c
find motion and textobj motion repeat ( #891 )
2021-10-24 22:47:10 +09:00
Blaž Hrastnik
cee7ad781e
Mark a few functions as const
2021-10-24 17:28:29 +09:00
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
2021-10-24 16:55:29 +09:00
Kirawi
0cb5e0b2ca
log syntax highlighting init errors ( #895 )
2021-10-23 21:52:18 +09:00
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
2021-10-23 20:06:40 +09:00
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
2021-10-23 11:41:19 +09:00
Blaž Hrastnik
96945be1a8
Fix doctest broken on 2021 edition
2021-10-22 12:47:02 +09:00
Blaž Hrastnik
182a59b552
Update to rust 1.56 + 2021 edition
2021-10-22 12:15:18 +09:00
Daniel S Poulin
3b032e8e1f
First stab at ignoring compressed files from picker ( #767 )
2021-10-22 10:02:05 +09:00
radical3dd
b1ebd7a07e
Replace current selection with all yanked values. ( #882 )
2021-10-21 09:44:53 +09:00
Blaž Hrastnik
e9b23c29d8
Ignore errors when disabling mouse capture
2021-10-20 00:01:11 +09:00
Blaž Hrastnik
9688cb74a1
Update dependencies to bump crossterm to 0.22.1
...
Fixes #825
Fixes #690
2021-10-19 23:58:51 +09:00
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
2021-10-19 18:37:38 +09:00
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
2021-10-18 15:14:50 +09:00
Blaž Hrastnik
bda05ec4bf
Use a newtype for ThreadId
2021-10-17 14:06:52 +09:00
Blaž Hrastnik
0a6b60085a
Merge branch 'master' into debug
2021-10-17 13:51:56 +09:00
Ivan Tham
89707a858f
Make auto-completion a config ( #853 )
2021-10-16 22:57:41 +09:00
Blaž Hrastnik
2c0468ffd1
fix: If backspacing past the start offset, cancel completion
...
Refs #822
2021-10-16 18:43:07 +09:00
Omnikar
c71b49497d
Set CWD when editor is started with a directory ( #849 )
2021-10-16 10:04:26 +09:00
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
2021-10-15 17:36:39 +09:00
Blaž Hrastnik
f8f63c5508
Merge pull request #821 from helix-editor/idle-timer
...
Idle timer / Autocompletion
2021-10-10 22:11:01 +09:00
Blaž Hrastnik
76b1bbc23a
Allow trigger_offset to be unused for now
2021-10-10 12:33:22 +09:00
Blaž Hrastnik
633b981db2
Make idle-timeout configurable
2021-10-10 12:32:06 +09:00
Blaž Hrastnik
c7f3a971c0
Remove resolved TODOs
2021-10-10 12:22:11 +09:00
Dmitry Sharshakov
bc0084d071
fix command descriptions
2021-10-09 16:06:32 +03:00
Dmitry Sharshakov
48cb81eff1
Merge branch 'master' into debug
2021-10-09 16:03:46 +03:00
Leoi Hung Kin
a6852fb88f
Picker: Don't panick at move_up/move_down when matches is empty ( #818 )
2021-10-09 20:34:10 +09:00
Ethan Frei
9f27be429d
relative paths showing active file in global search ( #803 )
2021-10-08 11:08:10 +09:00
Blaž Hrastnik
f692ede2b7
fix: Don't crash on empty completion, don't retrigger on close
2021-10-07 10:37:35 +09:00
Blaž Hrastnik
8ca91891d1
fix compilation
2021-10-05 22:35:38 +09:00
Blaž Hrastnik
66f26e82ce
Filter the initial completion
2021-10-05 22:27:35 +09:00
Blaž Hrastnik
40abec80e1
Experiment with autocompletion on idle
2021-10-05 22:27:33 +09:00
Blaž Hrastnik
f99bea404f
idle timer wip
2021-10-05 22:27:10 +09:00
Irevoire
c4ae17dfd4
fix clippy warnings ( #804 )
2021-10-03 12:40:33 +09:00
Irevoire
7e958e1834
Add a bunch of aliases ( #797 )
...
* add a bunch of aliases
* apply code review from archseer
2021-10-03 11:41:41 +09:00
Dylan Richardson
4a92a79da4
global search: show file names as relative paths ( #802 )
...
This commit fixes #786
2021-10-03 08:41:52 +09:00
Dmitry Sharshakov
814dcfa8d2
fix lints
2021-09-26 21:54:36 +03:00
Dmitry Sharshakov
d943a51e3e
editor: add Node.js debugger
2021-09-26 21:36:06 +03:00
Dmitry Sharshakov
0e51e5fbaf
editor: support setExceptionBreakpoints
2021-09-26 10:24:58 +03:00
Dmitry Sharshakov
bf53aff27d
Merge branch 'master' into debug
2021-09-25 23:14:59 +03:00
Matt W
df55eaae69
Add tilde expansion for file opening ( #782 )
...
* change to helix_core's tilde expansion,
from helix-core::path::expand_tilde
2021-09-24 11:21:04 +09:00
Blaž Hrastnik
2e0803c8d9
Implement 'remove_primary_selection' as Alt-,
...
This allows removing search matches from the selection
Fixes #713
2021-09-24 10:30:28 +09:00
Blaž Hrastnik
75dba1f956
experiment: space+k for LSP doc, K for keep_selections
2021-09-24 10:30:23 +09:00
Blaž Hrastnik
9ea9e779b2
experiment: Move keep_primary_selection to ,
2021-09-24 10:30:17 +09:00
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>
2021-09-24 10:28:44 +09:00
Leoi Hung Kin
432bec10ed
allow smart case in global search ( #781 )
2021-09-24 10:27:16 +09:00
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
2021-09-22 01:03:12 +09:00
kraem
4a003782a5
enable smart case regex search by default ( #761 )
2021-09-20 13:45:07 +09:00
Leoi Hung Kin
1d04e5938d
search_next_impl: don't panic on invalid regex ( #740 )
2021-09-17 17:22:17 +09:00
Blaž Hrastnik
3ff5b001ac
fix: Don't allow closing the last split if there's unsaved changes
...
Fixes #674
2021-09-17 14:43:06 +09:00
Blaž Hrastnik
c7d6e4461f
fix: Wrap around the top of the picker menu when scrolling
...
Forgot to port the improvements in menu.rs
Fixes #734
2021-09-17 14:43:06 +09:00
Blaž Hrastnik
b02d872938
fix: Refactor apply_workspace_edit to remove assert
...
Fixes #698
2021-09-17 14:43:06 +09:00
Blaž Hrastnik
dd0b15e1f1
syntax: Properly handle injection-regex for language injections
2021-09-16 15:50:14 +09:00
Omnikar
3e12b00993
Add no_op
command ( #743 )
...
* Add `no_op` command
* Document `no_op` in `remapping.md`
2021-09-13 17:48:12 +09:00
Blaž Hrastnik
1540b37f34
lsp: Silence window/logMessage if -v isn't used
2021-09-13 17:45:02 +09:00
Blaž Hrastnik
32977ed341
ui: Trigger recalculate_size per popup render so contents can readjust
2021-09-13 17:44:50 +09:00
Kangwook Lee (이강욱)
05c2a72ccb
goto line start/end commands extend when in select mode ( #739 )
2021-09-11 18:31:40 +09:00
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
2021-09-11 00:12:26 +09:00
Gokul Soumya
94abc52b3b
feat: Sticky view mode with Z ( #719 )
2021-09-10 23:14:23 +09:00
Blaž Hrastnik
3426285a63
fix: Don't automatically search_next on *
...
Refs #713
2021-09-08 16:34:04 +09:00
Blaž Hrastnik
72cf86e462
Regex prompts should have a history with a specifiable register
2021-09-08 16:34:04 +09:00
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
2021-09-08 16:33:59 +09:00
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.
2021-09-08 14:19:25 +09:00
Kangwook Lee (이강욱)
7a9db95182
Add command to extend to line start or end ( #717 )
2021-09-07 23:22:39 +09:00
Blaž Hrastnik
46f3c69f06
lsp: Don't send notifications until initialize completes
...
Then send open events for all documents with the LSP attached.
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
dc7799b980
lsp: Refactor code that could use document_by_path_mut
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
63e191ea3b
lsp: Simplify lookup under method call
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
10b690b5bd
Drop some &mut bounds where & would have sufficed
2021-09-06 15:25:46 +09:00
Dmitry Sharshakov
507a1f8dd6
Get breakpoint reports from debugger
2021-09-06 08:47:54 +03:00
Dmitry Sharshakov
c9cd06e904
Fetch stack traces for all threads when debugger sets all_thread_stopped flag
2021-09-05 16:09:38 +03:00
Dmitry Sharshakov
bdd636d8ee
Clean up import
2021-09-05 15:21:39 +03:00
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.
2021-09-05 21:20:11 +09:00
Dmitry Sharshakov
9b8c5bdade
Remove redundant fetching of stack traces
2021-09-05 15:19:52 +03:00
Dmitry Sharshakov
0add0c5639
Make conditional logpoints underlined
2021-09-05 15:12:13 +03:00
Dmitry Sharshakov
2d35b7b99c
Normalize line in picker preview to avoid crash
2021-09-05 14:31:16 +03:00
Dmitry Sharshakov
b6c58ea23e
Support thread previews
2021-09-05 13:39:27 +03:00
Dmitry Sharshakov
bb26c589b4
Keybinding for editing log
2021-09-05 08:52:30 +03:00
Dmitry Sharshakov
0e1e4edc5e
different display for conditional logpoints
2021-09-05 08:51:33 +03:00
Dmitry Sharshakov
8a609047c3
Mouse command for editing logpoint
2021-09-05 08:50:03 +03:00
Dmitry Sharshakov
7bdead5b4b
Drop old commands
...
TODO: edit logpoints with a keybinding and mouse
2021-09-05 08:20:21 +03:00
Dmitry Sharshakov
3b0ec750ff
Support editing breakpoint condition with right click
2021-09-05 08:14:17 +03:00
Gokul Soumya
183dcce992
Add a sticky mode for keymaps ( #635 )
2021-09-05 12:55:13 +09:00
Gokul Soumya
95cd2c645b
Refactor switch_case commands
2021-09-05 12:41:19 +09:00
Gokul Soumya
33ce8779fd
Refactor {move,extend}_word_* commands
2021-09-05 12:41:19 +09:00
Gokul Soumya
ea2b4c687d
Refactor {move,extend}_char_* commands
2021-09-05 12:41:19 +09:00
Dmitry Sharshakov
1befbd076c
Add command for editing breakpoint condition
2021-09-04 22:57:58 +03:00
Dmitry Sharshakov
e36fc57fff
refactor breakpoint edit
2021-09-04 22:18:42 +03:00
Dmitry Sharshakov
698583c241
Support setting breakpoints with mouse
2021-09-04 21:14:24 +03:00
Kangwook Lee (이강욱)
07fe4a6a40
Add commands that extends to long words ( #706 )
2021-09-04 19:00:32 +05:30
Dmitry Sharshakov
430c80ff2a
Fix crash when trying to select (view) threads when debuggee is running
2021-09-04 10:28:11 +03:00
Dmitry Sharshakov
c6186ce600
jump to selected stack frame
2021-09-04 10:24:00 +03:00
Dmitry Sharshakov
cb31d20b46
mark thread as running when resumed
2021-09-04 10:22:29 +03:00
Dmitry Sharshakov
9a1916ebfd
show thread states in thread picker
2021-09-04 10:14:04 +03:00
Dmitry Sharshakov
00cccdc62a
Don't show thread picker for single-threaded targets
2021-09-04 09:19:19 +03:00
Dmitry Sharshakov
9939dbf119
Fix clippy warnings
2021-09-04 09:08:52 +03:00
Dmitry Sharshakov
cf7237d0b9
compat: make thread IDs signed
...
Delve needs it
2021-09-03 23:11:06 +03:00
Blaž Hrastnik
c63ad60c31
dap: Allow switching between stack frames
2021-09-03 17:25:11 +09:00
Blaž Hrastnik
b997d2cdeb
dap: Allow setting breakpoints before starting the adapter
2021-09-03 13:26:30 +09:00
Blaž Hrastnik
289303a30d
dap: small TODO
2021-09-03 11:48:55 +09:00
Blaž Hrastnik
42f9718f55
dap: Extract thread_picker, make pause explicitly select a thread
2021-09-03 11:43:11 +09:00
Blaž Hrastnik
27c1b3f98b
dap: Extract a thread_states map
2021-09-03 11:30:25 +09:00
Blaž Hrastnik
5b920c53f0
Refactor resume_application state handling
2021-09-03 11:11:22 +09:00
Blaž Hrastnik
4c410eef87
Merge remote-tracking branch 'origin/master' into debug
2021-09-03 11:03:34 +09:00
Dmitry Sharshakov
9c64650a26
force update of stack trace when stopped
2021-09-02 22:51:41 +03:00
Dmitry Sharshakov
2c89107349
Fix crash when stack trace not loaded
...
Still doesn't address the issue though
2021-09-02 19:58:03 +03:00
Dmitry Sharshakov
e0180a4b88
find main thread automatically if thread stopped is not known
2021-09-02 11:08:24 +03:00
Wojciech Kępka
7e1123680f
Expand ~
in change-current-directory
command ( #692 )
2021-09-02 11:03:42 +09:00
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
2021-09-02 00:55:16 +09:00
Blaž Hrastnik
ce7ad2beb5
Reimplement keep-pipe, it needs to manipulate selections, not text
2021-09-01 11:09:50 +09:00
Blaž Hrastnik
dc609cafb5
Extract the shell command into a separate function
2021-09-01 10:46:35 +09:00
Dmitry Sharshakov
5b20f6020a
Merge remote-tracking branch 'origin/master' into debug
...
Contains type fix on helix-term/src/ui/editor.rs:752:13
2021-08-31 21:29:11 +03:00
Blaž Hrastnik
a3bd80a6fa
ui: prompt: Avoid allocating a prompt name if it's a static string
2021-08-31 18:29:24 +09:00
Blaž Hrastnik
9b96bb5ac8
Refactor a bit further
2021-08-31 18:24:24 +09:00
Blaž Hrastnik
4a76ea8f88
shell: Move changes outside so we can properly handle errors
2021-08-31 18:19:18 +09:00
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`
2021-08-31 18:13:16 +09:00
gbaranski
9c5752cbac
fix: use .cursor() instead of .head
2021-08-30 12:03:10 -07:00
gbaranski
b590504143
fix: use head instead of anchor for relative line
2021-08-30 12:03:10 -07:00
Blaž Hrastnik
0b0b1d850a
dap: Stop comparing file paths per line number
2021-08-30 11:22:26 +09:00
Blaž Hrastnik
2c7b75475f
dap: refactor frame handling
2021-08-30 11:07:59 +09:00
Omnikar
03ad9e0bfa
Fix code indentation ( #671 )
2021-08-30 09:15:49 +09:00
Blaž Hrastnik
986828e75c
dap: Remap keys, match current thread behavior from dap-mode, switch-thread
2021-08-29 23:32:46 +09:00
Blaž Hrastnik
03b2d81406
dap: better yet, use Selection::single..
2021-08-29 23:03:27 +09:00
Blaž Hrastnik
4d24a43651
dap: use smallvec! macro
2021-08-29 23:02:46 +09:00
Blaž Hrastnik
81f51c13fa
dap: continued: THis check is already done before the match statement
2021-08-29 23:01:18 +09:00
Blaž Hrastnik
51328a4966
dap: extract dap_pos_to_pos
2021-08-29 22:59:29 +09:00
Blaž Hrastnik
d6ccc150c7
Extract dap commands into a separate file
2021-08-29 22:43:08 +09:00
Blaž Hrastnik
ee2ba744a2
Rename dap_in/_out to dap_step_in/_out
2021-08-29 22:37:21 +09:00
Dmitry Sharshakov
b42631942b
Defaults in completions, better schema
2021-08-29 14:51:47 +03:00
Dmitry Sharshakov
f53d8411cb
Add extra annotations to completions
2021-08-29 14:06:36 +03:00
Dmitry Sharshakov
98fda6b8f0
better completion
2021-08-29 13:16:57 +03:00