aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Extend textobject selections in select modeMichael Davis2022-10-03
|
* Use Range::with_direction consistentlyMichael Davis2022-10-03
|
* Use requested direction for new textobject selection rangeMichael Davis2022-10-03
| | | | | | | | | | | | | | | | | | This changes the behavior of operations like `]f`/`[f` to set the direction of the new range to the direction of the action. The original behavior was to always use the head of the next function. This is inconsistent with the behavior of goto_next_paragraph and makes it impossible to create extend variants of the textobject motions. This causes a behavior change when there are nested functions. The behavior in the parent commit is that repeated uses of `]f` will select every function in the file even if nested. With this commit, functions are skipped. It's notable that it's possible to emulate the original behavior by using the `ensure_selections_forward` (A-:) command between invocations of `]f`.
* Cycled to end/beginning + no more matches msgs (#3176)A-Walrus2022-10-03
| | | | | | | | | * Show status msg when next/prev cycles around * Add msg when there is no wraparound * Cleanup code * Change msg to "Wrapped around document"
* Inherit theme (#3067)Christoph Schmidler2022-10-03
| | | | | | | | | | | | | | | | | | | * Add RawTheme to handle inheritance with theme palette * Add a intermediate step in theme loading it uses RawTheme struct to load the original ThemePalette, so we can merge it with the inherited one. * Load default themes via RawThemes, remove Theme deserialization * Allow naming custom theme same as inherited one * Remove RawTheme and use toml::Value directly * Resolve all review changes resulting in a cleaner code * Simplify return for Loader::load * Add implementation to avoid extra step for loading of base themes
* Show "Invalid regex" message on enter (Validate) (#3049)A-Walrus2022-10-03
| | | | | | | | | | | * Show "Invalid regex" message on enter (Validate) * Reset selection on invalid regex * Add popup for invalid regex * Replace set_position with position * Make popup auto close
* Add goto preview (#2982)Joe2022-10-03
|
* Update treesitter markdown (#4078)David2022-10-03
| | | | | * Update treesitter markdown * Update inline and add table injections
* Add pseudo_pending for t/T/f/F (#4062)Matt Freitas-Stavola2022-10-02
|
* diff full-doc LSP edits (#4041)Kirawi2022-10-02
| | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Onedarker theme: some improvements (#4069)nuid322022-10-02
|
* Adjust light-gray in onedarker theme (#4060)nuid322022-10-01
|
* Ensure cursor in view after format (#4047)zensayyy2022-10-01
| | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Add support for webassembly text format (#4040)Roberto Vidal2022-10-01
|
* themes: Add onedarker (#3980)nuid322022-10-01
|
* WGSL syntax highlighting fix (#3996)Chickenkeeper2022-09-30
|
* Add comment injection for R (#4031)Maximilian Muecke2022-09-29
|
* tutor: missing <ESC> before removing the second cursor (#4027)joleaf2022-09-29
| | | This step was missing in section 5.2 of tutor.
* Fix tutor typo `favourite` to `favorite` (#4007)Sora2022-09-28
|
* Add gruvbox dark (#3948)Sven-Hendrik Haase2022-09-28
| | | | | * Add gruvbox dark * fixup! Add gruvbox dark
* nix: replace `runCommandNoCC` with `runCommand` (#3992)Erin Kim2022-09-27
|
* build(deps): bump serde from 1.0.144 to 1.0.145 (#3989)dependabot[bot]2022-09-26
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump thiserror from 1.0.35 to 1.0.36 (#3991)dependabot[bot]2022-09-26
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump unicode-general-category from 0.5.1 to 0.6.0 (#3990)dependabot[bot]2022-09-26
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: Improve JSX and TSX tag highlighting (#3973)Jacob Chandler2022-09-26
|
* build(deps): bump tokio-stream from 0.1.9 to 0.1.10 (#3988)dependabot[bot]2022-09-26
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump once_cell from 1.14.0 to 1.15.0 (#3987)dependabot[bot]2022-09-26
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Remove `do_block` from Ruby indents (#3976)Oskar Köök2022-09-26
| | | `do_block` and `block` seem to conflict, causing double-indentation in some cases. Removing `do_block` does not seem to have any negative effect, while fixing the double-indentation issue.
* Add documentation for `max-line-length` (#3974)Oskar Köök2022-09-26
|
* chore: remove unneeded attribute after MSRV bump to 1.61 (#3961)Poliorcetics2022-09-25
|
* heex: upgrade grammar, add roots matching elixir (#3959)Clay2022-09-25
|
* Add bufferline colors to 15 themes (#3881)Invader Zim2022-09-23
| | | | | | | | | | | | | | | | | | | Themes: * acme * ayu_dark * ayu_light * ayu_mirage * base16_default_dark * base16_default_light * bogster * catppuccin_frappe * catppuccin_latte * catppuccin_macchiato * catppuccin_mocha * darcula * dark_plus * doom_acario_dark * emacs
* docs: Punctuation on tutor (#3888)adrian52022-09-23
|
* Add mix.exs and mix.lock as Elixir root markers (#3917)Riccardo Binetti2022-09-23
|
* Split helix_core::find_root and helix_loader::find_local_config_dirs (#3929)Riccardo Binetti2022-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Split helix_core::find_root and helix_loader::find_local_config_dirs The documentation of find_root described the following priority for detecting a project root: - Top-most folder containing a root marker in current git repository - Git repository root if no marker detected - Top-most folder containing a root marker if not git repository detected - Current working directory as fallback The commit contained in https://github.com/helix-editor/helix/pull/1249 extracted and changed the implementation of find_root in find_root_impl, actually reversing its result order (since that is the order that made sense for the local configuration merge, from innermost to outermost ancestors). Since the two uses of find_root_impl have different requirements (and it's not a matter of reversing the order of results since, e.g., the top repository dir should be used by find_root only if there's not marker in other dirs), this PR splits the two implementations in two different specialized functions. In doing so, find_root_impl is removed and the implementation is moved back in find_root, moving it closer to the documented behaviour thus making it easier to verify it's actually correct * helix-core: remove Option from find_root return type It always returns some result, so Option is not needed
* Document MSRV policy (#3913)Pascal Kuthe2022-09-23
|
* Deduplicate regexes in search_selection command (#3941)A-Walrus2022-09-22
|
* Theme: Papercolor: Tune inactive statusline (#3938)Henrik Tjäder2022-09-22
|
* Improve keymap errors from command typos (#3931)Michael Davis2022-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve keymap errors from command typos Currently, opening helix with a config containing a bad command mapping fails with a cryptic error. For example, say we have a config (bad.toml) with a command name that doesn't exist: [keys.normal] b = "buffer_close" # should be ":buffer-close" When we `hx -c bad.toml`, we get... > Bad config: data did not match any variant of untagged enum KeyTrie for key `keys.normal` at line 1 column 1 > Press <ENTER> to continue with default config This is because of the way that Serde tries to deserialize untagged enums such as `helix_term::keymap::KeyTrie`. From the Serde docs[^1]: > Serde will try to match the data against each variant in order and the > first one that deserializes successfully is the one returned. `MappableCommand::deserialize` fails (returns an Err variant) when a command does not exist. Serde interprets this as the `KeyTrie::Leaf` variant failing to match and declares that the input data doesn't "match any variant of untagged enum KeyTrie." Luckily the variants of KeyTrie are orthogonal in structure: we can tell them apart by the type hints from a `serde::de::Visitor`. This change uses a custom Deserialize implementation along with a Visitor that discerns which variant of the KeyTrie applies. With this change, the above failure becomes: > Bad config: No command named 'buffer_close' for key `keys.normal.b` at line 2 column 5 > Press <ENTER> to continue with default config We also provide more explicit information about the expectations on the field. A config with an unexpected type produces a message with that information and the expectation: [keys.normal] b = 1 > Bad config: invalid type: integer `1`, expected a command, list of commands, or sub-keymap for key `keys.normal.b` at line 2 column 5 > Press <ENTER> to continue with default config [^1]: https://serde.rs/enum-representations.html#untagged * Update helix-term/src/keymap.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Fix highlighting on single-character Rust consts (#3927)gavincrawford2022-09-21
| | | | Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com> Co-authored-by: Gavin Crawford <gavincrawford@users.noreply.github.com>
* Fix the picker’s keymap documentation (#3925)taupiqueur2022-09-21
|
* fix fish completions for --config & --log (#3912)Benedikt Müller2022-09-20
|
* add :lsp-restart command (#3435)Filipe Azevedo2022-09-20
|
* Fix preview bug (#3644)Joe2022-09-20
| | | | | * Fix preview bug * Add comment to empty case
* diagnostics: Use Vec<Tag> instead of Option<Vec<Tag>>Blaž Hrastnik2022-09-20
|
* Track source and tags in diagnostics (#3898)Luke Cycon2022-09-20
|
* Add command line parameter to specify log file (#3807)Tobias Hunger2022-09-20
| | | | | | | | | | | * Add command line parameter to specify log file I had the logs of my debug helix mixed in with the logs from the production helix. Add a `--log` command line argument to redirect any logs to other files, making my debugging easier :-) * Update completion files with `--log` argument
* Re-sort diagnostics after transaction transform (#3895)Michael Davis2022-09-20
| | | | | | | | Applying document-change transactions to diagnostic ranges is not stable with respect to the ordering of diagnostics. This can cause diagnostics to become temporarily unordered with some edits to a document, which can eventually break some invariants/assumptions in syntax::merge. With this change, Document::diagnostics are always sorted.
* build(deps): bump textwrap from 0.15.0 to 0.15.1 (#3906)dependabot[bot]2022-09-19
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump unicode-segmentation from 1.9.0 to 1.10.0 (#3903)dependabot[bot]2022-09-19
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>