ath3
78c68fae91
Implement "Goto next buffer / Goto previous buffer" commands
2021-11-04 14:03:03 +09:00
Blaž Hrastnik
e2560f427e
Replace documents SlotMap with BTreeMap
2021-11-04 13:43:45 +09:00
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>
2021-11-04 12:26:01 +09:00
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>
2021-11-04 12:24:52 +09:00
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>
2021-11-04 12:24:05 +09:00
Omnikar
e39cfa40df
Hide keys bound to no_op
from infobox ( #971 )
2021-11-04 09:50:38 +09:00
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
2021-11-03 12:02:29 +09:00
Triton171
7a0c4322ea
Simplify BTreeSet construction
...
Co-authored-by: Ivan Tham <pickfire@riseup.net>
2021-11-03 11:56:55 +09:00
Daniel Ebert
eb8745db09
Implement key ordering for info box
2021-11-03 11:56:55 +09:00
CossonLeo
1720b98760
only remove primary index when search next without extend ( #948 )
2021-11-02 13:32:57 +09:00
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>
2021-11-02 09:34:39 +09:00
Gygaxis Vainhardt
f140a2a00e
Add arrow-key bindings for window switching ( #933 )
2021-10-30 10:48:00 +09:00
Blaž Hrastnik
e5de103728
Extract a clear_completion method
2021-10-29 16:48:41 +09:00
Ivan Tham
49f6c2623f
Bump lsp-types to 0.91.0 ( #932 )
2021-10-29 12:00:18 +09:00
Ivan Tham
bc6a34d97e
Make match work with extend and multi cursors ( #920 )
2021-10-29 10:08:53 +09:00
Ivan Tham
21d535565b
Support extend for multiple goto ( #909 )
...
gg, ge, [n]gg
2021-10-29 10:07:07 +09:00
cossonleo
f1d339919f
add expand_selection to last_motion
2021-10-29 10:04:12 +09:00
Blaž Hrastnik
f3c7f20dbc
Release v0.5.0
2021-10-28 16:41:34 +09:00
Omnikar
db56de589a
Add --tutor
option to hx --help
output ( #924 )
...
* Add `--tutor` option to `hx --help` output
* Adjust `--tutor` location in help output
2021-10-28 16:27:28 +09:00
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
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
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
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
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
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
Gokul Soumya
183dcce992
Add a sticky mode for keymaps ( #635 )
2021-09-05 12:55:13 +09:00