Commit graph

2318 commits

Author SHA1 Message Date
Nikita Revenco
105be47e8a refactor: remove unused imports 2024-12-20 14:57:41 +00:00
Nikita Revenco
3f8731f003 refactor: extract ColorSwatch into a separate struct 2024-12-20 14:46:10 +00:00
Nikita Revenco
0c50ce1432 refactor: move inlay hints computation function earlier 2024-12-20 14:35:55 +00:00
Nikita Revenco
0ce04ea455 feat: move inlay_hints computations earlier 2024-12-20 14:35:03 +00:00
Nikita Revenco
0b71472406 refactor: compute_lines function 2024-12-20 14:32:32 +00:00
Gabriel Dinner-David
cc71969884 propogate the colours 2024-12-20 03:34:49 -05:00
Gabriel Dinner-David
68c52a2435 hack the text_decorations to make this work 2024-12-19 23:46:17 -05:00
Nikita Revenco
1c3caf525e feat: basic implementation 2024-12-19 21:09:05 +00:00
Nikita Revenco
91a5d407da
Allow theming directory prompt completions (#12205) 2024-12-17 21:13:42 -06:00
Christian Schneider
fcded6ce1e
Trim trailing colons from paths to allow copy/pasting git grep -n output (#9963)
Co-authored-by: Christian Schneider <schneider@search.ch>
2024-12-17 13:02:06 -06:00
Pascal Kuthe
1badd9e434
implement snippet tabstop support 2024-12-17 13:34:40 -05:00
Pascal Kuthe
66fb1e67c0
add fallback onNextKey
adds a variant of on_next_key callbacks that are only called when no other
mapping matches a key
2024-12-17 13:34:40 -05:00
Pascal Kuthe
609c29bf7e
add DocumentFocusLost event 2024-12-17 13:34:40 -05:00
Pascal Kuthe
5537e68b5e
add changes and ghost_transaction to DocumentDidChange events 2024-12-17 13:34:40 -05:00
Integral
250d9fa8fe
Avoid allocating the --help message (#12243) 2024-12-16 11:16:48 -06:00
Aaalibaba
3b36cf1a15
Expand tildes in :read command (#12271) 2024-12-16 11:10:35 -06:00
Takumi Matsuura
e14c346ee7
Fix panic in kill_to_end_of_line when handling multibyte characters (#12237) 2024-12-13 14:04:52 -06:00
TornaxO7
89a7cde2f0
Fix continuing comment token for first line (#12215) 2024-12-10 13:24:34 -06:00
TornaxO7
5005c14e99
Add config option for continue commenting (#12213)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-12-09 17:31:41 -06:00
Nikita Revenco
db1d84256f
fix: report correct amount of files opened and improved error message when Helix can't parse directory as file (#12199)
* feat: improve information on the amount of files loaded

* refactor: naming consitency Doc and not Buf

* fix: correct name of method

* chore: appease clippy

* feat: more human error information when Helix cannot start

* refatcor: use if guard on match arm
2024-12-08 20:14:29 +09:00
Michael Davis
28953ef40f
Simplify change_current_directory and remove extra allocs 2024-12-05 18:50:31 -05:00
Nikita Revenco
93deb1f6ae
feat: :cd - changes to the previous working directory (#12194)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-12-05 17:40:37 -06:00
Michael Davis
1e6fe00001 Trim all trailing whitespace on insert_newline 2024-12-05 20:53:53 +09:00
Ian Hobson
4c8175ca04 Draw each message line separately in draw_eol_diagnostic
`set_string_truncated` renders the entire string while ignoring
newlines, so if the diagnostic's message contains multiple lines it
produces messages like 'first linesecond line'.

To avoid these run-ons, this commit renders each line separately,
inserting double spaces for disambiguation.
2024-12-04 18:23:30 -06:00
Ian Hobson
715a13b2d3 Remove an incorrect comment
This was copied from the function above (set_style). I don't know enough
about the function to suggest an alternative.
2024-12-04 18:23:30 -06:00
Nikita Revenco
565bfbba25
feat: :cd with no args changes to home directory (#12042) 2024-12-04 18:09:33 -06:00
Tomasz Zurkowski
7a2afdc080
Show an error when formatter is not available (#12183) 2024-12-04 08:27:54 -06:00
Michael Davis
085c4fe4c8
docs: Eliminate improper use of "LSP" term
Sometimes we used "LSP" to mean "language server". This change
eliminates the improper "LSP" usage.

Ref https://github.com/helix-editor/helix/pull/12183#discussion_r1868436105
2024-12-03 18:29:44 -05:00
RoloEdits
5ba97ba41e
fix(clippy): clippy 1.83 lints (#12150) 2024-12-02 08:23:32 -06:00
Poliorcetics
0f4729289b
fix: Remove leftover debug println! (#12138)
Introduced in dc941d6d24
2024-11-27 20:05:18 +09:00
Milan Vaško
7676106960
Search selection with word boundary detection (#12126)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-11-26 13:30:53 -06:00
RoloEdits
cbbeca6c52
fix(clippy): suppress unused lint on windows (#12107) 2024-11-22 08:10:11 -06:00
Philipp Mildenberger
dc941d6d24
Add support for path completion (#2608)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2024-11-21 21:12:36 -06:00
yehor
9e171e7d1d
Add default-yank-register option (#11430)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-11-20 17:24:55 -06:00
Alfie Richards
68ee87695b
Add clipboard provider configuration (#10839) 2024-11-20 16:06:23 -06:00
Michael Davis
59b020ec91
Save an undo checkpoint before paste in insert mode (#8121) 2024-11-20 16:02:10 -06:00
TornaxO7
be2884d800
Continue line comments (#10996) 2024-10-19 05:48:07 -04:00
RoloEdits
f6d39cbc1d
refactor(lsp): handle out-of-range active_signature (#11825) 2024-10-06 08:54:17 -05:00
Pascal Kuthe
162028d444
Merge pull request #11486 from helix-editor/lsp-location-refactor
Replace uses of `lsp::Location` with a custom Location type
2024-10-04 03:33:35 +02:00
chtenb
8cdce9212c
Improve tree-sitter-subtree (#11663)
* Make unnamed nodes visible in subtree view

* Refine command description

* Update generated docs

* Update unit test expected output
2024-09-30 10:59:31 +09:00
rhogenson
73deabaa40
Fix panic when drawing at the edge of the screen. (#11737)
When pressing tab at the edge of the screen, Helix panics in debug mode
subtracting position.col - self.offset.col.

To correctly account for graphemes that are partially visible,
column_in_bounds takes a width and returns whether the whole range is
in bounds.

Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2024-09-23 02:17:02 +09:00
rhogenson
8b1764d164
Join single-line comments with J. (#11742)
Fixes #8565.

Co-authored-by: Rose Hogenson <rosehogenson@posteo.net>
2024-09-23 02:16:24 +09:00
Ayoub Benali
b85e824ba9
Handle window/showMessage and display it bellow status line (#5535)
* Handle window/showMessage and display it bellow status line

* Enable `editor.lsp.display_messages` by default

---------

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2024-09-18 21:43:06 +02:00
Michael Davis
48e9357788
picker: Removed owned variant of PathOrId
The only caller of `from_path_buf` was removed in the parent commit
allowing us to drop owned variant of path's `Cow`. With this change we
never need to allocate in the picker preview callback.
2024-09-03 09:48:32 -04:00
Michael Davis
606b957172
Replace uses of lsp::Location with a custom Location type
The lsp location type has the lsp's URI type and a range. We can replace
that with a custom type private to the lsp commands module that uses the
core URI type instead.

We can't entirely replace the type with a new Location type in core.
That type might look like:

    pub struct Location {
        uri: crate::Uri,
        range: crate::Range,
    }

But we can't convert every `lsp::Location` to this type because for
definitions, references and diagnostics language servers send documents
which we haven't opened yet, so we don't have the information to convert
an `lsp::Range` (line+col) to a `helix_core::Range` (char indexing).

This cleans up the picker definitions in this file so that they can all
use helpers like `jump_to_location` and `location_to_file_location` for
the picker preview. It also removes the only use of the deprecated
`PathOrId::from_path_buf` function, allowing us to drop the owned
variant of that type in the child commit.
2024-09-03 09:48:32 -04:00
RoloEdits
4e729dea02
fix: ensure view is initiated for jump_* commands (#11529) 2024-08-20 00:28:59 +02:00
RoloEdits
e46cedfc26
refactor(commands): trim_end of sh output (#11161) 2024-08-11 10:24:51 -05:00
Michael Davis
b7820ee668 Disallow macro keybindings within command sequences
This is a temporary limitation because of the way that command sequences
are executed. Each command is currently executed back-to-back
synchronously, but macros are by design queued up for the compositor.
So macros mixed into a command sequence will behave undesirably: they
will be executed after the rest of the static and/or typable commands
in the sequence.

This is pending a larger refactor of how we handle commands.
<https://redirect.github.com/helix-editor/helix/issues/5555> has
further details and <https://redirect.github.com/helix-editor/helix/issues/4508>
discusses a similar problem faced by the command palette.
2024-08-10 00:39:47 +09:00
Michael Davis
1098a348aa Parse and execute macro mappable commands 2024-08-10 00:39:47 +09:00
RoloEdits
f52251960a
fix(picker): no longer trim search pattern (#11406) 2024-08-10 00:26:09 +09:00