瀏覽代碼

Fix diff line number contrast for built-in themes (#22464)

Sebastian 2 天之前
父節點
當前提交
a53fae1511
共有 34 個文件被更改,包括 61 次插入71 次删除
  1. 2 2
      .opencode/themes/mytheme.json
  2. 6 4
      packages/opencode/src/cli/cmd/tui/context/theme.tsx
  3. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/aura.json
  4. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/ayu.json
  5. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/carbonfox.json
  6. 1 4
      packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json
  7. 1 4
      packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json
  8. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/catppuccin.json
  9. 1 4
      packages/opencode/src/cli/cmd/tui/context/theme/cobalt2.json
  10. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/cursor.json
  11. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/dracula.json
  12. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/everforest.json
  13. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/flexoki.json
  14. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/github.json
  15. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/gruvbox.json
  16. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/kanagawa.json
  17. 1 4
      packages/opencode/src/cli/cmd/tui/context/theme/lucent-orng.json
  18. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/material.json
  19. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/matrix.json
  20. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/monokai.json
  21. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/nightowl.json
  22. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/nord.json
  23. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/one-dark.json
  24. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/opencode.json
  25. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/orng.json
  26. 1 1
      packages/opencode/src/cli/cmd/tui/context/theme/osaka-jade.json
  27. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/palenight.json
  28. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/rosepine.json
  29. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/solarized.json
  30. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/synthwave84.json
  31. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/tokyonight.json
  32. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/vercel.json
  33. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/vesper.json
  34. 2 2
      packages/opencode/src/cli/cmd/tui/context/theme/zenburn.json

+ 2 - 2
.opencode/themes/mytheme.json

@@ -116,8 +116,8 @@
       "light": "nord5"
     },
     "diffLineNumber": {
-      "dark": "nord2",
-      "light": "nord4"
+      "dark": "#abafb7",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#3B4252",

+ 6 - 4
packages/opencode/src/cli/cmd/tui/context/theme.tsx

@@ -542,8 +542,10 @@ function generateSystem(colors: TerminalColors, mode: "dark" | "light"): ThemeJs
   const diffAlpha = isDark ? 0.22 : 0.14
   const diffAddedBg = tint(bg, ansiColors.green, diffAlpha)
   const diffRemovedBg = tint(bg, ansiColors.red, diffAlpha)
-  const diffAddedLineNumberBg = tint(grays[3], ansiColors.green, diffAlpha)
-  const diffRemovedLineNumberBg = tint(grays[3], ansiColors.red, diffAlpha)
+  const diffContextBg = grays[2]
+  const diffAddedLineNumberBg = tint(diffContextBg, ansiColors.green, diffAlpha)
+  const diffRemovedLineNumberBg = tint(diffContextBg, ansiColors.red, diffAlpha)
+  const diffLineNumber = textMuted
 
   return {
     theme: {
@@ -583,8 +585,8 @@ function generateSystem(colors: TerminalColors, mode: "dark" | "light"): ThemeJs
       diffHighlightRemoved: ansiColors.redBright,
       diffAddedBg,
       diffRemovedBg,
-      diffContextBg: grays[1],
-      diffLineNumber: grays[6],
+      diffContextBg,
+      diffLineNumber,
       diffAddedLineNumberBg,
       diffRemovedLineNumberBg,
 

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/aura.json

@@ -39,7 +39,7 @@
     "diffAddedBg": "#354933",
     "diffRemovedBg": "#3f191a",
     "diffContextBg": "darkBgPanel",
-    "diffLineNumber": "darkBorder",
+    "diffLineNumber": "#898989",
     "diffAddedLineNumberBg": "#162620",
     "diffRemovedLineNumberBg": "#26161a",
     "markdownText": "darkFg",

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/ayu.json

@@ -50,7 +50,7 @@
     "diffAddedBg": "#20303b",
     "diffRemovedBg": "#37222c",
     "diffContextBg": "darkPanel",
-    "diffLineNumber": "darkGutter",
+    "diffLineNumber": "diffContext",
     "diffAddedLineNumberBg": "#1b2b34",
     "diffRemovedLineNumberBg": "#2d1f26",
     "markdownText": "darkFg",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/carbonfox.json

@@ -141,8 +141,8 @@
       "light": "lbg1"
     },
     "diffLineNumber": {
-      "dark": "fg3",
-      "light": "lfg3"
+      "dark": "#808792",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "diffGreenBg",

+ 1 - 4
packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json

@@ -125,10 +125,7 @@
       "dark": "frappeMantle",
       "light": "frappeMantle"
     },
-    "diffLineNumber": {
-      "dark": "frappeSurface1",
-      "light": "frappeSurface1"
-    },
+    "diffLineNumber": "textMuted",
     "diffAddedLineNumberBg": {
       "dark": "#223025",
       "light": "#223025"

+ 1 - 4
packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json

@@ -125,10 +125,7 @@
       "dark": "macMantle",
       "light": "macMantle"
     },
-    "diffLineNumber": {
-      "dark": "macSurface1",
-      "light": "macSurface1"
-    },
+    "diffLineNumber": "textMuted",
     "diffAddedLineNumberBg": {
       "dark": "#223025",
       "light": "#223025"

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/catppuccin.json

@@ -79,7 +79,7 @@
     "diffAddedBg": { "dark": "#24312b", "light": "#d6f0d9" },
     "diffRemovedBg": { "dark": "#3c2a32", "light": "#f6dfe2" },
     "diffContextBg": { "dark": "darkMantle", "light": "lightMantle" },
-    "diffLineNumber": { "dark": "darkSurface1", "light": "lightSurface1" },
+    "diffLineNumber": { "dark": "textMuted", "light": "#5b5d63" },
     "diffAddedLineNumberBg": { "dark": "#1e2a25", "light": "#c9e3cb" },
     "diffRemovedLineNumberBg": { "dark": "#32232a", "light": "#e9d3d6" },
     "markdownText": { "dark": "darkText", "light": "lightText" },

+ 1 - 4
packages/opencode/src/cli/cmd/tui/context/theme/cobalt2.json

@@ -120,10 +120,7 @@
       "dark": "#122738",
       "light": "#f5f7fa"
     },
-    "diffLineNumber": {
-      "dark": "#2d5a7b",
-      "light": "#b0bec5"
-    },
+    "diffLineNumber": "textMuted",
     "diffAddedLineNumberBg": {
       "dark": "#1a3a2a",
       "light": "#e8f5e9"

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/cursor.json

@@ -142,8 +142,8 @@
       "light": "lightPanel"
     },
     "diffLineNumber": {
-      "dark": "#e4e4e442",
-      "light": "#1414147a"
+      "dark": "#eeeeee87",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#3fa26633",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/dracula.json

@@ -112,8 +112,8 @@
       "light": "#e8e8e2"
     },
     "diffLineNumber": {
-      "dark": "currentLine",
-      "light": "#c8c8c2"
+      "dark": "#989aa4",
+      "light": "#686865"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1a3a1a",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/everforest.json

@@ -134,8 +134,8 @@
       "light": "lightStep2"
     },
     "diffLineNumber": {
-      "dark": "darkStep3",
-      "light": "lightStep3"
+      "dark": "#a0a5a7",
+      "light": "#5b5951"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1b2b34",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/flexoki.json

@@ -130,8 +130,8 @@
       "light": "base50"
     },
     "diffLineNumber": {
-      "dark": "base600",
-      "light": "base600"
+      "dark": "#888883",
+      "light": "#5a5955"
     },
     "diffAddedLineNumberBg": {
       "dark": "#152515",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/github.json

@@ -126,8 +126,8 @@
       "light": "lightBgAlt"
     },
     "diffLineNumber": {
-      "dark": "#484f58",
-      "light": "#afb8c1"
+      "dark": "#95999e",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#033a16",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/gruvbox.json

@@ -135,8 +135,8 @@
       "light": "lightBg1"
     },
     "diffLineNumber": {
-      "dark": "darkBg3",
-      "light": "lightBg3"
+      "dark": "#a8a29e",
+      "light": "#564f43"
     },
     "diffAddedLineNumberBg": {
       "dark": "#2a2827",

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/kanagawa.json

@@ -47,7 +47,7 @@
     "diffAddedBg": { "dark": "#252E25", "light": "#EAF3E4" },
     "diffRemovedBg": { "dark": "#362020", "light": "#FBE6E6" },
     "diffContextBg": { "dark": "sumiInk1", "light": "lightPaper" },
-    "diffLineNumber": { "dark": "sumiInk3", "light": "#C7BEB4" },
+    "diffLineNumber": { "dark": "#9090a0", "light": "#65615c" },
     "diffAddedLineNumberBg": { "dark": "#202820", "light": "#DDE8D6" },
     "diffRemovedLineNumberBg": { "dark": "#2D1C1C", "light": "#F2DADA" },
     "markdownText": { "dark": "fujiWhite", "light": "lightText" },

+ 1 - 4
packages/opencode/src/cli/cmd/tui/context/theme/lucent-orng.json

@@ -129,10 +129,7 @@
       "dark": "transparent",
       "light": "transparent"
     },
-    "diffLineNumber": {
-      "dark": "#666666",
-      "light": "#999999"
-    },
+    "diffLineNumber": "textMuted",
     "diffAddedLineNumberBg": {
       "dark": "transparent",
       "light": "transparent"

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/material.json

@@ -128,8 +128,8 @@
       "light": "lightBgAlt"
     },
     "diffLineNumber": {
-      "dark": "#37474f",
-      "light": "#cfd8dc"
+      "dark": "#9aa2a6",
+      "light": "#6a6e70"
     },
     "diffAddedLineNumberBg": {
       "dark": "#2e3c2b",

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/matrix.json

@@ -47,7 +47,7 @@
     "diffAddedBg": { "dark": "#132616", "light": "#e0efde" },
     "diffRemovedBg": { "dark": "#261212", "light": "#f9e5e5" },
     "diffContextBg": { "dark": "matrixInk1", "light": "lightPaper" },
-    "diffLineNumber": { "dark": "matrixInk3", "light": "lightGray" },
+    "diffLineNumber": { "dark": "textMuted", "light": "#556156" },
     "diffAddedLineNumberBg": { "dark": "#0f1b11", "light": "#d6e7d2" },
     "diffRemovedLineNumberBg": { "dark": "#1b1414", "light": "#f2d2d2" },
     "markdownText": { "dark": "rainGreenHi", "light": "lightText" },

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/monokai.json

@@ -114,8 +114,8 @@
       "light": "#f0f0f0"
     },
     "diffLineNumber": {
-      "dark": "#3e3d32",
-      "light": "#d0d0d0"
+      "dark": "#9b9b95",
+      "light": "#686868"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1a3a1a",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/nightowl.json

@@ -114,8 +114,8 @@
       "light": "nightOwlPanel"
     },
     "diffLineNumber": {
-      "dark": "nightOwlMuted",
-      "light": "nightOwlMuted"
+      "dark": "#7791a6",
+      "light": "#7791a6"
     },
     "diffAddedLineNumberBg": {
       "dark": "#0a2e1a",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/nord.json

@@ -116,8 +116,8 @@
       "light": "nord5"
     },
     "diffLineNumber": {
-      "dark": "nord2",
-      "light": "nord4"
+      "dark": "#a9aeb6",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#3B4252",

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/one-dark.json

@@ -51,7 +51,7 @@
     "diffAddedBg": { "dark": "#2c382b", "light": "#eafbe9" },
     "diffRemovedBg": { "dark": "#3a2d2f", "light": "#fce9e8" },
     "diffContextBg": { "dark": "darkBgAlt", "light": "lightBgAlt" },
-    "diffLineNumber": { "dark": "#495162", "light": "#c9c9ca" },
+    "diffLineNumber": { "dark": "#9398a2", "light": "#666666" },
     "diffAddedLineNumberBg": { "dark": "#283427", "light": "#e1f3df" },
     "diffRemovedLineNumberBg": { "dark": "#36292b", "light": "#f5e2e1" },
     "markdownText": { "dark": "darkFg", "light": "lightFg" },

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/opencode.json

@@ -138,8 +138,8 @@
       "light": "lightStep2"
     },
     "diffLineNumber": {
-      "dark": "darkStep3",
-      "light": "lightStep3"
+      "dark": "#8f8f8f",
+      "light": "#595959"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1b2b34",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/orng.json

@@ -142,8 +142,8 @@
       "light": "lightStep2"
     },
     "diffLineNumber": {
-      "dark": "darkStep3",
-      "light": "lightStep3"
+      "dark": "diffContext",
+      "light": "#595755"
     },
     "diffAddedLineNumberBg": {
       "dark": "#162535",

+ 1 - 1
packages/opencode/src/cli/cmd/tui/context/theme/osaka-jade.json

@@ -60,7 +60,7 @@
     "diffAddedBg": { "dark": "#15241c", "light": "#e0eee5" },
     "diffRemovedBg": { "dark": "#241515", "light": "#eee0e0" },
     "diffContextBg": { "dark": "darkBg1", "light": "lightBg1" },
-    "diffLineNumber": { "dark": "darkBg3", "light": "lightBg3" },
+    "diffLineNumber": { "dark": "#828b87", "light": "#5f5e4f" },
     "diffAddedLineNumberBg": { "dark": "#121f18", "light": "#d5e5da" },
     "diffRemovedLineNumberBg": { "dark": "#1f1212", "light": "#e5d5d5" },
     "markdownText": { "dark": "darkFg0", "light": "lightFg0" },

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/palenight.json

@@ -115,8 +115,8 @@
       "light": "#f5f5f5"
     },
     "diffLineNumber": {
-      "dark": "#444760",
-      "light": "#cfd8dc"
+      "dark": "#a0a2af",
+      "light": "#6a6e70"
     },
     "diffAddedLineNumberBg": {
       "dark": "#2e3c2b",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/rosepine.json

@@ -127,8 +127,8 @@
       "light": "dawnSurface"
     },
     "diffLineNumber": {
-      "dark": "muted",
-      "light": "dawnMuted"
+      "dark": "#9491a6",
+      "light": "#6c6875"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1f2d3a",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/solarized.json

@@ -116,8 +116,8 @@
       "light": "base2"
     },
     "diffLineNumber": {
-      "dark": "base01",
-      "light": "base1"
+      "dark": "#8b9b9f",
+      "light": "#5f6969"
     },
     "diffAddedLineNumberBg": {
       "dark": "#073642",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/synthwave84.json

@@ -119,8 +119,8 @@
       "light": "#f5f5f5"
     },
     "diffLineNumber": {
-      "dark": "#495495",
-      "light": "#b0b0b0"
+      "dark": "#959bc1",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1a3a2a",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/tokyonight.json

@@ -136,8 +136,8 @@
       "light": "lightStep2"
     },
     "diffLineNumber": {
-      "dark": "darkStep3",
-      "light": "lightStep3"
+      "dark": "#8f909a",
+      "light": "#59595b"
     },
     "diffAddedLineNumberBg": {
       "dark": "#1b2b34",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/vercel.json

@@ -138,8 +138,8 @@
       "light": "lightBackground"
     },
     "diffLineNumber": {
-      "dark": "gray600",
-      "light": "lightGray600"
+      "dark": "#8a8a8a",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#0F2613",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/vesper.json

@@ -111,8 +111,8 @@
       "light": "#F8F8F8"
     },
     "diffLineNumber": {
-      "dark": "#505050",
-      "light": "#808080"
+      "dark": "textMuted",
+      "light": "#6a6a6a"
     },
     "diffAddedLineNumberBg": {
       "dark": "#0d2818",

+ 2 - 2
packages/opencode/src/cli/cmd/tui/context/theme/zenburn.json

@@ -116,8 +116,8 @@
       "light": "#f5f5e5"
     },
     "diffLineNumber": {
-      "dark": "#6f6f6f",
-      "light": "#b0b0a0"
+      "dark": "#d2d2d2",
+      "light": "textMuted"
     },
     "diffAddedLineNumberBg": {
       "dark": "#4f5f4f",