summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/themes/ayu_dark.toml8
-rw-r--r--runtime/themes/ayu_light.toml8
-rw-r--r--runtime/themes/ayu_mirage.toml8
-rw-r--r--runtime/themes/bogster.toml5
-rw-r--r--runtime/themes/bogster_light.toml5
-rw-r--r--runtime/themes/boo_berry.toml6
-rw-r--r--runtime/themes/darcula.toml6
-rw-r--r--runtime/themes/doom_acario_dark.toml8
-rw-r--r--runtime/themes/emacs.toml10
-rw-r--r--runtime/themes/everforest_dark.toml7
-rw-r--r--runtime/themes/everforest_light.toml6
-rw-r--r--runtime/themes/flatwhite.toml5
-rw-r--r--runtime/themes/fleet_dark.toml8
-rw-r--r--runtime/themes/gruvbox.toml5
-rw-r--r--runtime/themes/gruvbox_dark_hard.toml7
-rw-r--r--runtime/themes/gruvbox_light.toml7
-rw-r--r--runtime/themes/heisenberg.toml8
-rw-r--r--runtime/themes/hex_lavender.toml2
-rw-r--r--runtime/themes/hex_steel.toml6
-rw-r--r--runtime/themes/ingrid.toml5
-rw-r--r--runtime/themes/kanagawa.toml5
-rw-r--r--runtime/themes/meliora.toml6
-rw-r--r--runtime/themes/mellow.toml5
-rw-r--r--runtime/themes/monokai.toml5
-rw-r--r--runtime/themes/monokai_pro.toml5
-rw-r--r--runtime/themes/monokai_pro_machine.toml5
-rw-r--r--runtime/themes/monokai_pro_octagon.toml5
-rw-r--r--runtime/themes/monokai_pro_ristretto.toml5
-rw-r--r--runtime/themes/monokai_pro_spectrum.toml5
-rw-r--r--runtime/themes/night_owl.toml6
-rw-r--r--runtime/themes/nightfox.toml12
-rw-r--r--runtime/themes/noctis.toml7
-rw-r--r--runtime/themes/noctis_bordo.toml6
-rw-r--r--runtime/themes/nord.toml6
-rw-r--r--runtime/themes/nord_light.toml7
-rw-r--r--runtime/themes/onedarker.toml6
-rw-r--r--runtime/themes/onelight.toml6
-rw-r--r--runtime/themes/papercolor-dark.toml6
-rw-r--r--runtime/themes/papercolor-light.toml6
-rw-r--r--runtime/themes/penumbra+.toml5
-rw-r--r--runtime/themes/pop-dark.toml5
-rw-r--r--runtime/themes/rasmus.toml5
-rw-r--r--runtime/themes/rose_pine.toml1
-rw-r--r--runtime/themes/rose_pine_dawn.toml6
-rw-r--r--runtime/themes/rose_pine_moon.toml6
-rw-r--r--runtime/themes/serika-dark.toml6
-rw-r--r--runtime/themes/serika-light.toml6
-rw-r--r--runtime/themes/solarized_dark.toml6
-rw-r--r--runtime/themes/solarized_light.toml7
-rw-r--r--runtime/themes/sonokai.toml6
-rw-r--r--runtime/themes/spacebones_light.toml5
-rw-r--r--runtime/themes/tokyonight.toml5
-rw-r--r--runtime/themes/varua.toml5
53 files changed, 237 insertions, 81 deletions
diff --git a/runtime/themes/ayu_dark.toml b/runtime/themes/ayu_dark.toml
index b297a3ab..15ac0986 100644
--- a/runtime/themes/ayu_dark.toml
+++ b/runtime/themes/ayu_dark.toml
@@ -54,10 +54,10 @@
"error" = { fg = "red", modifiers = ["bold"] }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "blue", modifiers = ["bold"] }
-"diagnostic"= { fg = "red", modifiers = ["underlined"] }
-"diagnostic.info"= { fg = "blue", modifiers = ["underlined"] }
-"diagnostic.warning"= { fg = "yellow", modifiers = ["underlined"] }
-"diagnostic.error"= { fg = "red", modifiers = ["underlined"] }
+"diagnostic.hint" = { underline = { color = "blue", style="curl"} }
+"diagnostic.info"= { underline = { color = "blue", style="curl"} }
+"diagnostic.warning"= { underline = { color = "yellow", style="curl"} }
+"diagnostic.error"= { underline = { color = "red", style="curl"} }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
diff --git a/runtime/themes/ayu_light.toml b/runtime/themes/ayu_light.toml
index ab0283fb..0b4dab12 100644
--- a/runtime/themes/ayu_light.toml
+++ b/runtime/themes/ayu_light.toml
@@ -54,10 +54,10 @@
"error" = { fg = "red", modifiers = ["bold"] }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "blue", modifiers = ["bold"] }
-"diagnostic"= { fg = "red", modifiers = ["underlined"] }
-"diagnostic.info"= { fg = "blue", modifiers = ["underlined"] }
-"diagnostic.warning"= { fg = "yellow", modifiers = ["underlined"] }
-"diagnostic.error"= { fg = "red", modifiers = ["underlined"] }
+"diagnostic.hint"= { underline = { color = "blue", style = "curl" } }
+"diagnostic.info"= { underline = { color = "blue", style = "curl" } }
+"diagnostic.warning"= { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error"= { underline = { color = "red", style = "curl" } }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
diff --git a/runtime/themes/ayu_mirage.toml b/runtime/themes/ayu_mirage.toml
index d6af12fa..fd142a77 100644
--- a/runtime/themes/ayu_mirage.toml
+++ b/runtime/themes/ayu_mirage.toml
@@ -54,10 +54,10 @@
"error" = { fg = "red", modifiers = ["bold"] }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "blue", modifiers = ["bold"] }
-"diagnostic"= { fg = "red", modifiers = ["underlined"] }
-"diagnostic.info"= { fg = "blue", modifiers = ["underlined"] }
-"diagnostic.warning"= { fg = "yellow", modifiers = ["underlined"] }
-"diagnostic.error"= { fg = "red", modifiers = ["underlined"] }
+"diagnostic.hint"= { underline = { color = "blue", style = "curl" } }
+"diagnostic.info"= { underline = { color = "blue", style = "curl" } }
+"diagnostic.warning"= { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error"= { underline = { color = "red", style = "curl" } }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
diff --git a/runtime/themes/bogster.toml b/runtime/themes/bogster.toml
index eb6c4c50..f6d9fdbf 100644
--- a/runtime/themes/bogster.toml
+++ b/runtime/themes/bogster.toml
@@ -72,7 +72,10 @@
"hint" = "bogster-blue"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "bogster-orange", style = "curl"} }
+"diagnostic.error" = { underline = { color = "bogster-lred", style = "curl"} }
+"diagnostic.info" = { underline = { color = "bogster-teal", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "bogster-blue", style = "curl"} }
[palette]
bogster-yellow = "#dcb659"
diff --git a/runtime/themes/bogster_light.toml b/runtime/themes/bogster_light.toml
index 25aa4c80..2270f6ee 100644
--- a/runtime/themes/bogster_light.toml
+++ b/runtime/themes/bogster_light.toml
@@ -72,7 +72,10 @@
"hint" = "bogster-blue"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "bogster-orange", style = "curl"} }
+"diagnostic.error" = { underline = { color = "bogster-lred", style = "curl"} }
+"diagnostic.info" = { underline = { color = "bogster-teal", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "bogster-blue", style = "curl"} }
[palette]
bogster-orange = "#dc7759"
diff --git a/runtime/themes/boo_berry.toml b/runtime/themes/boo_berry.toml
index da78db90..33d7627d 100644
--- a/runtime/themes/boo_berry.toml
+++ b/runtime/themes/boo_berry.toml
@@ -60,7 +60,11 @@
"warning" = { fg = "gold" }
"info" = { fg = "lilac" }
"hint" = { fg = "lilac" }
-"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.warning" = { underline = { color = "bubblegum", style = "curl"} }
+"diagnostic.error" = { underline = { color = "gold", style = "curl"} }
+"diagnostic.info" = { underline = { color = "lilac", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "lilac", style = "curl"} }
[palette]
berry = "#3A2A4D"
diff --git a/runtime/themes/darcula.toml b/runtime/themes/darcula.toml
index 5e88438e..ed2b081a 100644
--- a/runtime/themes/darcula.toml
+++ b/runtime/themes/darcula.toml
@@ -65,7 +65,11 @@
"diff.delta" = "grey"
"diff.minus" = "red"
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl"} }
+"diagnostic.error" = { underline = { color = "red", style = "curl"} }
+"diagnostic.info" = { underline = { color = "grey05", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "grey05", style = "curl"} }
+
"info" = "grey05"
"hint" = "grey05"
"debug" = "grey05"
diff --git a/runtime/themes/doom_acario_dark.toml b/runtime/themes/doom_acario_dark.toml
index 95dc78e0..c103dbfb 100644
--- a/runtime/themes/doom_acario_dark.toml
+++ b/runtime/themes/doom_acario_dark.toml
@@ -73,10 +73,10 @@
'info' = { fg = 'blue', modifiers = ['bold'] }
'hint' = { fg = 'blue', modifiers = ['bold'] }
-'diagnostic'= { fg = 'red', modifiers = ['underlined'] }
-'diagnostic.error'= { fg = 'red', modifiers = ['underlined'] }
-'diagnostic.info'= { fg = 'blue', modifiers = ['underlined'] }
-'diagnostic.warning'= { fg = 'yellow', modifiers = ['underlined'] }
+'diagnostic.hint'= { underline = { color = 'red', style = "curl"} }
+'diagnostic.error'= { underline = { color = 'red', style = "curl"} }
+'diagnostic.info'= { underline = { color = 'blue', style = "curl"} }
+'diagnostic.warning'= { underline = { color = 'yellow', style = "curl"} }
'special' = { fg = 'orange' }
diff --git a/runtime/themes/emacs.toml b/runtime/themes/emacs.toml
index b3a46b92..ea8e711c 100644
--- a/runtime/themes/emacs.toml
+++ b/runtime/themes/emacs.toml
@@ -45,7 +45,7 @@
"ui.background" = { fg = "black", bg = "white" }
"ui.background.separator" = { fg = "black", bg = "white" }
-"ui.cursor" = { fg = "white", bg = "gray70" }
+"ui.cursor" = { fg = "white", bg = "gray70" }
"ui.cursor.primary" = { fg = "white", bg = "black" }
"ui.cursor.match" = { fg = "black", bg = "turquoise" }
"ui.cursor.select" = { fg = "white", bg = "black" }
@@ -68,7 +68,7 @@
"ui.selection" = { bg = "lightgoldenrod1" }
"ui.selection.primary" = { bg = "lightgoldenrod2" }
"ui.virtual.whitespace" = "highlight"
-"ui.virtual.ruler" = { bg ="gray95" }
+"ui.virtual.ruler" = { bg = "gray95" }
"ui.cursorline.primary" = { bg = "darkseagreen2" }
"ui.cursorline.secondary" = { bg = "darkseagreen2" }
@@ -80,7 +80,11 @@
"warning" = { fg = "dark_orange" }
"info" = { fg = "forest_green" }
"hint" = { fg = "dark_cyan" }
-"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "dark_orange", style = "curl" } }
+"diagnostic.info" = { underline = { color = "forest_green", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "dark_cyan", style = "curl" } }
[palette]
black = "#000000"
diff --git a/runtime/themes/everforest_dark.toml b/runtime/themes/everforest_dark.toml
index 63997c9c..67aafbf2 100644
--- a/runtime/themes/everforest_dark.toml
+++ b/runtime/themes/everforest_dark.toml
@@ -88,7 +88,12 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "red"
-"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+
[palette]
diff --git a/runtime/themes/everforest_light.toml b/runtime/themes/everforest_light.toml
index 08876c0c..6daf7963 100644
--- a/runtime/themes/everforest_light.toml
+++ b/runtime/themes/everforest_light.toml
@@ -88,7 +88,11 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "red"
-"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
[palette]
diff --git a/runtime/themes/flatwhite.toml b/runtime/themes/flatwhite.toml
index 2fdc66d0..1743012b 100644
--- a/runtime/themes/flatwhite.toml
+++ b/runtime/themes/flatwhite.toml
@@ -21,6 +21,11 @@
"variable.parameter" = { fg = "blue_text", bg = "blue_bg" }
"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.info" = { underline = { color = "orange_text", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange_text", style = "curl" } }
+"diagnostic.error" = { underline = { color = "diff_delete", style = "curl" } }
+
"info" = { fg = "orange_text", bg = "orange_bg" }
"hint" = { modifiers = ["bold"] }
"warning" = { fg = "orange_text", bg = "orange_bg" }
diff --git a/runtime/themes/fleet_dark.toml b/runtime/themes/fleet_dark.toml
index f885e4eb..f3285a76 100644
--- a/runtime/themes/fleet_dark.toml
+++ b/runtime/themes/fleet_dark.toml
@@ -91,10 +91,10 @@
"warning" = "orange_accent"
"error" = "red_error"
"diagnostic" = { modifiers = [] }
-"diagnostic.hint" = { underline = { color = "light", style = "line" } }
-"diagnostic.info" = { underline = { color = "blue_accent", style = "line" } }
-"diagnostic.warning" = { underline = { color = "yellow_accent", style = "line" } }
-"diagnostic.error" = { underline = { color = "red_error", style = "line" } }
+"diagnostic.hint" = { underline = { color = "light", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue_accent", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow_accent", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red_error", style = "curl" } }
[palette]
background = "#181818"
diff --git a/runtime/themes/gruvbox.toml b/runtime/themes/gruvbox.toml
index 01def874..5d897201 100644
--- a/runtime/themes/gruvbox.toml
+++ b/runtime/themes/gruvbox.toml
@@ -61,7 +61,10 @@
"ui.virtual.whitespace" = "bg2"
"ui.virtual.ruler" = { bg = "bg1" }
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange1", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
"markup.heading" = "aqua1"
"markup.bold" = { modifiers = ["bold"] }
diff --git a/runtime/themes/gruvbox_dark_hard.toml b/runtime/themes/gruvbox_dark_hard.toml
index 9f92d3c7..a1a83e65 100644
--- a/runtime/themes/gruvbox_dark_hard.toml
+++ b/runtime/themes/gruvbox_dark_hard.toml
@@ -21,7 +21,7 @@
"function.macro" = "aqua1"
"function.builtin" = "yellow1"
"tag" = "red1"
-"comment" = { fg = "gray1", modifiers = ["italic"] }
+"comment" = { fg = "gray1", modifiers = ["italic"] }
"constant" = { fg = "purple1" }
"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
"string" = "green1"
@@ -39,7 +39,6 @@
"info" = { fg = "aqua1", bg = "bg1" }
"hint" = { fg = "blue1", bg = "bg1" }
-"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { style = "curl", color = "red0" } }
"diagnostic.warning" = { underline = { style = "curl", color = "orange1" } }
"diagnostic.info" = { underline = { style = "curl", color = "aqua1" } }
@@ -91,8 +90,8 @@ fg4 = "#a89984" # gray0
gray0 = "#a89984"
gray1 = "#928374"
-red0 = "#cc241d" # neutral
-red1 = "#fb4934" # bright
+red0 = "#cc241d" # neutral
+red1 = "#fb4934" # bright
green0 = "#98971a"
green1 = "#b8bb26"
yellow0 = "#d79921"
diff --git a/runtime/themes/gruvbox_light.toml b/runtime/themes/gruvbox_light.toml
index d2245fe9..7c1c765d 100644
--- a/runtime/themes/gruvbox_light.toml
+++ b/runtime/themes/gruvbox_light.toml
@@ -21,7 +21,7 @@
"function.macro" = "aqua1"
"function.builtin" = "yellow1"
"tag" = "red1"
-"comment" = { fg = "gray1", modifiers = ["italic"] }
+"comment" = { fg = "gray1", modifiers = ["italic"] }
"constant" = { fg = "purple1" }
"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
"string" = "green1"
@@ -62,7 +62,10 @@
"ui.virtual.whitespace" = "bg2"
"ui.virtual.ruler" = { bg = "bg1" }
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange1", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
"markup.heading" = "aqua1"
"markup.bold" = { modifiers = ["bold"] }
diff --git a/runtime/themes/heisenberg.toml b/runtime/themes/heisenberg.toml
index b20d3e9c..3c127a3e 100644
--- a/runtime/themes/heisenberg.toml
+++ b/runtime/themes/heisenberg.toml
@@ -59,10 +59,10 @@
"error" = { fg = "chili_powder_red", modifiers = ["bold"] }
"info" = { fg = "crystal_blue", modifiers = ["bold"] }
"hint" = { fg = "crystal_blue", modifiers = ["bold"] }
-"diagnostic"= { fg = "chili_powder_red", modifiers = ["underlined"] }
-"diagnostic.info"= { fg = "crystal_blue", modifiers = ["underlined"] }
-"diagnostic.warning"= { fg = "vapor_yellow", modifiers = ["underlined"] }
-"diagnostic.error"= { fg = "chili_powder_red", modifiers = ["underlined"] }
+"diagnostic.hint" = { underline = {color = "chili_powder_red", style = "curl" } }
+"diagnostic.info" = { underline = {color = "crystal_blue", style = "curl" } }
+"diagnostic.warning" = { underline = {color = "vapor_yellow", style = "curl" } }
+"diagnostic.error" = { underline = {color = "chili_powder_red", style = "curl" } }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
diff --git a/runtime/themes/hex_lavender.toml b/runtime/themes/hex_lavender.toml
index 974c486c..d7c54be6 100644
--- a/runtime/themes/hex_lavender.toml
+++ b/runtime/themes/hex_lavender.toml
@@ -3,7 +3,7 @@ inherits = "hex_steel"
[palette]
t1 = "#0e0e0d"
t2 = "#121311"
-t3 = "#2b3444" #
+t3 = "#2b3444"
t4 = "#61586f"
t5 = "#686e73"
t6 = "#878480"
diff --git a/runtime/themes/hex_steel.toml b/runtime/themes/hex_steel.toml
index 7a2183f8..c9b62559 100644
--- a/runtime/themes/hex_steel.toml
+++ b/runtime/themes/hex_steel.toml
@@ -60,7 +60,11 @@
"ui.virtual.indent-guide" = { fg = "t3" }
"ui.virtual.whitespace" = { fg = "t3" }
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.error" = { underline = { color = "error", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
+"diagnostic.info" = { underline = { color = "info", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "display", style = "curl" } }
+
"error" = { fg = "error", modifiers = ["bold"] }
"warning" = { fg = "warning", modifiers = ["bold"] }
"info" = { fg = "info", modifiers = ["bold"] }
diff --git a/runtime/themes/ingrid.toml b/runtime/themes/ingrid.toml
index 8e70587e..fa1a4fdb 100644
--- a/runtime/themes/ingrid.toml
+++ b/runtime/themes/ingrid.toml
@@ -67,3 +67,8 @@
"error" = "#D74E50"
"info" = "#839A53"
"hint" = "#A6B6CE"
+
+"diagnostic.warning" = { underline = { color = "#D4A520", style = "curl" } }
+"diagnostic.error" = { underline = { color = "#D74E50", style = "curl" } }
+"diagnostic.info" = { underline = { color = "#839A53", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "#A6B6CE", style = "curl" } }
diff --git a/runtime/themes/kanagawa.toml b/runtime/themes/kanagawa.toml
index faeeeb83..f3811111 100644
--- a/runtime/themes/kanagawa.toml
+++ b/runtime/themes/kanagawa.toml
@@ -41,7 +41,10 @@
"ui.cursorline.primary" = { bg = "sumiInk3"}
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.error" = { underline = { color = "samuraiRed", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "roninYellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "waveAqua1", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "dragonBlue", style = "curl" } }
error = "samuraiRed"
warning = "roninYellow"
diff --git a/runtime/themes/meliora.toml b/runtime/themes/meliora.toml
index ecc19f46..d4cb9883 100644
--- a/runtime/themes/meliora.toml
+++ b/runtime/themes/meliora.toml
@@ -54,7 +54,11 @@
"ui.virtual.indent-guide" = { fg = "dark_grey2" }
"ui.virtual.whitespace" = { fg = "grey" }
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "magenta", style = "curl" } }
+
"error" = { fg = "red" }
"warning" = { fg = "orange" }
"info" = { fg = "blue" }
diff --git a/runtime/themes/mellow.toml b/runtime/themes/mellow.toml
index 675cd916..a878df8a 100644
--- a/runtime/themes/mellow.toml
+++ b/runtime/themes/mellow.toml
@@ -93,7 +93,10 @@
"ui.menu.selected" = { fg = "bright_white", bg = "gray03" }
"ui.menu.scroll" = { fg = "gray04", bg = "gray01" }
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "bright_yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "bright_red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "bright_blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "bright_cyan", style = "curl" } }
warning = "bright_yellow"
error = "bright_red"
diff --git a/runtime/themes/monokai.toml b/runtime/themes/monokai.toml
index 0935ceff..92b81a8e 100644
--- a/runtime/themes/monokai.toml
+++ b/runtime/themes/monokai.toml
@@ -85,7 +85,10 @@
"info" = { fg = "#75beff" }
"hint" = { fg = "#eeeeeb3" }
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "#cca700", style = "curl" } }
+"diagnostic.error" = { underline = { color = "#f48771", style = "curl" } }
+"diagnostic.info" = { underline = { color = "#75beff", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "#eeeeeb3", style = "curl" } }
[palette]
type = "#A6E22E"
diff --git a/runtime/themes/monokai_pro.toml b/runtime/themes/monokai_pro.toml
index a5cbfdcf..276f1f94 100644
--- a/runtime/themes/monokai_pro.toml
+++ b/runtime/themes/monokai_pro.toml
@@ -90,7 +90,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"
diff --git a/runtime/themes/monokai_pro_machine.toml b/runtime/themes/monokai_pro_machine.toml
index 4360d622..ae391f3d 100644
--- a/runtime/themes/monokai_pro_machine.toml
+++ b/runtime/themes/monokai_pro_machine.toml
@@ -87,7 +87,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"
diff --git a/runtime/themes/monokai_pro_octagon.toml b/runtime/themes/monokai_pro_octagon.toml
index 8bcaeebc..70e8f05b 100644
--- a/runtime/themes/monokai_pro_octagon.toml
+++ b/runtime/themes/monokai_pro_octagon.toml
@@ -90,7 +90,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"
diff --git a/runtime/themes/monokai_pro_ristretto.toml b/runtime/themes/monokai_pro_ristretto.toml
index 0dad50d4..ab740446 100644
--- a/runtime/themes/monokai_pro_ristretto.toml
+++ b/runtime/themes/monokai_pro_ristretto.toml
@@ -87,7 +87,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"
diff --git a/runtime/themes/monokai_pro_spectrum.toml b/runtime/themes/monokai_pro_spectrum.toml
index f5787ca8..451f7986 100644
--- a/runtime/themes/monokai_pro_spectrum.toml
+++ b/runtime/themes/monokai_pro_spectrum.toml
@@ -87,7 +87,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "magenta", style = "curl" } } # maybe should be red?
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"
diff --git a/runtime/themes/night_owl.toml b/runtime/themes/night_owl.toml
index 55b09fbc..7ef6e214 100644
--- a/runtime/themes/night_owl.toml
+++ b/runtime/themes/night_owl.toml
@@ -5,7 +5,11 @@
'error' = { fg = 'red', modifiers = ['dim'] }
'info' = { fg = 'blue', modifiers = ['dim'] }
'hint' = { fg = 'paleblue', modifiers = ['dim'] }
-'diagnostic' = { modifiers = ['underlined'] }
+
+"diagnostic.warning" = { underline = { color = "peach", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "paleblue", style = "curl" } }
# UI
'ui.background' = { fg = 'foreground', bg = 'background' }
diff --git a/runtime/themes/nightfox.toml b/runtime/themes/nightfox.toml
index c4cbbce0..1f248d5c 100644
--- a/runtime/themes/nightfox.toml
+++ b/runtime/themes/nightfox.toml
@@ -60,15 +60,15 @@
# DIAGNOSTICS
-"warning" = { fg ="yellow", bg = "bg1" } # Diagnostics warning (gutter)
+"warning" = { fg = "yellow", bg = "bg1" } # Diagnostics warning (gutter)
"error" = { fg = "red", bg = "bg1" } # Diagnostics error (gutter)
"info" = { fg = "blue", bg = "bg1" } # Diagnostics info (gutter)
"hint" = { fg = "green", bg = "bg1" } # Diagnostics hint (gutter)
-"diagnostic" = { modifiers = ["underlined"] } # Diagnostics fallback style (editing area)
-"diagnostic.error" = { fg = "red" } # Diagnostics error (editing area)
-"diagnostic.warning" = { fg = "yellow" } # Diagnostics warning (editing area)
-"diagnostic.info" = { fg = "blue" } # Diagnostics info (editing area)
-"diagnostic.hint" = { fg = "green" } # Diagnostics hint (editing area)
+
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } } # Diagnostics warning (editing area)
+"diagnostic.error" = { underline = { color = "red", style = "curl" } } # Diagnostics error (editing area)
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } } # Diagnostics info (editing area)
+"diagnostic.hint" = { underline = { color = "green", style = "curl" } } # Diagnostics hint (editing area)
# SYNTAX HIGHLIGHTING
diff --git a/runtime/themes/noctis.toml b/runtime/themes/noctis.toml
index 1740a924..e5abbec0 100644
--- a/runtime/themes/noctis.toml
+++ b/runtime/themes/noctis.toml
@@ -10,7 +10,12 @@
"info" = { fg = "mid-blue", bg = "mid-green" } # Code diagnostic info in gutter (LSP).
# ? Difference between info and hint ?
"hint" = { fg = "light-green", modifiers = ["bold"] } # Code diagnostics hint in gutter (LSP).
-"diagnostic" = { modifiers = ["underlined"] } # Code diagnostics in editing area (LSP).
+
+# Code diagnostics in editing area (LSP).
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "mid-blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "light-green", style = "curl" } }
# UI ==============================
# For styling helix itself.
diff --git a/runtime/themes/noctis_bordo.toml b/runtime/themes/noctis_bordo.toml
index b15a3f8e..d446543d 100644
--- a/runtime/themes/noctis_bordo.toml
+++ b/runtime/themes/noctis_bordo.toml
@@ -54,7 +54,11 @@
"diff.plus" = "base0B"
"diff.minus" = "base08"
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.info" = { underline = { color = "base0D", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base03", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "base09", style = "curl" } }
+"diagnostic.error" = { underline = { color = "base08", style = "curl" } }
+
"ui.gutter" = { bg = "base01" }
"info" = "base0D"
"hint" = "base03"
diff --git a/runtime/themes/nord.toml b/runtime/themes/nord.toml
index 6260ddbe..7eba10ac 100644
--- a/runtime/themes/nord.toml
+++ b/runtime/themes/nord.toml
@@ -98,6 +98,12 @@
"markup.link.text" = "nord8"
"markup.raw" = "nord7"
+# lsp diagnostics
+"diagnostic.error" = { underline = { color = "nord11", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.info" = { underline = { color = "nord8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "nord8", style = "curl" } }
+
# vcs
"diff.plus" = "nord14"
"diff.delta" = "nord12"
diff --git a/runtime/themes/nord_light.toml b/runtime/themes/nord_light.toml
index eb947d03..b37d3596 100644
--- a/runtime/themes/nord_light.toml
+++ b/runtime/themes/nord_light.toml
@@ -26,9 +26,10 @@
"ui.statusline.select" = { fg = "nord0", bg = "nord15" }
-"diagnostic.error" = {fg="nord11", modifiers=["bold"]}
-"diagnostic.warning" = {bg="nord13", modifiers=["bold"]}
-"diagnostic.hint" = {fg="nord13", modifiers=["bold"]}
+"diagnostic.error" = { underline = { color = "nord11", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.info" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "nord13", style = "curl" } }
"constant.numeric" = {fg="nord15"}
"constant.builtin" = {fg="nord15"}
diff --git a/runtime/themes/onedarker.toml b/runtime/themes/onedarker.toml
index 665f10ed..7a6e4a62 100644
--- a/runtime/themes/onedarker.toml
+++ b/runtime/themes/onedarker.toml
@@ -41,7 +41,11 @@
"diff.delta" = "gold"
"diff.minus" = "red"
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.info".underline = { color = "blue", style = "curl" }
+"diagnostic.hint".underline = { color = "green", style = "curl" }
+"diagnostic.warning".underline = { color = "yellow", style = "curl" }
+"diagnostic.error".underline = { color = "red", style = "curl" }
+
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "green", modifiers = ["bold"] }
"warning" = { fg = "yellow", modifiers = ["bold"] }
diff --git a/runtime/themes/onelight.toml b/runtime/themes/onelight.toml
index a21c8ba2..ad900a78 100644
--- a/runtime/themes/onelight.toml
+++ b/runtime/themes/onelight.toml
@@ -63,7 +63,11 @@
"diff.delta" = "gold"
"diff.minus" = "red"
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.info".underline = { color = "blue", style = "curl" }
+"diagnostic.hint".underline = { color = "green", style = "curl" }
+"diagnostic.warning".underline = { color = "yellow", style = "curl" }
+"diagnostic.error".underline = { color = "red", style = "curl" }
+
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "green", modifiers = ["bold"] }
"warning" = { fg = "yellow", modifiers = ["bold"] }
diff --git a/runtime/themes/papercolor-dark.toml b/runtime/themes/papercolor-dark.toml
index 940aacfe..d4b62660 100644
--- a/runtime/themes/papercolor-dark.toml
+++ b/runtime/themes/papercolor-dark.toml
@@ -73,7 +73,11 @@
"warning" = "bright4"
"error" = "regular1"
"info" = "bright4"
-diagnostic = { modifiers = ["bold", "underlined"]}
+
+"diagnostic.warning".underline = { color = "bright4", style = "curl" }
+"diagnostic.error".underline = { color = "regular1", style = "curl" }
+"diagnostic.info".underline = { color = "bright4", style = "curl" }
+"diagnostic.hint".underline = { color = "bright4", style = "curl" }
[palette]
diff --git a/runtime/themes/papercolor-light.toml b/runtime/themes/papercolor-light.toml
index 70b973d3..0d3fc77c 100644
--- a/runtime/themes/papercolor-light.toml
+++ b/runtime/themes/papercolor-light.toml
@@ -72,7 +72,11 @@
"warning" = "bright4"
"error" = "regular1"
"info" = "#FFAF00"
-diagnostic = { modifiers = ["bold", "underlined"]}
+
+"diagnostic.warning".underline = { color = "bright4", style = "curl" }
+"diagnostic.error".underline = { color = "regular1", style = "curl" }
+"diagnostic.info".underline = { color = "#FFAF00", style = "curl" }
+"diagnostic.hint".underline = { color = "#FFAF00", style = "curl" }
[palette]
diff --git a/runtime/themes/penumbra+.toml b/runtime/themes/penumbra+.toml
index 79059832..62db2f8a 100644
--- a/runtime/themes/penumbra+.toml
+++ b/runtime/themes/penumbra+.toml
@@ -43,7 +43,10 @@ info = "sky"
warning = "yellow"
error = "red"
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.hint".underline = { color = "sky-", style = "curl" }
+"diagnostic.info".underline = { color = "sky", style = "curl" }
+"diagnostic.warning".underline = { color = "yellow", style = "curl" }
+"diagnostic.error".underline = { color = "red", style = "curl" }
"ui.background" = { bg = "shade" }
"ui.background.separator" = "sky"
diff --git a/runtime/themes/pop-dark.toml b/runtime/themes/pop-dark.toml
index 6ad0111b..bd16f34b 100644
--- a/runtime/themes/pop-dark.toml
+++ b/runtime/themes/pop-dark.toml
@@ -8,7 +8,10 @@ info = { fg = 'yellowH', bg = 'brownD' }
hint = { fg = 'brownD', bg = 'yellowH', modifiers = ['bold'] }
warning = { fg = 'brownD', bg = 'orangeW', modifiers = ['bold'] }
error = { fg = 'brownD', bg = 'redE', modifiers = ['bold'] }
-diagnostic = { fg = 'greyT', bg = 'redD' }
+"diagnostic.info".underline = { color = "yellowH", style = "curl" }
+"diagnostic.hint".underline = { color = "yellowH", style = "curl" }
+"diagnostic.warning".underline = { color = "orangeW", style = "curl" }
+"diagnostic.error".underline = { color = "redE", style = "curl" }
'ui.background' = { bg = 'brownN' }
'ui.window' = { bg = 'brownH', fg = "brownD" }
'ui.gutter' = { bg = 'brownH' }
diff --git a/runtime/themes/rasmus.toml b/runtime/themes/rasmus.toml
index a7baa83c..996271d3 100644
--- a/runtime/themes/rasmus.toml
+++ b/runtime/themes/rasmus.toml
@@ -100,7 +100,10 @@
"ui.menu.selected" = { fg = "fg", bg = "gray03" }
"ui.menu.scroll" = { fg = "white", bg = "gray01" }
-diagnostic = { modifiers = ["underlined"] }
+"diagnostic.warning".underline = { color = "bright_yellow", style = "curl" }
+"diagnostic.error".underline = { color = "bright_red", style = "curl" }
+"diagnostic.info".underline = { color = "bright_blue", style = "curl" }
+"diagnostic.hint".underline = { color = "bright_cyan", style = "curl" }
warning = "bright_yellow"
error = "bright_red"
diff --git a/runtime/themes/rose_pine.toml b/runtime/themes/rose_pine.toml
index 8558db3a..ee1d6e39 100644
--- a/runtime/themes/rose_pine.toml
+++ b/runtime/themes/rose_pine.toml
@@ -52,7 +52,6 @@
"warning" = "gold"
"error" = "love"
-"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { style = "curl", color = "love" } }
"diagnostic.warning" = { underline = { style = "curl", color = "gold" } }
"diagnostic.info" = { underline = { style = "curl", color = "foam" } }
diff --git a/runtime/themes/rose_pine_dawn.toml b/runtime/themes/rose_pine_dawn.toml
index c6609c21..d9377966 100644
--- a/runtime/themes/rose_pine_dawn.toml
+++ b/runtime/themes/rose_pine_dawn.toml
@@ -45,9 +45,13 @@
"info" = "gold"
"hint" = "gold"
"debug" = "rose"
-"diagnostic" = "rose"
"error" = "love"
+"diagnostic.error" = { underline = { style = "curl", color = "love" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "gold" } }
+"diagnostic.info" = { underline = { style = "curl", color = "foam" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "iris" } }
+
"markup.heading.marker" = "subtle"
"markup.heading.1" = { fg = "love", modifiers = ["bold"] }
"markup.heading.2" = { fg = "gold", modifiers = ["bold"] }
diff --git a/runtime/themes/rose_pine_moon.toml b/runtime/themes/rose_pine_moon.toml
index fc27d2c0..178d623b 100644
--- a/runtime/themes/rose_pine_moon.toml
+++ b/runtime/themes/rose_pine_moon.toml
@@ -51,9 +51,13 @@
"info" = "gold"
"hint" = "gold"
"debug" = "rose"
-"diagnostic" = "rose"
"error" = "love"
+"diagnostic.error" = { underline = { style = "curl", color = "love" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "gold" } }
+"diagnostic.info" = { underline = { style = "curl", color = "foam" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "iris" } }
+
"markup.heading.marker" = "subtle"
"markup.heading.1" = { fg = "love", modifiers = ["bold"] }
"markup.heading.2" = { fg = "gold", modifiers = ["bold"] }
diff --git a/runtime/themes/serika-dark.toml b/runtime/themes/serika-dark.toml
index 2b4000ac..480dc2cc 100644
--- a/runtime/themes/serika-dark.toml
+++ b/runtime/themes/serika-dark.toml
@@ -57,7 +57,11 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "nasty-red"
-"diagnostic" = { fg = "nasty-red", modifiers = ["underlined"] }
+
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.info" = { underline = { style = "curl", color = "aqua" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "nasty-red" } }
"diff.plus" = { fg = "green" }
"diff.delta" = { fg = "orange" }
diff --git a/runtime/themes/serika-light.toml b/runtime/themes/serika-light.toml
index 99d4b7f1..8a62e23d 100644
--- a/runtime/themes/serika-light.toml
+++ b/runtime/themes/serika-light.toml
@@ -57,7 +57,11 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "nasty-red"
-"diagnostic" = { fg = "nasty-red", modifiers = ["underlined"] }
+
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.info" = { underline = { style = "curl", color = "aqua" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "nasty-red" } }
"diff.plus" = { fg = "bg_green" }
"diff.delta" = { fg = "bg_blue" }
diff --git a/runtime/themes/solarized_dark.toml b/runtime/themes/solarized_dark.toml
index 15b3cd5e..a81c9299 100644
--- a/runtime/themes/solarized_dark.toml
+++ b/runtime/themes/solarized_dark.toml
@@ -101,7 +101,11 @@
"error" = { fg = "red", modifiers= ["bold", "underlined"] }
"info" = { fg = "blue", modifiers= ["bold", "underlined"] }
"hint" = { fg = "base01", modifiers= ["bold", "underlined"] }
-"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.warning" = { underline = { style = "curl", color = "orange" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.info" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "base01" } }
[palette]
# 深色 越来越深
diff --git a/runtime/themes/solarized_light.toml b/runtime/themes/solarized_light.toml
index 737829a6..849751e8 100644
--- a/runtime/themes/solarized_light.toml
+++ b/runtime/themes/solarized_light.toml
@@ -118,7 +118,12 @@
"error" = { fg = "red", modifiers= ["bold", "underlined"] }
"info" = { fg = "blue", modifiers= ["bold", "underlined"] }
"hint" = { fg = "base01", modifiers= ["bold", "underlined"] }
-"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.warning" = { underline = { style = "curl", color = "orange" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.info" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "base01" } }
+
[palette]
red = '#dc322f'
diff --git a/runtime/themes/sonokai.toml b/runtime/themes/sonokai.toml
index 18417f00..19f187d5 100644
--- a/runtime/themes/sonokai.toml
+++ b/runtime/themes/sonokai.toml
@@ -75,7 +75,11 @@ info = { fg = 'green', bg = 'bg2' }
hint = { fg = 'blue', bg = 'bg2', modifiers = ['bold'] }
warning = { fg = 'yellow', bg = 'bg2', modifiers = ['bold'] }
error = { fg = 'red', bg = 'bg2', modifiers = ['bold'] }
-diagnostic = { modifiers = ['underlined'] }
+
+"diagnostic.info" = { underline = { style = "curl", color = "green" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
diff --git a/runtime/themes/spacebones_light.toml b/runtime/themes/spacebones_light.toml
index 0956afd2..f01b19dc 100644
--- a/runtime/themes/spacebones_light.toml
+++ b/runtime/themes/spacebones_light.toml
@@ -72,7 +72,10 @@
"ui.virtual" = "base-dim"
"ui.virtual.ruler" = { bg = "bg1" }
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.warning" = { underline = { style = "curl", color = "meta" } }
+"diagnostic.error" = { underline = { style = "curl", color = "#e0211d" } }
+"diagnostic.info" = { underline = { style = "curl", color = "theme_yellow" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "bg2" } }
[palette]
base = "#655370"
diff --git a/runtime/themes/tokyonight.toml b/runtime/themes/tokyonight.toml
index 4847d92c..35ceaeba 100644
--- a/runtime/themes/tokyonight.toml
+++ b/runtime/themes/tokyonight.toml
@@ -54,7 +54,10 @@
"warning" = { fg = "yellow" }
"info" = { fg = "blue" }
"hint" = { fg = "teal" }
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.info" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "teal" } }
"special" = { fg = "orange" }
"markup.heading" = { fg = "cyan", modifiers = ["bold"] }
diff --git a/runtime/themes/varua.toml b/runtime/themes/varua.toml
index 7ef502a6..c1afaca0 100644
--- a/runtime/themes/varua.toml
+++ b/runtime/themes/varua.toml
@@ -70,7 +70,10 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "red"
-"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.info" = { underline = { style = "curl", color = "aqua" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
[palette]
bg0 = "#282828"