Add `hover_line_number` color token (#23279)

Danilo Leal and João Marcos created

This enables having a dedicated color for the line number hover state.
That's relevant because line numbers can now be clicked to jump to
cursor location in multibuffers.

Release Notes:

- N/A

---------

Co-authored-by: João Marcos <marcospb19@hotmail.com>

Change summary

assets/themes/andromeda/andromeda.json   |   5 
assets/themes/atelier/atelier.json       | 100 +++++++++++++++----------
assets/themes/ayu/ayu.json               |  15 ++-
assets/themes/gruvbox/gruvbox.json       |  30 ++++---
assets/themes/one/one.json               |  10 +-
assets/themes/rose_pine/rose_pine.json   |  15 ++-
assets/themes/sandcastle/sandcastle.json |   5 
assets/themes/solarized/solarized.json   |  10 +-
assets/themes/summercamp/summercamp.json |   5 
crates/editor/src/element.rs             |   2 
crates/theme/src/default_colors.rs       |   4 
crates/theme/src/fallback_themes.rs      |   1 
crates/theme/src/schema.rs               |   8 ++
crates/theme/src/styles/colors.rs        |   2 
14 files changed, 133 insertions(+), 79 deletions(-)

Detailed changes

assets/themes/andromeda/andromeda.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#21242bff",
         "editor.active_line.background": "#21242bbf",
         "editor.highlighted_line.background": "#21242bff",
-        "editor.line_number": "#f7f7f859",
-        "editor.active_line_number": "#f7f7f8ff",
+        "editor.line_number": "#565960",
+        "editor.active_line_number": "#f8f8f9",
+        "editor.hover_line_number": "#cbcdd0",
         "editor.invisible": "#64646dff",
         "editor.wrap_guide": "#f7f7f80d",
         "editor.active_wrap_guide": "#f7f7f81a",

assets/themes/atelier/atelier.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#221f26ff",
         "editor.active_line.background": "#221f26bf",
         "editor.highlighted_line.background": "#221f26ff",
-        "editor.line_number": "#efecf459",
-        "editor.active_line_number": "#efecf4ff",
+        "editor.line_number": "#656369",
+        "editor.active_line_number": "#d8d8da",
+        "editor.hover_line_number": "#b7b5ba",
         "editor.invisible": "#726c7aff",
         "editor.wrap_guide": "#efecf40d",
         "editor.active_wrap_guide": "#efecf41a",
@@ -444,8 +445,9 @@
         "editor.subheader.background": "#e6e3ebff",
         "editor.active_line.background": "#e6e3ebbf",
         "editor.highlighted_line.background": "#e6e3ebff",
-        "editor.line_number": "#19171c59",
-        "editor.active_line_number": "#19171cff",
+        "editor.line_number": "#a4a2a8",
+        "editor.active_line_number": "#323135",
+        "editor.hover_line_number": "#58565c",
         "editor.invisible": "#726c7aff",
         "editor.wrap_guide": "#19171c0d",
         "editor.active_wrap_guide": "#19171c1a",
@@ -829,8 +831,9 @@
         "editor.subheader.background": "#262622ff",
         "editor.active_line.background": "#262622bf",
         "editor.highlighted_line.background": "#262622ff",
-        "editor.line_number": "#fefbec59",
-        "editor.active_line_number": "#fefbecff",
+        "editor.line_number": "#6d6c66",
+        "editor.active_line_number": "#dadad7",
+        "editor.hover_line_number": "#bab9b5",
         "editor.invisible": "#8b8773ff",
         "editor.wrap_guide": "#fefbec0d",
         "editor.active_wrap_guide": "#fefbec1a",
@@ -1214,8 +1217,9 @@
         "editor.subheader.background": "#eeebd7ff",
         "editor.active_line.background": "#eeebd7bf",
         "editor.highlighted_line.background": "#eeebd7ff",
-        "editor.line_number": "#20201d59",
-        "editor.active_line_number": "#20201dff",
+        "editor.line_number": "#b1afa5",
+        "editor.active_line_number": "#292824",
+        "editor.hover_line_number": "#44433b",
         "editor.invisible": "#8b8773ff",
         "editor.wrap_guide": "#20201d0d",
         "editor.active_wrap_guide": "#20201d1a",
@@ -1599,8 +1603,9 @@
         "editor.subheader.background": "#2c2b23ff",
         "editor.active_line.background": "#2c2b23bf",
         "editor.highlighted_line.background": "#2c2b23ff",
-        "editor.line_number": "#f4f3ec59",
-        "editor.active_line_number": "#f4f3ecff",
+        "editor.line_number": "#6b6b65",
+        "editor.active_line_number": "#e6e6e5",
+        "editor.hover_line_number": "#babab6",
         "editor.invisible": "#7a7867ff",
         "editor.wrap_guide": "#f4f3ec0d",
         "editor.active_wrap_guide": "#f4f3ec1a",
@@ -1984,8 +1989,9 @@
         "editor.subheader.background": "#ebeae3ff",
         "editor.active_line.background": "#ebeae3bf",
         "editor.highlighted_line.background": "#ebeae3ff",
-        "editor.line_number": "#22221b59",
-        "editor.active_line_number": "#22221bff",
+        "editor.line_number": "#abaaa4",
+        "editor.active_line_number": "#282725",
+        "editor.hover_line_number": "#42423d",
         "editor.invisible": "#7a7867ff",
         "editor.wrap_guide": "#22221b0d",
         "editor.active_wrap_guide": "#22221b1a",
@@ -2369,8 +2375,9 @@
         "editor.subheader.background": "#27211eff",
         "editor.active_line.background": "#27211ebf",
         "editor.highlighted_line.background": "#27211eff",
-        "editor.line_number": "#f0eeed59",
-        "editor.active_line_number": "#f0eeedff",
+        "editor.line_number": "#656362k",
+        "editor.active_line_number": "#e6e5e5",
+        "editor.hover_line_number": "#b9b7b7",
         "editor.invisible": "#89817dff",
         "editor.wrap_guide": "#f0eeed0d",
         "editor.active_wrap_guide": "#f0eeed1a",
@@ -2754,8 +2761,9 @@
         "editor.subheader.background": "#e9e6e4ff",
         "editor.active_line.background": "#e9e6e4bf",
         "editor.highlighted_line.background": "#e9e6e4ff",
-        "editor.line_number": "#1b191859",
-        "editor.active_line_number": "#1b1918ff",
+        "editor.line_number": "#a3a19f",
+        "editor.active_line_number": "#272625",
+        "editor.hover_line_number": "#4e4d4b",
         "editor.invisible": "#89817dff",
         "editor.wrap_guide": "#1b19180d",
         "editor.active_wrap_guide": "#1b19181a",
@@ -3139,8 +3147,9 @@
         "editor.subheader.background": "#252025ff",
         "editor.active_line.background": "#252025bf",
         "editor.highlighted_line.background": "#252025ff",
-        "editor.line_number": "#f7f3f759",
-        "editor.active_line_number": "#f7f3f7ff",
+        "editor.line_number": "#555256",
+        "editor.active_line_number": "#e6e5e6",
+        "editor.hover_line_number": "#c0bec1",
         "editor.invisible": "#8b7b8bff",
         "editor.wrap_guide": "#f7f3f70d",
         "editor.active_wrap_guide": "#f7f3f71a",
@@ -3524,8 +3533,9 @@
         "editor.subheader.background": "#e0d5e0ff",
         "editor.active_line.background": "#e0d5e0bf",
         "editor.highlighted_line.background": "#e0d5e0ff",
-        "editor.line_number": "#1b181b59",
-        "editor.active_line_number": "#1b181bff",
+        "editor.line_number": "#a9a7aa",
+        "editor.active_line_number": "#262627",
+        "editor.hover_line_number": "#403f41",
         "editor.invisible": "#8b7b8bff",
         "editor.wrap_guide": "#1b181b0d",
         "editor.active_wrap_guide": "#1b181b1a",
@@ -3909,8 +3919,9 @@
         "editor.subheader.background": "#1c2529ff",
         "editor.active_line.background": "#1c2529bf",
         "editor.highlighted_line.background": "#1c2529ff",
-        "editor.line_number": "#ebf8ff59",
-        "editor.active_line_number": "#ebf8ffff",
+        "editor.line_number": "#61686ck",
+        "editor.active_line_number": "#eaebec",
+        "editor.hover_line_number": "#bcc0c3",
         "editor.invisible": "#66889aff",
         "editor.wrap_guide": "#ebf8ff0d",
         "editor.active_wrap_guide": "#ebf8ff1a",
@@ -4294,8 +4305,9 @@
         "editor.subheader.background": "#cdeaf9ff",
         "editor.active_line.background": "#cdeaf9bf",
         "editor.highlighted_line.background": "#cdeaf9ff",
-        "editor.line_number": "#161b1d59",
-        "editor.active_line_number": "#161b1dff",
+        "editor.line_number": "#a3abafk",
+        "editor.active_line_number": "#242729",
+        "editor.hover_line_number": "#3b4144",
         "editor.invisible": "#66889aff",
         "editor.wrap_guide": "#161b1d0d",
         "editor.active_wrap_guide": "#161b1d1a",
@@ -4679,8 +4691,9 @@
         "editor.subheader.background": "#252020ff",
         "editor.active_line.background": "#252020bf",
         "editor.highlighted_line.background": "#252020ff",
-        "editor.line_number": "#f4ecec59",
-        "editor.active_line_number": "#f4ececff",
+        "editor.line_number": "#666262",
+        "editor.active_line_number": "#e6e5e5",
+        "editor.hover_line_number": "#b9b6b6",
         "editor.invisible": "#726a6aff",
         "editor.wrap_guide": "#f4ecec0d",
         "editor.active_wrap_guide": "#f4ecec1a",
@@ -5064,8 +5077,9 @@
         "editor.subheader.background": "#ebe3e3ff",
         "editor.active_line.background": "#ebe3e3bf",
         "editor.highlighted_line.background": "#ebe3e3ff",
-        "editor.line_number": "#1b181859",
-        "editor.active_line_number": "#1b1818ff",
+        "editor.line_number": "#a7a2a2",
+        "editor.active_line_number": "#272525",
+        "editor.hover_line_number": "#3f3c3c",
         "editor.invisible": "#726a6aff",
         "editor.wrap_guide": "#1b18180d",
         "editor.active_wrap_guide": "#1b18181a",
@@ -5449,8 +5463,9 @@
         "editor.subheader.background": "#1f2621ff",
         "editor.active_line.background": "#1f2621bf",
         "editor.highlighted_line.background": "#1f2621ff",
-        "editor.line_number": "#ecf4ee59",
-        "editor.active_line_number": "#ecf4eeff",
+        "editor.line_number": "#626763",
+        "editor.active_line_number": "#e5e6e5",
+        "editor.hover_line_number": "#b6b9b7",
         "editor.invisible": "#6c7a71ff",
         "editor.wrap_guide": "#ecf4ee0d",
         "editor.active_wrap_guide": "#ecf4ee1a",
@@ -5834,8 +5849,9 @@
         "editor.subheader.background": "#e3ebe6ff",
         "editor.active_line.background": "#e3ebe6bf",
         "editor.highlighted_line.background": "#e3ebe6ff",
-        "editor.line_number": "#171c1959",
-        "editor.active_line_number": "#171c19ff",
+        "editor.line_number": "#a3a9a4",
+        "editor.active_line_number": "#252825",
+        "editor.hover_line_number": "#313532",
         "editor.invisible": "#6c7a71ff",
         "editor.wrap_guide": "#171c190d",
         "editor.active_wrap_guide": "#171c191a",
@@ -6219,8 +6235,9 @@
         "editor.subheader.background": "#1f231fff",
         "editor.active_line.background": "#1f231fbf",
         "editor.highlighted_line.background": "#1f231fff",
-        "editor.line_number": "#f3faf359",
-        "editor.active_line_number": "#f3faf3ff",
+        "editor.line_number": "#626561",
+        "editor.active_line_number": "#e5e6e5",
+        "editor.hover_line_number": "#b7b9b6",
         "editor.invisible": "#738b73ff",
         "editor.wrap_guide": "#f3faf30d",
         "editor.active_wrap_guide": "#f3faf31a",
@@ -6604,8 +6621,9 @@
         "editor.subheader.background": "#daeedaff",
         "editor.active_line.background": "#daeedabf",
         "editor.highlighted_line.background": "#daeedaff",
-        "editor.line_number": "#13151359",
-        "editor.active_line_number": "#131513ff",
+        "editor.line_number": "#a6aaa5",
+        "editor.active_line_number": "#262725",
+        "editor.hover_line_number": "#3f423e",
         "editor.invisible": "#738b73ff",
         "editor.wrap_guide": "#1315130d",
         "editor.active_wrap_guide": "#1315131a",
@@ -6989,8 +7007,9 @@
         "editor.subheader.background": "#262f51ff",
         "editor.active_line.background": "#262f51bf",
         "editor.highlighted_line.background": "#262f51ff",
-        "editor.line_number": "#f5f7ff59",
-        "editor.active_line_number": "#f5f7ffff",
+        "editor.line_number": "#6b6f85",
+        "editor.active_line_number": "#e3e4e8",
+        "editor.hover_line_number": "#b8bac6",
         "editor.invisible": "#7a819cff",
         "editor.wrap_guide": "#f5f7ff0d",
         "editor.active_wrap_guide": "#f5f7ff1a",
@@ -7374,8 +7393,9 @@
         "editor.subheader.background": "#e5e8f5ff",
         "editor.active_line.background": "#e5e8f5bf",
         "editor.highlighted_line.background": "#e5e8f5ff",
-        "editor.line_number": "#20264659",
-        "editor.active_line_number": "#202646ff",
+        "editor.line_number": "#abaebd",
+        "editor.active_line_number": "#22232b",
+        "editor.hover_line_number": "#434656",
         "editor.invisible": "#7a819cff",
         "editor.wrap_guide": "#2026460d",
         "editor.active_wrap_guide": "#2026461a",

assets/themes/ayu/ayu.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#1f2127ff",
         "editor.active_line.background": "#1f2127bf",
         "editor.highlighted_line.background": "#1f2127ff",
-        "editor.line_number": "#bfbdb659",
-        "editor.active_line_number": "#bfbdb6ff",
+        "editor.line_number": "#4b4c4e",
+        "editor.active_line_number": "#cbcccd",
+        "editor.hover_line_number": "#a1a2a5",
         "editor.invisible": "#666767ff",
         "editor.wrap_guide": "#bfbdb60d",
         "editor.active_wrap_guide": "#bfbdb61a",
@@ -429,8 +430,9 @@
         "editor.subheader.background": "#ececedff",
         "editor.active_line.background": "#ececedbf",
         "editor.highlighted_line.background": "#ececedff",
-        "editor.line_number": "#5c616659",
-        "editor.active_line_number": "#5c6166ff",
+        "editor.line_number": "#b0b3b5",
+        "editor.active_line_number": "#313435",
+        "editor.hover_line_number": "#62686a",
         "editor.invisible": "#acafb1ff",
         "editor.wrap_guide": "#5c61660d",
         "editor.active_wrap_guide": "#5c61661a",
@@ -799,8 +801,9 @@
         "editor.subheader.background": "#353944ff",
         "editor.active_line.background": "#353944bf",
         "editor.highlighted_line.background": "#353944ff",
-        "editor.line_number": "#cccac259",
-        "editor.active_line_number": "#cccac2ff",
+        "editor.line_number": "#575c6b",
+        "editor.active_line_number": "#e1e3ea",
+        "editor.hover_line_number": "#b2b6c8",
         "editor.invisible": "#787a7cff",
         "editor.wrap_guide": "#cccac20d",
         "editor.active_wrap_guide": "#cccac21a",

assets/themes/gruvbox/gruvbox.json 🔗

@@ -68,8 +68,9 @@
         "editor.subheader.background": "#3a3735ff",
         "editor.active_line.background": "#3a3735bf",
         "editor.highlighted_line.background": "#3a3735ff",
-        "editor.line_number": "#fbf1c759",
-        "editor.active_line_number": "#fbf1c7ff",
+        "editor.line_number": "#6e6b5e",
+        "editor.active_line_number": "#dedcd3",
+        "editor.hover_line_number": "#c9c5b6",
         "editor.invisible": "#928474ff",
         "editor.wrap_guide": "#fbf1c70d",
         "editor.active_wrap_guide": "#fbf1c71a",
@@ -452,8 +453,9 @@
         "editor.subheader.background": "#393634ff",
         "editor.active_line.background": "#393634bf",
         "editor.highlighted_line.background": "#393634ff",
-        "editor.line_number": "#fbf1c759",
-        "editor.active_line_number": "#fbf1c7ff",
+        "editor.line_number": "#6e6b5e",
+        "editor.active_line_number": "#dedcd3",
+        "editor.hover_line_number": "#c9c5b6",
         "editor.invisible": "#928474ff",
         "editor.wrap_guide": "#fbf1c70d",
         "editor.active_wrap_guide": "#fbf1c71a",
@@ -836,8 +838,9 @@
         "editor.subheader.background": "#3b3735ff",
         "editor.active_line.background": "#3b3735bf",
         "editor.highlighted_line.background": "#3b3735ff",
-        "editor.line_number": "#fbf1c759",
-        "editor.active_line_number": "#fbf1c7ff",
+        "editor.line_number": "#6e6b5e",
+        "editor.active_line_number": "#dedcd3",
+        "editor.hover_line_number": "#c9c5b6",
         "editor.invisible": "#928474ff",
         "editor.wrap_guide": "#fbf1c70d",
         "editor.active_wrap_guide": "#fbf1c71a",
@@ -1220,8 +1223,9 @@
         "editor.subheader.background": "#ecddb4ff",
         "editor.active_line.background": "#ecddb4bf",
         "editor.highlighted_line.background": "#ecddb4ff",
-        "editor.line_number": "#28282859",
-        "editor.active_line_number": "#282828ff",
+        "editor.line_number": "#a9a389",
+        "editor.active_line_number": "#3b382b",
+        "editor.hover_line_number": "#5e5a45",
         "editor.invisible": "#928474ff",
         "editor.wrap_guide": "#2828280d",
         "editor.active_wrap_guide": "#2828281a",
@@ -1604,8 +1608,9 @@
         "editor.subheader.background": "#ecddb5ff",
         "editor.active_line.background": "#ecddb5bf",
         "editor.highlighted_line.background": "#ecddb5ff",
-        "editor.line_number": "#28282859",
-        "editor.active_line_number": "#282828ff",
+        "editor.line_number": "#a9a389",
+        "editor.active_line_number": "#3b382b",
+        "editor.hover_line_number": "#5e5a45",
         "editor.invisible": "#928474ff",
         "editor.wrap_guide": "#2828280d",
         "editor.active_wrap_guide": "#2828281a",
@@ -1988,8 +1993,9 @@
         "editor.subheader.background": "#ecdcb3ff",
         "editor.active_line.background": "#ecdcb3bf",
         "editor.highlighted_line.background": "#ecdcb3ff",
-        "editor.line_number": "#28282859",
-        "editor.active_line_number": "#282828ff",
+        "editor.line_number": "#a9a389",
+        "editor.active_line_number": "#3b382b",
+        "editor.hover_line_number": "#5e5a45",
         "editor.invisible": "#928474ff",
         "editor.wrap_guide": "#2828280d",
         "editor.active_wrap_guide": "#2828281a",

assets/themes/one/one.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#2f343eff",
         "editor.active_line.background": "#2f343ebf",
         "editor.highlighted_line.background": "#2f343eff",
-        "editor.line_number": "#c8ccd459",
-        "editor.active_line_number": "#dce0e5ff",
+        "editor.line_number": "#4e5a5f",
+        "editor.active_line_number": "#d0d4da",
+        "editor.hover_line_number": "#acb0b4",
         "editor.invisible": "#878a98ff",
         "editor.wrap_guide": "#c8ccd40d",
         "editor.active_wrap_guide": "#c8ccd41a",
@@ -434,8 +435,9 @@
         "editor.subheader.background": "#ebebecff",
         "editor.active_line.background": "#ebebecbf",
         "editor.highlighted_line.background": "#ebebecff",
-        "editor.line_number": "#383a4159",
-        "editor.active_line_number": "#242529ff",
+        "editor.line_number": "#b4b4bb",
+        "editor.active_line_number": "#44454b",
+        "editor.hover_line_number": "#61616b",
         "editor.invisible": "#a3a3a4ff",
         "editor.wrap_guide": "#383a410d",
         "editor.active_wrap_guide": "#383a411a",

assets/themes/rose_pine/rose_pine.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#1c1b2aff",
         "editor.active_line.background": "#1c1b2abf",
         "editor.highlighted_line.background": "#1c1b2aff",
-        "editor.line_number": "#e0def459",
-        "editor.active_line_number": "#e0def4ff",
+        "editor.line_number": "#605e6e",
+        "editor.active_line_number": "#c9c8d0",
+        "editor.hover_line_number": "#aeadb8",
         "editor.invisible": "#28253cff",
         "editor.wrap_guide": "#e0def40d",
         "editor.active_wrap_guide": "#e0def41a",
@@ -439,8 +440,9 @@
         "editor.subheader.background": "#fef9f2ff",
         "editor.active_line.background": "#fef9f2bf",
         "editor.highlighted_line.background": "#fef9f2ff",
-        "editor.line_number": "#57527959",
-        "editor.active_line_number": "#575279ff",
+        "editor.line_number": "#b4adb8",
+        "editor.active_line_number": "#4e4752",
+        "editor.hover_line_number": "#685f6d",
         "editor.invisible": "#9691a4ff",
         "editor.wrap_guide": "#5752790d",
         "editor.active_wrap_guide": "#5752791a",
@@ -819,8 +821,9 @@
         "editor.subheader.background": "#28253cff",
         "editor.active_line.background": "#28253cbf",
         "editor.highlighted_line.background": "#28253cff",
-        "editor.line_number": "#e0def459",
-        "editor.active_line_number": "#e0def4ff",
+        "editor.line_number": "#6b697d",
+        "editor.active_line_number": "#d6d5dc",
+        "editor.hover_line_number": "#bbbac5",
         "editor.invisible": "#595571ff",
         "editor.wrap_guide": "#e0def40d",
         "editor.active_wrap_guide": "#e0def41a",

assets/themes/sandcastle/sandcastle.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#2b3038ff",
         "editor.active_line.background": "#2b3038bf",
         "editor.highlighted_line.background": "#2b3038ff",
-        "editor.line_number": "#fdf4c159",
-        "editor.active_line_number": "#fdf4c1ff",
+        "editor.line_number": "#6b6b61",
+        "editor.active_line_number": "#dbdbd7",
+        "editor.hover_line_number": "#b6b6af",
         "editor.invisible": "#7c6f64ff",
         "editor.wrap_guide": "#fdf4c10d",
         "editor.active_wrap_guide": "#fdf4c11a",

assets/themes/solarized/solarized.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#04313bff",
         "editor.active_line.background": "#04313bbf",
         "editor.highlighted_line.background": "#04313bff",
-        "editor.line_number": "#fdf6e359",
-        "editor.active_line_number": "#fdf6e3ff",
+        "editor.line_number": "#5a6d6f",
+        "editor.active_line_number": "#e3e8e8",
+        "editor.hover_line_number": "#abb9ba",
         "editor.invisible": "#6c8287ff",
         "editor.wrap_guide": "#fdf6e30d",
         "editor.active_wrap_guide": "#fdf6e31a",
@@ -429,8 +430,9 @@
         "editor.subheader.background": "#f3eddaff",
         "editor.active_line.background": "#f3eddabf",
         "editor.highlighted_line.background": "#f3eddaff",
-        "editor.line_number": "#002a3559",
-        "editor.active_line_number": "#002a35ff",
+        "editor.line_number": "#a8ad9f",
+        "editor.active_line_number": "#272923",
+        "editor.hover_line_number": "#42453b",
         "editor.invisible": "#6c8287ff",
         "editor.wrap_guide": "#002a350d",
         "editor.active_wrap_guide": "#002a351a",

assets/themes/summercamp/summercamp.json 🔗

@@ -59,8 +59,9 @@
         "editor.subheader.background": "#231f16ff",
         "editor.active_line.background": "#231f16bf",
         "editor.highlighted_line.background": "#231f16ff",
-        "editor.line_number": "#f8f5de59",
-        "editor.active_line_number": "#f8f5deff",
+        "editor.line_number": "#676559",
+        "editor.active_line_number": "#e3e2de",
+        "editor.hover_line_number": "#b8b6ad",
         "editor.invisible": "#494433ff",
         "editor.wrap_guide": "#f8f5de0d",
         "editor.active_wrap_guide": "#f8f5de1a",

crates/editor/src/element.rs 🔗

@@ -3977,6 +3977,8 @@ impl EditorElement {
 
             let color = if is_active {
                 cx.theme().colors().editor_active_line_number
+            } else if !is_singleton && hitbox.is_hovered(cx) {
+                cx.theme().colors().editor_hover_line_number
             } else {
                 cx.theme().colors().editor_line_number
             };

crates/theme/src/default_colors.rs 🔗

@@ -76,6 +76,7 @@ impl ThemeColors {
             editor_active_line_background: neutral().light_alpha().step_3(),
             editor_highlighted_line_background: neutral().light_alpha().step_3(),
             editor_line_number: neutral().light().step_10(),
+            editor_hover_line_number: neutral().light().step_12(),
             editor_active_line_number: neutral().light().step_11(),
             editor_invisible: neutral().light().step_10(),
             editor_wrap_guide: neutral().light_alpha().step_7(),
@@ -182,7 +183,8 @@ impl ThemeColors {
             editor_active_line_background: neutral().dark_alpha().step_3(),
             editor_highlighted_line_background: neutral().dark_alpha().step_4(),
             editor_line_number: neutral().dark_alpha().step_10(),
-            editor_active_line_number: neutral().dark_alpha().step_12(),
+            editor_hover_line_number: neutral().dark_alpha().step_12(),
+            editor_active_line_number: neutral().dark_alpha().step_11(),
             editor_invisible: neutral().dark_alpha().step_4(),
             editor_wrap_guide: neutral().dark_alpha().step_4(),
             editor_active_wrap_guide: neutral().dark_alpha().step_4(),

crates/theme/src/fallback_themes.rs 🔗

@@ -90,6 +90,7 @@ pub(crate) fn zed_default_dark() -> Theme {
                 editor_highlighted_line_background: hsla(207.8 / 360., 81. / 100., 66. / 100., 0.1),
                 editor_line_number: hsla(222.0 / 360., 11.5 / 100., 34.1 / 100., 1.0),
                 editor_active_line_number: hsla(216.0 / 360., 5.9 / 100., 49.6 / 100., 1.0),
+                editor_hover_line_number: hsla(216.0 / 360., 5.9 / 100., 56.7 / 100., 1.0),
                 editor_invisible: hsla(222.0 / 360., 11.5 / 100., 34.1 / 100., 1.0),
                 editor_wrap_guide: hsla(228. / 360., 8. / 100., 25. / 100., 1.),
                 editor_active_wrap_guide: hsla(228. / 360., 8. / 100., 25. / 100., 1.),

crates/theme/src/schema.rs 🔗

@@ -390,6 +390,10 @@ pub struct ThemeColorsContent {
     #[serde(rename = "editor.active_line_number")]
     pub editor_active_line_number: Option<String>,
 
+    /// Text Color. Used for the text of the line number in the editor gutter when the line is hovered over.
+    #[serde(rename = "editor.hover_line_number")]
+    pub editor_hover_line_number: Option<String>,
+
     /// Text Color. Used to mark invisible characters in the editor.
     ///
     /// Example: spaces, tabs, carriage returns, etc.
@@ -793,6 +797,10 @@ impl ThemeColorsContent {
                 .editor_line_number
                 .as_ref()
                 .and_then(|color| try_parse_color(color).ok()),
+            editor_hover_line_number: self
+                .editor_hover_line_number
+                .as_ref()
+                .and_then(|color| try_parse_color(color).ok()),
             editor_active_line_number: self
                 .editor_active_line_number
                 .as_ref()

crates/theme/src/styles/colors.rs 🔗

@@ -152,6 +152,8 @@ pub struct ThemeColors {
     pub editor_line_number: Hsla,
     /// Text Color. Used for the text of the line number in the editor gutter when the line is highlighted.
     pub editor_active_line_number: Hsla,
+    /// Text Color. Used for the text of the line number in the editor gutter when the line is hovered over.
+    pub editor_hover_line_number: Hsla,
     /// Text Color. Used to mark invisible characters in the editor.
     ///
     /// Example: spaces, tabs, carriage returns, etc.