aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* 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>
* build(deps): bump unicode-width from 0.1.9 to 0.1.10 (#3902)dependabot[bot]2022-09-19
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump tokio from 1.21.0 to 1.21.1 (#3904)dependabot[bot]2022-09-19
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump thiserror from 1.0.34 to 1.0.35 (#3905)dependabot[bot]2022-09-19
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump anyhow from 1.0.64 to 1.0.65 (#3907)dependabot[bot]2022-09-19
| | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: xtask themelint (#3234)Alexander Brevig2022-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: cargo xtask themelint <theme> * fix: add docs and print json error status * fix: refactor paths -> path * fix: remove unused function * fix: only report one err per scope (ui.statusline is reported if none of ui.statusline.* is recognized) * fix: save work for later * fix: finally decided on a design * fix: ready for discussion * fix: better rules * fix: lint precision * fix: String -> &'static str * fix: allowlist not denylist for file type * fix: add missing and indication of what's needed * fix: copy pasteable errors * fix: use Loader:read_names * Update xtask/src/helpers.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * fix: remove into and clone for str * Update book/src/themes.md Co-authored-by: Ivan Tham <pickfire@riseup.net> * fix: better lint output * fix: cleaner logic for lint reporting * style: use explicit imports * Pascal support (#3542) * fix: add difference check for statusline normal,insert,select * fix: fg for whitespace and early exit if and one is ok * chore: cleaning up, no idea how these got here or how this will look * chore: revert from older commit? * refactor: use static fn to equalize api between difference and existance * refactor: querycheck and clippy * refactor: clippy fixes * fix: query-check behaves as before * fix: error with x of y message, not total count * fix: consistent reporting and less mutable state * fix: selection difference ref #3942 ref #1833 Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: ath3 <45574139+ath3@users.noreply.github.com>
* raise msrv to 1.59 (#3896)Pascal Kuthe2022-09-19
|
* add `bass` language + highlighting (#3771)Alex Suraci2022-09-18
|
* Add Markdown LSP via MarksmanArtem Pyanykh2022-09-17
| | | | | | Marksman is an LSP server for Markdown: https://github.com/artempyanykh/marksman It supports a bunch of LSP features: symbols, references, rename, diag, etc. and already has integrations with emacs, neovim, and vscode.
* Fix typos (#3858)taupiqueur2022-09-17
|
* Add darcula theme based upon Intelij Darcula (#3739)Nick Ogden2022-09-16
|
* fix: Improving JSX and TSX indents (#3853)Benjamin Streit2022-09-16
|
* Improve flatwhite theme (#3843)Kristoffer Flottorp2022-09-16
| | | Co-authored-by: krfl <kr.fl@outlook.com>
* improve fleetish theme (#3844)Kristoffer Flottorp2022-09-16
| | | Co-authored-by: krfl <kr.fl@outlook.com>
* Canonicalize executable pathBen Noordhuis2022-09-13
| | | | | | | When looking up the runtime/ directory relative to the executable path, canonicalize the path first in case the executable is a symbolic link. Fixes #3768
* flake: Fix devShell on aarch64-darwin (#3810)Michael Davis2022-09-13
| | | | LLDB is marked broken on all arches except for x86_64-linux. With this change, I can use `nix develop` on aarch64-darwin.
* Remove border from code actions popup (#3444)A-Walrus2022-09-13
|
* Render html <code> tags as code in markdown (#3425)A-Walrus2022-09-13
|
* feat: Syntax highlighting for Astro files (#3829)Benjamin Streit2022-09-13
|
* add example config for all removed insert mode bindings (#3827)Skyler Hawthorne2022-09-13
|
* fix: map_err()? instead of unwrap (#3826)Alexander Brevig2022-09-13
|
* build(deps): bump url from 2.2.2 to 2.3.1 (#3828)dependabot[bot]2022-09-13
| | | | | | | | | | | | | | | | | Bumps [url](https://github.com/servo/rust-url) from 2.2.2 to 2.3.1. - [Release notes](https://github.com/servo/rust-url/releases) - [Commits](https://github.com/servo/rust-url/compare/v2.2.2...v2.3.1) --- updated-dependencies: - dependency-name: url dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Clean Up Nord Theme (#3792)Alex Mayer2022-09-12
| | | | | - Add markup styles - Replace custom colors with Nord colors - Clean up code spacing
* Remove arrow key recommendation from tutor (#3811)Michael Davis2022-09-12
|
* Make whitespace in monokai-pro-spectrum theme one step dimmer to avoid (#3814)Fanda Vacek2022-09-12
| | | | | the white space confusion with hyphen Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
* Update usage.md with paragraph textobject(#3797)Pablo Ovelleiro Corral2022-09-11
|
* Strip release binary by setting `profile.release.strip` in a pre-build step ↵yvt2022-09-11
| | | | | | | (#3780) * chore(ci): remove the strip step from the release CI workflow * chore(ci): set `profile.release.strip = true` in the release CI workflow
* Remove the .txt suffix from tutorBlaž Hrastnik2022-09-11
| | | | | | | | | | | | The tutor file is loaded as .txt which can potentially spawn a language server. Then the path is unset, but the LS remains active. This can cause panics since updates are now submitted for a doc with no path. As a quick workaround we remove the extension which should avoid detection. Fixes #3730
* Add textobject for gdscript (#3760)Erasin2022-09-10
|
* Add godot resource support (#3759)Erasin2022-09-10
| | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* chore: rename `.cargo/{config -> config.toml}`yvt2022-09-10
|
* chore(ci): upgrade `actions/upload-artifact` to v3yvt2022-09-10
| | | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* chore(ci): support "preview" release CI runsyvt2022-09-10
| | | | | | | | | | | | | | Expands the trigger sources of the release CI workflow (`release.yml`), allowing the developers to test changes to `.github/workflows/release.yml` easily. The new trigger sources start the workflow in a "preview" mode, in which it publishes build outputs as a CI artifact instead of creating a new release so that they can be manually inspected. The following events trigger the preview mode: - Pushing to any branch matching the glob pattern `patch/ci-release-*`. - Opening a pull request that modifies `.github/workflows/release.yml`. - Pushing versioning tags to a forked repository.
* Enable CI builds for `riscv64-linux` (#3685)yvt2022-09-10
|
* Improve error handling for config-reload (#3668)A-Walrus2022-09-10
| | | | | | | * Don't change config to default when refreshing invalid config * Propely handle theme errors with config-reload * Extract refresh theme into seperate function
* Switch to Result for invalid languageA-Walrus2022-09-10
|
* Add error handling to set language commandA-Walrus2022-09-10
| | | | | If you type a nonexistant language an appropriate message will show, and the language won't be changed.
* Add `text` to language completerA-Walrus2022-09-10
|
* ordinals instead of indexes when listing grammar fetch errors (#3773)Evan Richter2022-09-10
|