Commit Graph

2604 Commits (92469b431a5eae70fd500f5469b1b07eec3f6d23)

Author SHA1 Message Date
Nikita Revenco d451077978 feat: add typable command to get injection layer for current range 2025-03-25 14:41:27 +00:00
Nikita Revenco 99d16170dc fix: commenting full lines 2025-03-25 14:41:27 +00:00
Nikita Revenco 7d53290dd2 fix: panic 2025-03-25 14:41:27 +00:00
Nikita Revenco e9683381b6 refactor: extract a separate toggle_comment_impl function 2025-03-25 14:41:27 +00:00
Nikita Revenco 093805b62c perf: get rid of a `.clone()` 2025-03-25 14:41:27 +00:00
Nikita Revenco 63fb49c1b4 chore: clean up code
chore: remove comment
2025-03-25 14:41:27 +00:00
Nikita Revenco 3714fc0cee chore: remove unused imports 2025-03-25 14:41:27 +00:00
Nikita Revenco c22eba38d5 chore: move all comment integration tests into a separate module 2025-03-25 14:41:27 +00:00
Nikita Revenco 570911e589 fix: many single width selections panic 2025-03-25 14:41:27 +00:00
Nikita Revenco ee0f22471e chore: add brainstorm thoughts 2025-03-25 14:41:27 +00:00
Nikita Revenco 13b52e9d97 refactor: rename variables ,use iterator methods, separate vars for added and removed chars 2025-03-25 14:41:27 +00:00
Nikita Revenco bbd7cb7bfb fix: incorrect order of index additions 2025-03-25 14:41:27 +00:00
Nikita Revenco 76b3e6778d chore: remove log statement 2025-03-25 14:41:27 +00:00
Nikita Revenco 31e2f739ee fix: panic as no ranges were inserted 2025-03-25 14:41:27 +00:00
Nikita Revenco b94d3a70e7 fix: multiple selections having incorrect range and not properly accounting for comment tokens 2025-03-25 14:41:27 +00:00
Nikita Revenco 621dec74be test: write more tests for toggle comment, and add tests for toggle block comment 2025-03-25 14:41:27 +00:00
Nikita Revenco 7c24110061 feat: add integration tests for commenting through injection layers 2025-03-25 14:41:27 +00:00
Nikita Revenco 0a882107ed fix: restore selections when created comment 2025-03-25 14:41:27 +00:00
Nikita Revenco de7884c7dd test: uncomment previosly skipped tests 2025-03-25 14:41:27 +00:00
Nikita Revenco 371dec3774 feat: block comment toggle and single line comment toggle 2025-03-25 14:41:27 +00:00
Nikita Revenco 544e460ac4 feat: implement toggle comment funcitonality for multiple comment tokens 2025-03-25 14:41:27 +00:00
Nikita Revenco 29e0a00eb0 feat: implement toggle comment for the simplest case 2025-03-25 14:41:27 +00:00
Nikita Revenco d719f1572b feat: gain access to injection-specific line and block comment tokens 2025-03-25 14:41:27 +00:00
Nikita Revenco b10fc21169 chore: clean up code 2025-03-25 14:41:27 +00:00
Nikita Revenco 8fe3f90cbb feat: use FnMut 2025-03-25 14:41:27 +00:00
Nikita Revenco 38bede20ef feat: add new params 2025-03-25 14:41:27 +00:00
Nikita Revenco 70f27b390d feat: add function to get LanguageConfiguration from a LayerId
Co-authored-by: the-mikedavis <mcarsondavis@gmail.com>
2025-03-25 14:41:27 +00:00
Nikita Revenco 48dec3ee8f chore: add testing files 2025-02-28 14:53:15 +00:00
Michael Davis 0efa8207d8
Rewrite command line parsing, add flags and expansions (#12527)
Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me>
2025-02-26 19:50:15 -06:00
may e1c7a1ed77
remove unnecessary allocations in switch_case (#12786) 2025-02-26 19:03:29 -06:00
Michael Davis 7bebe0a70e
Highlight file picker directories with 'ui.text.directory'
This applies the same styling as the parent commit to the file pickers.
2025-02-26 19:19:37 -05:00
Nik Revenco 682967d328
feat: Improve look of Global Search Picker (#12855)
Co-authored-by: Poliorcetics <poliorcetics@users.noreply.github.com>
Co-authored-by: Nikita Revenco <154856872+NikitaRevenco@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-02-26 18:09:57 -06:00
David Vogt c98302a543
feat(lsp): add container name as a column in the symbol pickers (#12930) 2025-02-26 17:28:34 -06:00
Roberto Vidal 0ba2e05a6f
fix: escape percent character when yanking to search register (#12886)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-02-26 17:22:41 -06:00
Michael Davis fcddd50325
Set theme before opening documents
This is not consequential now but when we switch to the new highlighter
we will want the theme to be set (and the loader's `scopes` to be set
based on the theme) before parsing a document. Previously `set_theme`
came after the loading of documents, so documents would be missing
locals highlights after being loaded and before the first edit.
2025-02-26 10:49:36 -05:00
dependabot[bot] 35575b0b0f
build(deps): bump the rust-dependencies group with 6 updates (#12956)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 18:05:24 -06:00
Michael Davis 3d7e2730e7
Read language servers from config in `:lsp-restart`
`:lsp-stop` should consider only the set of active language servers for
a document. `:lsp-restart` though may be used to start up a language
server that crashed or was manually stopped, so it needs to consider the
language servers in config instead.

This change inlines the `valid_lang_servers` function into `:lsp-stop`
and `:lsp-restart` and changes `:lsp-restart` to check the doc's config
rather than active language servers. `:lsp-restart` now also does not
need to clone the language server names as strings since it borrows from
the config and arguments rather than `Document`. The completer has also
been split into two - one matching active language servers, used by
`:lsp-stop`, and the other matching configured language servers, used by
`:lsp-restart`.

This also removes the part of `:lsp-restart` which bailed if a language
server failed to be restarted (for example because it is not installed).
There might be multiple language servers configured for a language and
only one installed. In that case the `:lsp-restart` should be considered
successful even if not all servers could be started. Bailing prevented
any language servers which could start from being attached to the
document. Instead errors are collected and emitted at the end.
2025-02-20 12:50:09 -05:00
Michael Davis e0da129727
Use custom titles for register select info boxes
Previously all register selection info boxes had "Registers" as the
title. That was particularly confusing for `copy_between_registers`
which presents two info boxes back-to-back.
2025-02-19 10:29:15 -05:00
Michael Davis b8912adbbf
Use a `Cow<'static, str>` for the Info component title
Some uses of the component (like for register) provide a static title.
We can trivially avoid the title allocation in those cases.
2025-02-19 10:10:55 -05:00
Michael Davis e35d420199
application: Eliminate duplicate theme and syntax loader clones
The application held onto these since their introduction in ce97a2f0 but
the Arcs are duplicated between Application and Editor - we can store it
only on Editor without issue.
2025-02-17 19:01:54 -05:00
dependabot[bot] 48194825b9
build(deps): bump the rust-dependencies group with 3 updates (#12903)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 17:36:50 -06:00
Axlefublr 0445062d27
fix `:yank-joined` disrespecting default-yank-register option (#12890) 2025-02-17 10:06:29 -06:00
dependabot[bot] 7275b7f850
build(deps): bump pulldown-cmark from 0.12.2 to 0.13.0 in the rust-dependencies group (#12865)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-13 08:31:38 -06:00
Harishankar G df752bbd45
Prevent auto-format in auto-save (#12817)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2025-02-12 12:11:01 -06:00
T. Li d8c4c7c26f
fix: check and print remaining language servers (#12841) 2025-02-12 09:57:25 -06:00
Nikita Revenco 199dc05a04
fix: Align `Markdown` styles with tree sitter highlights (#12696)
Co-authored-by: Nikita Revenco <154856872+NikitaRevenco@users.noreply.github.com>
2025-02-10 14:58:39 -06:00
Michael Davis 62625eda46
LSP: Move diagnostic handling from Application to Editor
There is no functional change to the move - it's just moving the code
into helix-view under a new method `Editor::handle_lsp_diagnostics` -
thought there is a typo fix, the removal of an unnecessary clone (for
the document's language config) and the removal of some nesting.

Co-authored-by: Sofus Addington <sofus@addington.dk>
2025-02-04 10:39:42 -05:00
Michael Davis 066e938ba0
Add `copy_between_registers` for interactive register copying 2025-02-02 20:49:25 -05:00
Michael Davis e882a750ea
commands: Eagerly clear autoinfo in select_register, insert_register
This causes the infobox to disappear even when you type a non-character
key like escape. For example `"<esc>` now clears the infobox where
before it was left hanging.
2025-02-02 20:45:25 -05:00
Michael Davis 70d452db3e
core: Make completion item documentation optional
Path completion items always have documentation but future core (i.e.
non-LSP) completions may not always have documentation - for example
word completion from the current buffer.
2025-02-01 21:24:25 -05:00