From 5ce77de0dc7106c6f1460d80a3c5a51eaea3108c Mon Sep 17 00:00:00 2001 From: Niklas Gruhn Date: Sun, 15 Sep 2024 12:08:35 +0200 Subject: [PATCH 1/8] fix: Lean language server consuming excessive memory (#11683) The Lean process, spawned by the language server, might use excessive memory in certain situation, causing the entire system to freeze. See: https://github.com/leanprover/lean4/issues/5321 The language server accepts a CLI flag for limiting memory use. I set it to 1024MB, which might be a bit arbitrary, but definitly prevents the system from crashing. --- languages.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/languages.toml b/languages.toml index cc437f78c..e115a4092 100644 --- a/languages.toml +++ b/languages.toml @@ -49,7 +49,7 @@ jsonnet-language-server = { command = "jsonnet-language-server", args= ["-t", "- julia = { command = "julia", timeout = 60, args = [ "--startup-file=no", "--history-file=no", "--quiet", "-e", "using LanguageServer; runserver()", ] } koka = { command = "koka", args = ["--language-server", "--lsstdio"] } kotlin-language-server = { command = "kotlin-language-server" } -lean = { command = "lean", args = [ "--server" ] } +lean = { command = "lean", args = [ "--server", "--memory=1024" ] } ltex-ls = { command = "ltex-ls" } markdoc-ls = { command = "markdoc-ls", args = ["--stdio"] } markdown-oxide = { command = "markdown-oxide" } From 9851edf477139c1c0db2437c0c25867fd2bc0bf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:31:36 +0900 Subject: [PATCH 2/8] build(deps): bump cachix/install-nix-action from V27 to 28 (#11713) Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from V27 to 28. This release includes the previously tagged commit. - [Release notes](https://github.com/cachix/install-nix-action/releases) - [Commits](https://github.com/cachix/install-nix-action/compare/V27...V28) --- updated-dependencies: - dependency-name: cachix/install-nix-action dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cachix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index b8be02e16..3685a7c61 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -14,7 +14,7 @@ jobs: uses: actions/checkout@v4 - name: Install nix - uses: cachix/install-nix-action@V27 + uses: cachix/install-nix-action@V28 - name: Authenticate with Cachix uses: cachix/cachix-action@v15 From c754949454a6c757a41f69bb0cadee6b8fc689d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:32:26 +0900 Subject: [PATCH 3/8] build(deps): bump the rust-dependencies group with 4 updates (#11712) Bumps the rust-dependencies group with 4 updates: [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation), [anyhow](https://github.com/dtolnay/anyhow), [rustix](https://github.com/bytecodealliance/rustix) and [cc](https://github.com/rust-lang/cc-rs). Updates `unicode-segmentation` from 1.11.0 to 1.12.0 - [Commits](https://github.com/unicode-rs/unicode-segmentation/compare/v1.11.0...v1.12.0) Updates `anyhow` from 1.0.87 to 1.0.89 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.87...1.0.89) Updates `rustix` from 0.38.36 to 0.38.37 - [Release notes](https://github.com/bytecodealliance/rustix/releases) - [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md) - [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.36...v0.38.37) Updates `cc` from 1.1.18 to 1.1.19 - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.18...cc-v1.1.19) --- updated-dependencies: - dependency-name: unicode-segmentation dependency-type: direct:production update-type: version-update:semver-minor dependency-group: rust-dependencies - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies - dependency-name: rustix dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies - dependency-name: cc dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- helix-core/Cargo.toml | 2 +- helix-tui/Cargo.toml | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e4ebbb8f..7156fc27e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,9 +68,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "arc-swap" @@ -136,9 +136,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" [[package]] name = "cc" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" +checksum = "2d74707dde2ba56f86ae90effb3b43ddd369504387e718014de010cec7959800" dependencies = [ "shlex", ] @@ -1972,9 +1972,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.36" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags", "errno", @@ -2401,9 +2401,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" diff --git a/helix-core/Cargo.toml b/helix-core/Cargo.toml index ce8a09a99..bc890e007 100644 --- a/helix-core/Cargo.toml +++ b/helix-core/Cargo.toml @@ -22,7 +22,7 @@ helix-loader = { path = "../helix-loader" } ropey = { version = "1.6.1", default-features = false, features = ["simd"] } smallvec = "1.13" smartstring = "1.0.1" -unicode-segmentation = "1.11" +unicode-segmentation = "1.12" # unicode-width is changing width definitions # that both break our logic and disagree with common # width definitions in terminals, we need to replace it. diff --git a/helix-tui/Cargo.toml b/helix-tui/Cargo.toml index ac56c7242..a349623b1 100644 --- a/helix-tui/Cargo.toml +++ b/helix-tui/Cargo.toml @@ -20,7 +20,7 @@ helix-core = { path = "../helix-core" } bitflags = "2.6" cassowary = "0.3" -unicode-segmentation = "1.11" +unicode-segmentation = "1.12" crossterm = { version = "0.28", optional = true } termini = "1.0" serde = { version = "1", "optional" = true, features = ["derive"]} From f4df4bf5f297c594ced2f9a7147a313f9895872a Mon Sep 17 00:00:00 2001 From: ves Date: Tue, 17 Sep 2024 05:33:21 +0300 Subject: [PATCH 4/8] Stylize horizon-dark picker v2 columns (#11649) --- runtime/themes/horizon-dark.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/themes/horizon-dark.toml b/runtime/themes/horizon-dark.toml index e51ec09f5..d8d181291 100644 --- a/runtime/themes/horizon-dark.toml +++ b/runtime/themes/horizon-dark.toml @@ -33,7 +33,7 @@ tag = "red" "ui.selection" = { bg = "selection" } "ui.virtual.indent-guide" = { fg = "gray" } "ui.virtual.whitespace" = { fg = "light-gray" } -"ui.virtual.ruler" = { bg ="dark-bg" } +"ui.virtual.ruler" = { bg = "dark-bg" } "ui.statusline" = { bg = "dark-bg", fg = "light-gray" } "ui.popup" = { bg = "dark-bg", fg = "orange" } "ui.help" = { bg = "dark-bg", fg = "orange" } @@ -43,6 +43,8 @@ tag = "red" "ui.bufferline" = { bg = "dark-bg", fg = "light-gray" } "ui.bufferline.active" = { bg = "dark-bg", fg = "orange" } "ui.virtual.jump-label" = { fg = "pink", modifiers = ["bold"] } +"ui.picker.header.column" = { fg = "orange", underline.style = "line" } +"ui.picker.header.column.active" = { fg = "purple", modifiers = ["bold"], underline.style = "line" } # Diagnostics "diagnostic" = { underline = { style = "curl" } } From 84fbadbdde255d87e6e04141ccd2d75f4e86edf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Gonz=C3=A1lez?= Date: Mon, 16 Sep 2024 23:34:10 -0300 Subject: [PATCH 5/8] Update picker headers styling in Darcula themes (#11620) * Apply styling to picker headers in Darcula themes * Add background to active picker column in Darcula. --- runtime/themes/darcula.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runtime/themes/darcula.toml b/runtime/themes/darcula.toml index 7e0907c09..5b83afba8 100644 --- a/runtime/themes/darcula.toml +++ b/runtime/themes/darcula.toml @@ -28,6 +28,8 @@ "ui.virtual.jump-label" = { fg = "lightblue", modifiers = ["italic", "bold"] } "ui.bufferline" = { fg = "grey04", bg = "grey00" } "ui.bufferline.active" = { fg = "grey07", bg = "grey02" } +"ui.picker.header.column" = { fg = "grey05", modifiers = ["italic", "bold"] } +"ui.picker.header.column.active" = { fg = "grey05", bg = "grey03", modifiers = ["italic", "bold"] } "operator" = "grey05" "variable" = "white" From a7b8b27abfb2b6a414d12730ec3634ece7bfc050 Mon Sep 17 00:00:00 2001 From: Nicolas Karolak Date: Wed, 18 Sep 2024 05:12:31 +0200 Subject: [PATCH 6/8] chore: add ruff and jedi lsp servers (#11630) * chore: add ruff lsp server Ruff provide a `server` command that starts a LSP server: https://docs.astral.sh/ruff/editors/#language-server-protocol * chore: add jedi lsp server [jedi-language-server](https://github.com/pappasam/jedi-language-server) is a Python LSP server based the popular [jedi](https://jedi.readthedocs.io/en/latest/) library. * docs: add ruff and jedi as python lsp servers --- book/src/generated/lang-support.md | 2 +- languages.toml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index cb1c815f2..f223c8b22 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -163,7 +163,7 @@ | protobuf | ✓ | ✓ | ✓ | `bufls`, `pb` | | prql | ✓ | | | | | purescript | ✓ | ✓ | | `purescript-language-server` | -| python | ✓ | ✓ | ✓ | `pylsp` | +| python | ✓ | ✓ | ✓ | `ruff`, `jedi-language-server`, `pylsp` | | qml | ✓ | | ✓ | `qmlls` | | r | ✓ | | | `R` | | racket | ✓ | | ✓ | `racket` | diff --git a/languages.toml b/languages.toml index e115a4092..9e1be0ac2 100644 --- a/languages.toml +++ b/languages.toml @@ -44,6 +44,7 @@ haskell-language-server = { command = "haskell-language-server-wrapper", args = idris2-lsp = { command = "idris2-lsp" } intelephense = { command = "intelephense", args = ["--stdio"] } jdtls = { command = "jdtls" } +jedi = { command = "jedi-language-server" } jq-lsp = { command = "jq-lsp" } jsonnet-language-server = { command = "jsonnet-language-server", args= ["-t", "--lint"] } julia = { command = "julia", timeout = 60, args = [ "--startup-file=no", "--history-file=no", "--quiet", "-e", "using LanguageServer; runserver()", ] } @@ -84,6 +85,7 @@ racket = { command = "racket", args = ["-l", "racket-langserver"] } regols = { command = "regols" } rescript-language-server = { command = "rescript-language-server", args = ["--stdio"] } robotframework_ls = { command = "robotframework_ls" } +ruff = { command = "ruff", args = ["server"] } serve-d = { command = "serve-d" } slint-lsp = { command = "slint-lsp", args = [] } solargraph = { command = "solargraph", args = ["stdio"] } @@ -852,7 +854,7 @@ file-types = ["py", "pyi", "py3", "pyw", "ptl", "rpy", "cpy", "ipy", "pyt", { gl shebangs = ["python"] roots = ["pyproject.toml", "setup.py", "poetry.lock", "pyrightconfig.json"] comment-token = "#" -language-servers = [ "pylsp" ] +language-servers = ["ruff", "jedi", "pylsp"] # TODO: pyls needs utf-8 offsets indent = { tab-width = 4, unit = " " } @@ -3785,4 +3787,4 @@ indent = { tab-width = 2, unit = " " } [[grammar]] name = "thrift" -source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-thrift" , rev = "68fd0d80943a828d9e6f49c58a74be1e9ca142cf" } \ No newline at end of file +source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-thrift" , rev = "68fd0d80943a828d9e6f49c58a74be1e9ca142cf" } From b85e824ba9cfb2dba739281d88d9a4576aea9a1f Mon Sep 17 00:00:00 2001 From: Ayoub Benali Date: Wed, 18 Sep 2024 21:43:06 +0200 Subject: [PATCH 7/8] 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 --- helix-term/src/application.rs | 12 ++++++++++-- helix-view/src/editor.rs | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index bd6b5a870..a567815fc 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -846,7 +846,15 @@ impl Application { } } Notification::ShowMessage(params) => { - log::warn!("unhandled window/showMessage: {:?}", params); + if self.config.load().editor.lsp.display_messages { + match params.typ { + lsp::MessageType::ERROR => self.editor.set_error(params.message), + lsp::MessageType::WARNING => { + self.editor.set_warning(params.message) + } + _ => self.editor.set_status(params.message), + } + } } Notification::LogMessage(params) => { log::info!("window/logMessage: {:?}", params); @@ -930,7 +938,7 @@ impl Application { self.lsp_progress.update(server_id, token, work); } - if self.config.load().editor.lsp.display_messages { + if self.config.load().editor.lsp.display_progress_messages { self.editor.set_status(status); } } diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 1708b3b4e..26dea3a21 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -421,7 +421,9 @@ pub fn get_terminal_provider() -> Option { pub struct LspConfig { /// Enables LSP pub enable: bool, - /// Display LSP progress messages below statusline + /// Display LSP messagess from $/progress below statusline + pub display_progress_messages: bool, + /// Display LSP messages from window/showMessage below statusline pub display_messages: bool, /// Enable automatic pop up of signature help (parameter hints) pub auto_signature_help: bool, @@ -439,7 +441,8 @@ impl Default for LspConfig { fn default() -> Self { Self { enable: true, - display_messages: false, + display_progress_messages: false, + display_messages: true, auto_signature_help: true, display_signature_help_docs: true, display_inlay_hints: false, @@ -1271,6 +1274,13 @@ impl Editor { self.status_msg = Some((error, Severity::Error)); } + #[inline] + pub fn set_warning>>(&mut self, warning: T) { + let warning = warning.into(); + log::warn!("editor warning: {}", warning); + self.status_msg = Some((warning, Severity::Warning)); + } + #[inline] pub fn get_status(&self) -> Option<(&Cow<'static, str>, &Severity)> { self.status_msg.as_ref().map(|(status, sev)| (status, sev)) From 9f93de5a4b2b52a1a153f4ea5eacfc1a63600496 Mon Sep 17 00:00:00 2001 From: timd Date: Wed, 18 Sep 2024 19:15:51 -0600 Subject: [PATCH 8/8] fix(themes): fix diagnostics in snazzy (#11731) * fix(themes): fix diagnostics in snazzy Before this change, the color scheme makes most diagnostics difficult to read. This fix makes diagnostic much less obtrusive when using snazzy. * chore(fmt): nicely format snazzy theme file --- runtime/themes/snazzy.toml | 167 +++++++++++++++++++------------------ 1 file changed, 86 insertions(+), 81 deletions(-) diff --git a/runtime/themes/snazzy.toml b/runtime/themes/snazzy.toml index 09d0cdd57..c5e8a2a44 100644 --- a/runtime/themes/snazzy.toml +++ b/runtime/themes/snazzy.toml @@ -1,119 +1,124 @@ # Author : Timothy DeHerrera "comment".fg = "comment" -"constant".fg = "purple" -"constant.builtin".fg = "olive" -"constant.character".fg = "carnation" +"constant.builtin".fg = "olive" "constant.character.escape".fg = "magenta" -"constant.numeric".fg = "cyan" -"constant.numeric.float".fg = "red" +"constant.character".fg = "carnation" +"constant".fg = "purple" +"constant.numeric".fg = "cyan" +"constant.numeric.float".fg = "red" -"function".fg = "green" "function.builtin".fg = "sand" -"function.macro".fg = "blue" -"function.method".fg = "opal" +"function".fg = "green" +"function.macro".fg = "blue" +"function.method".fg = "opal" -"keyword" = { fg = "magenta", modifiers = ["bold"] } -"keyword.operator" = { fg = "coral", modifiers = ["bold"] } -"keyword.function" = { fg = "lilac", modifiers = ["bold"] } -"keyword.control" = { fg = "carnation", modifiers = ["bold"]} +"keyword" = { fg = "magenta", modifiers = ["bold"] } +"keyword.control" = { fg = "carnation", modifiers = ["bold"] } "keyword.control.exception" = { fg = "red", modifiers = ["bold"] } -"keyword.storage" = { fg = "coral", modifiers = ["bold"] } +"keyword.function" = { fg = "lilac", modifiers = ["bold"] } +"keyword.operator" = { fg = "coral", modifiers = ["bold"] } +"keyword.storage" = { fg = "coral", modifiers = ["bold"] } "operator".fg = "coral" -"punctuation".fg = "magenta" +"punctuation.bracket".fg = "foreground" "punctuation.delimiter".fg = "coral" -"punctuation.bracket".fg = "foreground" +"punctuation".fg = "magenta" -"string".fg = "yellow" +"attribute".fg = "opal" +"string".fg = "yellow" +"string.regexp".fg = "red" "string.special".fg = "blue" -"string.regexp".fg = "red" -"tag".fg = "carnation" -"attribute".fg = "opal" +"tag".fg = "carnation" -"type".fg = "opal" -"type.variant".fg = "sand" -"type.builtin".fg = "yellow" +"type.builtin".fg = "yellow" "type.enum.variant".fg = "sand" +"type".fg = "opal" +"type.variant".fg = "sand" -"variable".fg = "cyan" -"variable.builtin".fg = "olive" +"variable.builtin".fg = "olive" +"variable".fg = "cyan" "variable.other.member".fg = "lilac" -"variable.parameter" = { fg ="blue", modifiers = ["italic"] } +"variable.parameter" = { fg = "blue", modifiers = ["italic"] } -"namespace".fg = "olive" "constructor".fg = "sand" -"special".fg = "magenta" -"label".fg = "magenta" +"label".fg = "magenta" +"namespace".fg = "olive" +"special".fg = "magenta" -"diff.plus".fg = "green" "diff.delta".fg = "blue" "diff.minus".fg = "red" - -"ui.background" = { fg = "foreground", bg = "background" } -"ui.cursor" = { fg = "background", bg = "blue", modifiers = ["dim"] } -"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] } -"ui.cursor.primary" = { fg = "background", bg = "cyan", modifiers = ["dim"] } -"ui.help" = { fg = "foreground", bg = "background_dark" } -"ui.linenr" = { fg = "comment" } -"ui.linenr.selected" = { fg = "foreground" } -"ui.menu" = { fg = "foreground", bg = "background_dark" } -"ui.menu.selected" = { fg = "cyan", bg = "background_dark" } -"ui.popup" = { fg = "foreground", bg = "background_dark" } -"ui.selection" = { bg = "secondary_highlight" } -"ui.selection.primary" = { bg = "primary_highlight" } -"ui.cursorline" = { bg = "background_dark" } -"ui.statusline" = { fg = "foreground", bg = "background_dark" } -"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" } -"ui.statusline.insert" = { fg = "olive", bg = "background_dark" } -"ui.statusline.normal" = { fg = "opal", bg = "background_dark" } -"ui.statusline.select" = { fg = "carnation", bg = "background_dark" } -"ui.text" = { fg = "foreground" } -"ui.text.focus" = { fg = "cyan" } -"ui.window" = { fg = "foreground" } -"ui.virtual.whitespace" = { fg = "comment" } +"diff.plus".fg = "green" + +"ui.background" = { fg = "foreground", bg = "background" } +"ui.cursor" = { fg = "background", bg = "blue", modifiers = ["dim"] } +"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] } +"ui.cursor.primary" = { fg = "background", bg = "cyan", modifiers = ["dim"] } +"ui.cursorline" = { bg = "background_dark" } +"ui.help" = { fg = "foreground", bg = "background_dark" } +"ui.linenr" = { fg = "comment" } +"ui.linenr.selected" = { fg = "foreground" } +"ui.menu" = { fg = "foreground", bg = "background_dark" } +"ui.menu.selected" = { fg = "cyan", bg = "background_dark" } +"ui.popup" = { fg = "foreground", bg = "background_dark" } +"ui.selection" = { bg = "secondary_highlight" } +"ui.selection.primary" = { bg = "primary_highlight" } +"ui.statusline" = { fg = "foreground", bg = "background_dark" } +"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" } +"ui.statusline.insert" = { fg = "olive", bg = "background_dark" } +"ui.statusline.normal" = { fg = "opal", bg = "background_dark" } +"ui.statusline.select" = { fg = "carnation", bg = "background_dark" } +"ui.text" = { fg = "foreground" } +"ui.text.focus" = { fg = "cyan" } "ui.virtual.indent-guide" = { fg = "opal" } -"ui.virtual.ruler" = { bg = "background_dark" } +"ui.virtual.ruler" = { bg = "background_dark" } +"ui.virtual.whitespace" = { fg = "comment" } +"ui.window" = { fg = "foreground" } -"error" = { fg = "red" } +"error" = { fg = "red" } "warning" = { fg = "cyan" } +"diagnostic" = { underline = { style = "line", color = "coral" }, bg = "cyan" } +"diagnostic.deprecated" = { modifiers = ["crossed_out"] } +"diagnostic.error" = { underline = { style = "curl", color = "red" } } +"diagnostic.hint" = { underline = { style = "line", color = "cyan" } } +"diagnostic.info" = { underline = { style = "line" } } "diagnostic.unnecessary" = { modifiers = ["dim"] } -"diagnostic.deprecated" = { modifiers = ["crossed_out"] } - -"markup.heading" = { fg = "purple", modifiers = ["bold"] } -"markup.link.label" = { fg = "blue", modifiers = ["italic"] } -"markup.list" = "cyan" -"markup.bold" = { fg = "blue", modifiers = ["bold"] } -"markup.italic" = { fg = "yellow", modifiers = ["italic"] } +"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } } + +"markup.bold" = { fg = "blue", modifiers = ["bold"] } +"markup.heading" = { fg = "purple", modifiers = ["bold"] } +"markup.italic" = { fg = "yellow", modifiers = ["italic"] } +"markup.link.label" = { fg = "blue", modifiers = ["italic"] } +"markup.link.text" = "magenta" +"markup.link.url" = "cyan" +"markup.list" = "cyan" +"markup.quote" = { fg = "yellow", modifiers = ["italic"] } +"markup.raw" = { fg = "foreground" } "markup.strikethrough" = { modifiers = ["crossed_out"] } -"markup.link.url" = "cyan" -"markup.link.text" = "magenta" -"markup.quote" = { fg = "yellow", modifiers = ["italic"] } -"markup.raw" = { fg = "foreground" } [palette] -background = "#282a36" -background_dark = "#21222c" -primary_highlight = "#800049" +background = "#282a36" +background_dark = "#21222c" +comment = "#a39e9b" +foreground = "#eff0eb" +primary_highlight = "#800049" secondary_highlight = "#4d4f66" -foreground = "#eff0eb" -comment = "#a39e9b" # main colors -red = "#ff5c57" -blue = "#57c7ff" -yellow = "#f3f99d" -green = "#5af78e" -purple = "#bd93f9" -cyan = "#9aedfe" +blue = "#57c7ff" +cyan = "#9aedfe" +green = "#5af78e" magenta = "#ff6ac1" +purple = "#bd93f9" +red = "#ff5c57" +yellow = "#f3f99d" # aux colors -lilac = "#c9c5fb" -coral = "#f97c7c" -sand = "#ffab6f" carnation = "#f99fc6" -olive = "#b6d37c" -opal = "#b1d7c7" +coral = "#f97c7c" +lilac = "#c9c5fb" +olive = "#b6d37c" +opal = "#b1d7c7" +sand = "#ffab6f"