Commit graph

3535 commits

Author SHA1 Message Date
Skyler Hawthorne
a5a93182cd fix: buffer-close ensuring writes
Make sure buffer-close waits for the document to finish its writes.
2022-10-18 22:31:38 -04:00
Skyler Hawthorne
d706194597 chore(write): serialize write operations within a Document
The way that document writes are handled are by submitting them to the
async job pool, which are all executed opportunistically out of order. It
was discovered that this can lead to write inconsistencies when there
are multiple writes to the same file in quick succession.

This seeks to fix this problem by removing document writes from the
general pool of jobs and into its own specialized event. Now when a
user submits a write with one of the write commands, a request is simply
queued up in a new mpsc channel that each Document makes to handle its own
writes. This way, if multiple writes are submitted on the same document,
they are executed in order, while still allowing concurrent writes for
different documents.
2022-10-18 22:31:38 -04:00
Peter Phillips
faf0c521d1
Fix link to textobjects usage from keymap documentation (#4357) 2022-10-18 21:16:44 -05:00
Jonathan LEI
1a772d1b67
Fix deleting word from end of buffer (#4328) 2022-10-18 19:53:58 -05:00
zetashift
0c14d9f869
Add a first version of kanagawa theme (#4300) 2022-10-18 19:32:02 -05:00
Roberto Vidal
1f74cf45d4
display tree sitter scopes in a popup (#4337) 2022-10-19 00:00:00 +05:30
Philipp Mildenberger
d17ffc47f0
Use the same WalkBuilder configuration for the global search file picker as the default file picker (#4334)
Skip searching .git in global search, similar to how file picker skips listing files in .git.
2022-10-18 22:58:16 +05:30
dependabot[bot]
fee5db161b
build(deps): bump cachix/install-nix-action from 17 to 18 (#4340)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 20:03:04 -05:00
dependabot[bot]
414214f883
build(deps): bump tokio-stream from 0.1.10 to 0.1.11 (#4341)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:56:29 -05:00
dependabot[bot]
38746b04b4
build(deps): bump cachix/cachix-action from 10 to 11 (#4339)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 19:55:15 -05:00
Clay
b07ef6bec3
Bump tree-sitter-elixir (#4333) 2022-10-18 01:05:14 +09:00
A-Walrus
8bbddf90ff Replace in_bounds with calculation of end_indent
Instead of repeatedly checking if it is in_bounds, calculate the
max_indent beforehand and just loop. I added a debug_assert to "prove"
that it never tries drawing out of bounds.
2022-10-18 00:38:16 +09:00
A-Walrus
1de02a147c Only draw indent guides within bounds
Better performance, and otherwise very long lines with lots of tabs
will wrap around the u16 and come back on the other side, messing up
the beginning skip_levels.
2022-10-18 00:38:16 +09:00
A-Walrus
2c36e33e0a Make skip_levels a u8 2022-10-18 00:38:16 +09:00
A-Walrus
3ba665d804 Fix rendering of lines longer than 2^16
Before things would be cast to u16 earlier than needed, which would
cause problems for insanely long lines (longer than 2^16 ~ 65 thousand)
2022-10-18 00:38:16 +09:00
Gokul Soumya
4e691d6247
Change diagnostic picker keybind to <space>d (#4229)
Also changes workspace diagnostic picker bindings to <space>D and
changes the debug menu keybind to <space>g, the previous diagnostic
picker keybind. This brings the diagnostic picker bindings more in
line with the jump to next/previous diagnostic bindings which are
currently on ]d and [d.
2022-10-17 16:45:42 +09:00
Blaž Hrastnik
09a6df199e Support Cairo 0.10 syntax 2022-10-17 10:35:15 +09:00
Blaž Hrastnik
431f9c14f3 Support Cairo 0.10 syntax 2022-10-17 10:35:15 +09:00
Jonathan LEI
17488f14d6 Fix Cairo comment token 2022-10-17 10:35:15 +09:00
echoriiku
b29531ceab
Fix readability of highlighted text on the rose_pine themes using official palettes (#4221) 2022-10-17 10:34:38 +09:00
Brandon Dong
a330b5d224
Fix selecting pop dark theme (#4323) 2022-10-16 19:19:19 -05:00
Michael Davis
50b191a7df
Log failures to load tree-sitter parsers as error (#4315)
Info logs don't show up in the log file by default, but this line
should: failures to load tree-sitter parser objects are useful errors.
A parser might fail to load it is misconfigured
(https://github.com/helix-editor/helix/pull/4303#discussion_r996448543)
or if the file does not exist.
2022-10-17 01:29:57 +05:30
Michael Davis
5f4f171b73
Fix debug assertion for diagnostic sort order (#4319)
The debug assertion that document diagnostics are sorted incorrectly
panics for cases like `[161..164, 162..162]`. The merging behavior
in the following lines that relies on the assertion only needs the
input ranges to be sorted by `range.start`, so this change simplifies
the assertion to only catch violations of that assumption.
2022-10-17 01:22:04 +05:30
Ben White-Horne
63fe423710
Show keys required to enter each minor mode (#4302)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-10-16 11:58:18 -05:00
Filip Dutescu
2457111bf0
feat(csharp,debug): add C# debugger support (#4213) 2022-10-15 15:33:57 -05:00
Wojciech Kępka
661f48d62f
themes: Add bogster_light theme (#4265)
Co-authored-by: Wojciech Kępka <wojciech.kepka@softax.pl>
2022-10-15 12:12:14 -05:00
Wojciech Kępka
05ca21cb1b
themes: Update bogster theme (#4264)
Co-authored-by: Wojciech Kępka <wojciech.kepka@softax.pl>
2022-10-15 12:08:13 -05:00
Chickenkeeper
1c08c80e4f
C# syntax highlight tweaks (#4285) 2022-10-15 11:29:50 -05:00
Sora
f444ba8beb
Fixup Zig Indent Queries (#4281) 2022-10-15 11:10:16 -05:00
ZJPzjp
0e8e7cae3b
fix :insert-output doc: inserting output **before** each selection (#4286) 2022-10-15 11:07:42 -05:00
Sam McCall
aef37d43d7 c/c++ highlighting: various tweaks
- treat `restrict`/`_Atomic` like `const`/`volatile` => @keyword.storage.modifier
- highlight `unsigned int` as builtin => @type.builtin
- recognize `static_cast` and friends => @keyword
- `template` is a kind of entity like `typename` => @keyword.storage.type
- many declaration modifiers have nothing to do with storage/types
  (explicit, friend, access specifiers, inline in C++) => @keyword
- fix floats highlighted as integer => @constant.numeric
2022-10-15 09:33:43 -05:00
Sam McCall
a3ed9169df
c/c++ highlights: *& are @type or @operator based on context (#4278) 2022-10-14 20:05:39 -05:00
Poliorcetics
45e038f4d5
nit: remove a String allocation that is immediately used as an &str (#4277) 2022-10-14 17:35:00 -05:00
Nathaniel Graham
e80beaa7b0
Changed Selection Yank Message (#4275)
Co-authored-by: Nathaniel Graham <ngraham@protonmail.com>
2022-10-14 12:51:15 -05:00
Dario Oddenino
2d958d6c50
Add support for Purescript language (#4242) 2022-10-14 11:57:52 -05:00
IrishMaestro
13d81b7478
Created heisenberg theme for helix editor (#4209) 2022-10-13 20:35:02 -05:00
Chickenkeeper
b4e795d704
Fix C++ syntax highlighting, and improve C & WGSL highlighting (#4079) 2022-10-13 20:31:32 -05:00
Ben Lee-Cohen
cf4a5cca96
Monokai Pro Octagon statusline modes (#4247) 2022-10-13 20:26:03 -05:00
Tim Siegel
5077ce76b3 tutor: Normalize key names, capitalization, etc. 2022-10-12 18:12:54 -05:00
Tim Siegel
425df93fb8 book: Refer to keys by key names, not representations
This is an attempt to clean up the inconsistent way that keys are
written in various places. These rules require the fewest changes to the
existing text.

Use the "Key name", as defined in remapping.md, which uses
"Some-Modifiers-PascalCaseKey". The "Representation", which uses
"S-M-lowercasekey", is only used for configuration entries.

For key combinations which do not present a popup, just present the keys
one after the other, with no intervening space, like `]p`.

For key combinations which present a popup, separate them with ` + `,
like `Space + f`.

The Ctrl modifier is called Ctrl, not Control.
2022-10-12 18:12:54 -05:00
Tim Siegel
e542f2e08f tutor: Minor grammar fix
No need to say additionally, as well, also, etc. One is enough.
2022-10-12 18:12:54 -05:00
Tim Siegel
f5f4d3dc2a tutor: Clarify forward reference to "primary selection" 2022-10-12 18:12:54 -05:00
Tim Siegel
0571fa4d56 tutor: Clarify first multi-cursor example
If the reader is unfortunate enough to place the cursor at the beginning
of the line on step #1, subsequent steps will fail.
2022-10-12 18:12:54 -05:00
Tim Siegel
6db39eacd3 tutor: Clarify forward reference to "select command"
The phrase "Like the select command" suggests that the reader has been
introduced to select already. That doesn't happen until the next
chapter.
2022-10-12 18:12:54 -05:00
Michael Davis
e16c632760
Apply transactions to the jumplist for undo/redo (#4227)
Undo/redo/earlier/later call `Document::apply_impl` which applies
transactions to the document. These transactions also need to be
applied to the view as in 0aedef0.
2022-10-13 00:57:40 +09:00
Armin Ronacher
7f75458e6f
Fix some commands not showing names in palette (#4223) 2022-10-12 09:02:10 -05:00
Lennard Hofmann
a24fae3b3c
Update tree-sitter-lua and add textobjects for Lua (#3552) 2022-10-12 08:45:56 -05:00
Graic
68909dcef4
Fix append cursor location when selection anchor is at end of document (#4147) 2022-10-12 08:34:35 -05:00
Jacob Kiesel
c54a0363bb
Rearrange README.md slightly (#4206) 2022-10-11 18:54:18 -05:00
Brian Orwe
f4d96b2ca3
Fix confusion with using --hsplit --vsplit on startup at same time (#4202) 2022-10-11 09:25:42 -04:00