Ivan Tham
10548bf0e3
Fix previous broken refactor key into helix-view
...
Need to be used for autoinfo
Revert "Revert "Refactor key into helix-view""
This reverts commit 10f9f72232
.
2021-06-25 00:39:03 +09:00
Kirawi
15ae2e7ef1
Update helix-term/src/commands.rs
...
Co-authored-by: Ivan Tham <pickfire@riseup.net>
2021-06-24 22:38:38 +09:00
Kirawi
7ae21b98ce
Update helix-term/src/commands.rs
...
Co-authored-by: Ivan Tham <pickfire@riseup.net>
2021-06-24 22:38:38 +09:00
Shafkath Shuhan
629df6124d
Blocking :wq
2021-06-24 22:38:38 +09:00
Nathan Vegdahl
8935e7a879
Fix open-new-line command for CRLF, as well as other bugs.
...
Fixes #363 .
I set out to fix issue #363 , but after fixing it discovered some
other things were wrong with the command while testing. In
summary:
- #363 was because it was still assuming a line ending width
of 1 char in its indexing calculations, even when actually
inserting CRLF.
- Aside from #363 , it actually needed to set `line_end_index`
to zero for *all* calculations that use it when line == 0,
but it was only doing so for a single calculation.
2021-06-24 18:25:56 +09:00
Gokul Soumya
fb8e7dc25b
Fix picker item width overflow
...
Fixes #352
2021-06-24 12:00:08 +09:00
Benoît CORTIER
14f61fb6ac
Fix lsp config deserialization case
...
It should have been in kebab-case, but it was the default snake_case.
2021-06-24 10:04:18 +09:00
Blaž Hrastnik
0f55e67576
fix: ok, needs to be the end of the previous line
2021-06-24 01:35:36 +09:00
Blaž Hrastnik
7366fe81e0
open: Use the correct function
...
Still not correct but at least it doesn't append at EOF
2021-06-24 01:06:17 +09:00
Blaž Hrastnik
4ad7b61c69
fix: Better fix that also fixes crashes on o
2021-06-24 00:58:14 +09:00
Blaž Hrastnik
655c1aeb73
fix: panic on O at the start of the file ( fixes #354 )
2021-06-24 00:50:52 +09:00
Blaž Hrastnik
39dc09e6c4
ui: Paginate prompt completion
2021-06-23 21:55:13 +09:00
wojciechkepka
3606d8bd24
Patch the primary cursor with insert and select styles
2021-06-23 21:55:02 +09:00
wojciechkepka
c534fdefdc
Refactor, add ui.cursor.primary
2021-06-23 21:55:02 +09:00
wojciechkepka
d70be55f70
Add ability to theme primary selecition
2021-06-23 21:55:02 +09:00
wojciechkepka
ac1e98d088
Add ability to theme cursor
2021-06-23 21:55:02 +09:00
Shafkath Shuhan
fd98e743e8
Handle non-UTF8 files
2021-06-23 15:40:27 +09:00
Blaž Hrastnik
9706f1121d
Fix small screen panics
2021-06-23 13:13:56 +09:00
Nathan Vegdahl
848cc1b438
Fix extend_line() behavior.
...
It would always extend to the next line if the cursor was at the
end of the current line, even if the current line wasn't fully
selected yet.
2021-06-23 12:43:09 +09:00
Nathan Vegdahl
481c4ba044
Increment char_index by grapheme char count.
...
It was just assuming single-char graphemes before.
2021-06-23 12:43:09 +09:00
Nathan Vegdahl
38bf9c2576
Missed some items in the CRLF PR.
2021-06-23 12:43:09 +09:00
Blaž Hrastnik
7511110d82
Fix build on master
2021-06-23 10:15:57 +09:00
Joe Neeman
fd1ae35051
Make the prompt callback take a Context.
2021-06-23 10:03:11 +09:00
Lionel Flandrin
16883e7543
Implement show_current_directory command
2021-06-22 19:20:51 -04:00
Lionel Flandrin
b56174d738
Implement change_current_directory command
2021-06-22 19:20:51 -04:00
Blaž Hrastnik
20f33ead67
minor: Remove old TODOs
2021-06-22 23:26:34 +09:00
Gokul Soumya
e0fd08d6df
Rename surround to match_mode
2021-06-22 14:27:51 +09:00
Gokul Soumya
753ed4cbc5
Add documentation for surround
2021-06-22 14:27:51 +09:00
Gokul Soumya
b00e9fc227
Handle line endings correctly in surround
2021-06-22 14:27:51 +09:00
Gokul Soumya
b79b5e66f2
Move match_bracket to mm
2021-06-22 14:27:51 +09:00
Gokul Soumya
13648d28b9
Add surround keybinds
2021-06-22 14:27:51 +09:00
Blaž Hrastnik
2f321b9335
lsp: Eagerly process notifications/server calls to avoid re-rendering
2021-06-22 13:47:57 +09:00
Blaž Hrastnik
a70de6e980
Merge pull request #224 from helix-editor/line_ending_detection
...
Line ending detection
2021-06-22 11:09:19 +09:00
Nathan Vegdahl
a18d50b777
Add command to set the document's default line ending.
2021-06-21 12:36:01 -07:00
Nathan Vegdahl
7c4fa18764
Fix clippy warnings.
2021-06-21 12:02:44 -07:00
Nathan Vegdahl
d33355650f
Convert remaining commands to use the document's line ending setting.
2021-06-21 11:59:03 -07:00
Nathan Vegdahl
e436c30ed7
Make split_selection_on_newline command handle all line endings.
2021-06-21 11:22:07 -07:00
Nathan Vegdahl
23d6188535
Update replace
command to use document line ending setting.
2021-06-21 11:08:05 -07:00
Nathan Vegdahl
07e28802f6
Add function to get the line ending of a str slice.
...
This is needed in some places.
2021-06-21 10:29:29 -07:00
Nathan Vegdahl
714002048c
Don't need getters/setters for line_ending property.
...
It's plain-old-data. If we want to do fancier things later, it's
easy to switch back.
2021-06-21 09:52:21 -07:00
Wojciech Kępka
ee80fa8ea9
Cleanup spinners and messages on progress end
2021-06-21 18:51:04 +09:00
wojciechkepka
aca9d73fe4
Hold Config
in Application
, expect at least one editor view
2021-06-21 12:59:06 +09:00
wojciechkepka
cc357d5096
Add progress spinners to status line
2021-06-21 12:59:06 +09:00
wojciechkepka
b2804b14b1
Add a Spinner
2021-06-21 12:59:06 +09:00
Nathan Vegdahl
e686c3e462
Merge branch 'master' of github.com:helix-editor/helix into line_ending_detection
...
Rebasing was making me manually fix conflicts on every commit, so
merging instead.
2021-06-20 16:09:14 -07:00
Nathan Vegdahl
4efd6713c5
Work on moving code over to LineEnding instead of assuming '\n'.
...
Also some general cleanup and some minor fixes along the way.
2021-06-20 15:33:02 -07:00
Ivan Tham
985625763a
Fix doc warnings
2021-06-20 23:13:36 +08:00
Blaž Hrastnik
eaf259f8aa
Fix build..
2021-06-20 23:40:48 +09:00
Blaž Hrastnik
f41688d960
Merge x
and X
2021-06-20 23:37:11 +09:00
Benoît CORTIER
f50261c944
Add mappable commands for system clipboard
...
System clipboard integration exists now in two favors: typable and
mappable.
Default mappings are:
- SPC p: paste clipboard after
- SPC P: paste clipboard before
- SPC y: join and yank selection to clipboard
- SPC Y: yank main selection to clipboard
- SPC R: replace selections by clipboard contents
2021-06-20 23:25:53 +09:00
Benoît CORTIER
a2b8cfca34
Add system clipboard yank and paste commands
...
This commit adds six new commands to interact with system clipboard:
- clipboard-yank
- clipboard-yank-join
- clipboard-paste-after
- clipboard-paste-before
- clipboard-paste-replace
- show-clipboard-provider
System clipboard provider is detected by checking a few environment
variables and executables. Currently only built-in detection is
supported.
`clipboard-yank` will only yank the "main" selection, which is currently the first
one. This will need to be revisited later.
Closes https://github.com/helix-editor/helix/issues/76
2021-06-20 23:25:53 +09:00
wojciechkepka
fc39a6c40d
Add comment, statusline + commandline = 2
2021-06-20 19:59:26 +09:00
wojciechkepka
0882712b45
Use full screen size
2021-06-20 19:59:26 +09:00
wojciechkepka
980e602352
Make completion window move to top when cursor is below half
2021-06-20 19:59:26 +09:00
Nathan Vegdahl
5d22e3c4e5
Misc fixes and clean up of line ending detect code.
2021-06-20 00:40:41 -07:00
Blaž Hrastnik
34ebe82654
ui: prompt: Add more keymappings
2021-06-20 16:38:58 +09:00
Blaž Hrastnik
e9a3245aae
Re-export unicode crates from helix_core
2021-06-20 16:38:58 +09:00
Blaž Hrastnik
9275021497
ui: prompt: Better unicode support
...
We copied over eval_movement from wezterm, that already solves most of
our problems. self.cursor is now byte-based.
2021-06-20 16:38:58 +09:00
wojciechkepka
59c59deb46
Add missing theme
to toml config
2021-06-20 13:05:08 +09:00
Jan Hrastnik
8634e04a31
added the line_end helper function
2021-06-20 02:22:10 +02:00
Jan Hrastnik
701eb0dd68
changed some hardcoded newlines, removed a else if in line_ending.rs
2021-06-20 01:24:36 +02:00
wojciechkepka
2d629a880c
Fix overflow
2021-06-19 16:49:20 -04:00
Blaž Hrastnik
28d9673a8e
Fix compilation
2021-06-20 00:19:48 +09:00
wojciechkepka
42e13bd542
Add :theme <name>
command
2021-06-20 00:07:13 +09:00
wojciechkepka
b1a41c4cc8
Add theme
to global configuration
2021-06-20 00:07:13 +09:00
wojciechkepka
a2db161d5a
Add theme completer
2021-06-20 00:07:13 +09:00
wojciechkepka
ce97a2f05f
Add ability to change theme on editor
2021-06-20 00:07:13 +09:00
Blaž Hrastnik
10f9f72232
Revert "Refactor key into helix-view"
...
Did not use defaults when custom keymap was used
This reverts commit ca806d4f85
.
2021-06-19 23:59:19 +09:00
wojciechkepka
11f20af25f
Make home
and end
work in insert mode
2021-06-19 23:16:13 +09:00
Jan Hrastnik
1e80fbb602
fix merge issue
2021-06-19 14:58:49 +02:00
Jan Hrastnik
cdd9347457
Merge remote-tracking branch 'origin/master' into line_ending_detection
2021-06-19 14:51:53 +02:00
Jan Hrastnik
97323dc2f9
ran cargo fmt
2021-06-19 14:05:11 +02:00
Jan Hrastnik
ecb884db98
added get_line_ending from pr comment
2021-06-19 14:03:14 +02:00
Ivan Tham
ca806d4f85
Refactor key into helix-view
...
Now also make use of Deserialize for Config.
2021-06-19 16:37:15 +09:00
wojciechkepka
1c25852021
Make arrow keys and page up/down work in insert mode
2021-06-18 21:37:30 -07:00
wojciechkepka
c5a2fd5da3
Add close_language_servers
method on Editor
2021-06-19 13:02:56 +09:00
wojciechkepka
c2aad859b1
Handle language server shutdown with timeout
2021-06-19 13:02:56 +09:00
Benoît CORTIER
03d1ca7b0a
cargo: add more metadata to manifests
2021-06-19 10:04:59 +09:00
Benoît CORTIER
db5bdf4f2d
Run cargo-diet
...
cargo-diet is a helper for computing the optimal `include` directives
for Cargo.toml manifests.
https://github.com/the-lean-crate/cargo-diet
2021-06-19 10:04:59 +09:00
Benoît CORTIER
b48054f3ee
cargo: add version to local dependencies
...
First step towards enabling us to publish on crates.io.
See: https://github.com/helix-editor/helix/issues/42
2021-06-19 10:04:59 +09:00
wojciechkepka
1c1474c3b8
Add ui.statusline.inactive
, use ui.statusline
for statusline text
2021-06-18 15:18:58 -04:00
Wojciech Kępka
1bb3b778ad
Don't derive Default
for GlobalConfig
( #297 )
...
We shouldn't derive Default because `lsp_progress` by default should be turned on (opt out).
2021-06-18 09:41:49 -04:00
Gokul Soumya
b1cb98283d
Fix indent regression issue with o, O
...
Indents were no longer respected with `o` and `O`. Using counts resulted
in multiple cursors in the same line instead of cursors on each line.
Introduced by 47d2e3ae
2021-06-18 21:30:58 +09:00
wojciechkepka
a3cb79ebaa
Use kebab-case for config
2021-06-18 17:42:38 +09:00
wojciechkepka
bbefc1db63
Add an option to disable display of progress in status bar
2021-06-18 17:42:38 +09:00
wojciechkepka
612511dc98
Handle workDoneProgress/create request
2021-06-18 17:42:38 +09:00
wojciechkepka
e1109a5a01
Update handling of progress notification
2021-06-18 17:42:38 +09:00
wojciechkepka
38cb934d8f
Add unique id to each lsp client/server pair
2021-06-18 17:42:38 +09:00
wojciechkepka
a6d39585d8
Add work_done_token
as parameter to lsp methods
2021-06-18 17:42:38 +09:00
Wojciech Kępka
41b07486ad
Fix expansion of ~
( #284 )
...
* Fix expansion of `~`, dont use directory relative to cwd.
* Add `expand_tilde`
* Bring back `canonicalize_path`, use `expand_tilde` to `normalize`
* Make `:open ~` completion work
* Fix clippy
* Fold home dir into tilde in Document `realitve_path`
2021-06-18 15:19:34 +09:00
Benoît CORTIER
42142cf680
Fix panic when entering unicode in command prompt
...
It was attempted to use `String::insert` and `String::remove` to insert
without taking care of unicodes.
Fixes https://github.com/helix-editor/helix/issues/282
2021-06-18 10:08:32 +09:00
Benoît CORTIER
8664d70e73
Replace Editor::current
by a macro
...
This is necessary to workaround ownership issues across function calls.
The issue notably arised when implementing the registers into `Editor`
and I was getting annoyed again when implementing copy/pasting into
system clipboard.
The problem is addressed by using macro calls instead of function calls.
There is no notable side effect.
2021-06-18 09:38:10 +09:00
Jan Hrastnik
8bccd6df30
applied changes from pr review
2021-06-17 13:49:50 +02:00
PabloMansanet
f7e00cf720
Configurable keys 2 (Mapping keys to commands) ( #268 )
...
* Add convenience/clarity wrapper for Range initialization
* Add keycode parse and display methods
* Add remapping functions and tests
* Implement key remapping
* Add remapping book entry
* Use raw string literal for toml
* Add command constants
* Make command functions private
* Map directly to commands
* Match key parsing/displaying to Kakoune
* Formatting pass
* Update documentation
* Formatting
* Fix example in the book
* Refactor into single config file
* Formatting
* Refactor configuration and add keymap newtype wrappers
* Address first batch of PR comments
* Replace FromStr with custom deserialize
2021-06-17 20:08:05 +09:00
Gokul Soumya
47d2e3aefa
Let o, O take counts for multiple cursors
2021-06-17 18:54:07 +09:00
Gokul Soumya
20d6b202d5
Fix cursor position bugs related to o and O
...
- `O` at the beginning of file didn't move cursor
- `o` and `O` messed up cursor position with multiple cursors
Fixes #127
2021-06-17 18:54:07 +09:00
Jan Hrastnik
9c3eadb2e4
fixed some problems from rebasing
2021-06-16 17:22:55 +02:00
Jan Hrastnik
7cf0fa05a4
doc.line_ending() now returns &'static str
2021-06-16 17:13:44 +02:00
Jan Hrastnik
a4f5a0134e
trying out line ending helper functions in commands.rs
2021-06-16 17:13:41 +02:00
Jan Hrastnik
3756c21bae
rebase on branch line_ending_detection
2021-06-16 17:00:21 +02:00