Commit graph

193 commits

Author SHA1 Message Date
Blaž Hrastnik
17e9386388 Allow moving to EOL byte, also fixes #15 2021-05-31 17:08:19 +09:00
Blaž Hrastnik
138787f76e Drop clap for pico-args
We barely have any flags so it's not worth the compilation time or
binary size to use clap.
2021-05-31 17:07:43 +09:00
Blaž Hrastnik
6460501a44 Update architecture.md 2021-05-30 17:52:46 +09:00
Blaž Hrastnik
094203c74e Update deps, introduce the new tree-sitter lifetimes 2021-05-28 00:00:51 +09:00
Blaž Hrastnik
0e5b421646 When calculating a new selection, we need to take newly inserted text into account. 2021-05-15 10:50:36 +09:00
Blaž Hrastnik
4a9d1163e0 Hacky way to specify indent scopes per language via toml configs.
Can't do it via a scm query nicely because it returns an iterator over
all the matches, whereas we want to traverse the tree ourselves.

Can't extract the pattern data from a parsed query either.

Oh well, toml files for now.
2021-05-14 19:21:46 +09:00
Blaž Hrastnik
5cbb4efa6d Add the LICENSE file. 2021-05-11 01:44:00 +09:00
Blaž Hrastnik
0190fee1c2 Fix indent test, we need to use the in-tree runtime dir. 2021-05-10 17:57:17 +09:00
Blaž Hrastnik
cd1754f783 Fix runtime dir lookup. 2021-05-10 17:37:04 +09:00
Blaž Hrastnik
1f2d87cb95 Make the config dir locator work on Windows. 2021-05-10 16:21:55 +09:00
Blaž Hrastnik
0f77f543e5 Determine runtime dir based on executable location or env override. 2021-05-10 01:02:53 +09:00
Blaž Hrastnik
5954dafdbc Indent array and tuple lists too. 2021-05-09 19:02:35 +09:00
Blaž Hrastnik
6c705f09e8 Lint 2021-05-09 17:13:59 +09:00
Blaž Hrastnik
7c915dc065 Add the :new command, don't crash if saving without filename. 2021-05-07 14:19:58 +09:00
Blaž Hrastnik
f8844c6811 Implement pair expansion when pressing new line between bracket pairs.
From:
{|}

To:
{
    |
}
2021-05-06 23:02:32 +09:00
Blaž Hrastnik
fd4fd12fa3 clippy lint 2021-05-06 17:20:00 +09:00
Blaž Hrastnik
28c167d71d doc: Be smarter about calculating modified status.
This way edit -> undo will properly show up as unmodified.
2021-05-03 17:23:11 +09:00
Blaž Hrastnik
7e9ea30a0b auto_pairs: move if cursor, extend if selection. 2021-04-22 23:26:57 +09:00
Blaž Hrastnik
5edb374237 And some more indent patterns. 2021-04-14 17:14:13 +09:00
Blaž Hrastnik
9e6c8c2a5a Rust: add a few more scopes to indent. 2021-04-14 15:39:31 +09:00
Blaž Hrastnik
9445b24b88 Simplify calculate_indentation. 2021-04-14 14:28:31 +09:00
Blaž Hrastnik
95dd55ba94 Fix overlap calculation. 2021-04-10 12:02:23 +09:00
Blaž Hrastnik
73f4abbb37 N as extend with search (for now, N should be search_prev). 2021-04-10 00:21:13 +09:00
Blaž Hrastnik
35b4fe4cd0 Fix range.overlap() 2021-04-10 00:20:12 +09:00
Blaž Hrastnik
c1e5733b02 Remove the path specifier. 2021-04-09 18:57:46 +09:00
Blaž Hrastnik
71c06c11cb Import tree sitter queries. 2021-04-08 23:25:35 +09:00
Blaž Hrastnik
bc4e54c0c4 Load config files from ~/.config/helix, fallback to defaults. 2021-04-07 23:56:20 +09:00
Blaž Hrastnik
f0d49d3ca4 hack: make queries load relative to source dir for now.
We want to provide a runtime dir later on.
2021-04-07 18:05:59 +09:00
Blaž Hrastnik
e8298a398c Fix selection rendering, it would be off by 1 if reverse. 2021-04-07 16:57:58 +09:00
Blaž Hrastnik
63e602bda6 Fix issues with "enum A {|}" <Enter> indent calculation. 2021-04-07 16:39:13 +09:00
Blaž Hrastnik
9dfd6f6bbc clippy lint 2021-04-06 20:00:35 +09:00
Blaž Hrastnik
f00cb15137 core: Improve changeset composition behavior.
It would fail to combine with an empty set.
2021-04-06 19:01:48 +09:00
Blaž Hrastnik
015fd2ffa2 pairs: Use token utf8 lengths instead of 1. 2021-04-06 17:28:56 +09:00
Blaž Hrastnik
59a0fc7b59 w, b, e: Match kakoune's behavior in selecting by default.
I initially preferred only moving the cursor, but selecting the whole
word is a lot nicer for things like wd (instead of vwd).
2021-04-05 16:35:04 +09:00
Blaž Hrastnik
cc058ad78f Simplify some code. 2021-04-01 11:04:25 +09:00
Blaž Hrastnik
9eaef6e333 Fully drop State references. 2021-03-31 15:45:18 +09:00
Blaž Hrastnik
742b3a709f Store intra-files jumps (goto) on the jumplist. 2021-03-29 16:32:42 +09:00
Blaž Hrastnik
1d96cbfbd2 Transaction: Add a changes_iter() that can convert back to a list of Changes 2021-03-29 14:56:00 +09:00
Blaž Hrastnik
a74ff6bc03 Transaction: need to consume insert | delete properly. 2021-03-29 14:55:35 +09:00
Blaž Hrastnik
b52474cf66 clippy lint 2021-03-27 12:14:58 +09:00
Blaž Hrastnik
ad3325db8e minor: Remove a few unwraps. 2021-03-26 11:03:14 +09:00
Blaž Hrastnik
8b28bf2533 Fix broken test. 2021-03-25 16:53:32 +09:00
Blaž Hrastnik
e3c4edae32 Add the machinery to load syntax config from TOML.
It's embedded into the binary at build time for now, but it's progress.
2021-03-25 15:26:25 +09:00
Blaž Hrastnik
9a36d2c2a8 wip: Hooks & trigger characters for completion/signature_help. 2021-03-24 18:17:00 +09:00
Blaž Hrastnik
06aca7691c clippy lint 2021-03-24 14:58:01 +09:00
Blaž Hrastnik
d0530fb839 Fix a scrolling crash where it would jump past the end of the buffer. 2021-03-22 18:06:52 +09:00
Blaž Hrastnik
73c92a0bc1 Implement m / match_brackets (using tree sitter). 2021-03-22 17:58:49 +09:00
Blaž Hrastnik
bd607b4cbd Provide a capacity on Selection::new's normalize. 2021-03-22 14:50:08 +09:00
Blaž Hrastnik
5e6716c89c Add tab_width and indent_unit config. 2021-03-22 13:53:36 +09:00
Blaž Hrastnik
cbcacb1063 Merge some imports. 2021-03-22 12:40:07 +09:00