Commit graph

843 commits

Author SHA1 Message Date
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 ()
* 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 () 2021-09-24 10:27:16 +09:00
Leoi Hung Kin
9456d5c1a2
Initial implementation of global search ()
* 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 () 2021-09-20 13:45:07 +09:00
Leoi Hung Kin
1d04e5938d
search_next_impl: don't panic on invalid regex () 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 
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 
2021-09-17 14:43:06 +09:00
Blaž Hrastnik
b02d872938 fix: Refactor apply_workspace_edit to remove assert
Fixes 
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 ()
* 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 () 2021-09-11 18:31:40 +09:00
Kirawi
987d8e6dd6
Convert clipboard line ending to document line ending when pasting ()
* 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 () 2021-09-10 23:14:23 +09:00
Blaž Hrastnik
3426285a63 fix: Don't automatically search_next on *
Refs 
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. ()
* 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 () 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 ()
Regression due to  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 () 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
Kangwook Lee (이강욱)
07fe4a6a40
Add commands that extends to long words () 2021-09-04 19:00:32 +05:30
Wojciech Kępka
7e1123680f
Expand ~ in change-current-directory command () 2021-09-02 11:03:42 +09:00
oberblastmeister
825bceeab6
add_newline unimpaired mapping ()
* 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
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 ()
* 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
Omnikar
03ad9e0bfa
Fix code indentation () 2021-08-30 09:15:49 +09:00
CossonLeo
d6a9c2c0f6
Add ui.menu text style ()
* 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
2021-08-28 13:54:24 +09:00
Blaž Hrastnik
5cee3b634d ui: prompt: Fix typing with alt 2021-08-27 16:39:52 +09:00
Omnikar
bfce4d4f29
Make v in select mode switch back to normal mode ()
* Make `v` in select mode switch back to normal mode

* Move select mode toggle to keymap instead of command
2021-08-27 10:03:49 +09:00
Grzegorz Baranski
cec5d437d8
fix: show current line number even if relative line is on () 2021-08-26 23:18:33 +05:30
Stuart Hinson
6192f2fa25
Show hidden files in filename completer ()
also removes unnecessary clone
2021-08-27 00:30:47 +09:00
Yusuf Bera Ertan
dc57f8dc89
feat: merge default languages.toml with user provided languages.toml, add a generic TOML value merge function ()
* 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
2021-08-27 00:29:14 +09:00
Ivan Tham
4bafda3995
Change vsp to vs ()
Follow up on  to match vim behavior
2021-08-27 00:20:37 +09:00