From 969a41f6582505af936be8fb32b8c318c0ff2a76 Mon Sep 17 00:00:00 2001 From: Carlos Gutierrez Date: Wed, 4 Feb 2026 00:26:41 -0500 Subject: [PATCH] feature: Extend Cyberpunk palette for TypeScript support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cyberpunk palette is now complete: - Neon pink keywords - Matrix green functions/strings - Electric cyan accents - Neon yellow variables - Cyber purple types - Blue-tinted comments - Dark teal backgrounds - typescriptBlock → Cyan #8BE9FD - typescriptBraces → Cyan #8BE9FD - typescriptParens → Purple-gray #A0A0C0 - typescriptIdentifierName → Yellow #F1FA8C (matches variables) - typescriptVariable → Yellow #F1FA8C - typescriptTypeReference → Purple #BD93F9 - Plus other TypeScript keywords and functions --- lua/cargdev-cyberpunk/colors.lua | 11 ++++---- lua/cargdev-cyberpunk/highlights.lua | 28 +++++++++++++++---- .../themes/cargdev-cyberpunk-color-theme.json | 4 +-- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/lua/cargdev-cyberpunk/colors.lua b/lua/cargdev-cyberpunk/colors.lua index 4dcd247..393d95b 100644 --- a/lua/cargdev-cyberpunk/colors.lua +++ b/lua/cargdev-cyberpunk/colors.lua @@ -18,11 +18,12 @@ M.palette = { }, fg = { - primary = "#E0E0E0", - secondary = "#B8B8B8", - muted = "#888888", + primary = "#F8F8F2", + secondary = "#BFBFBF", + muted = "#6272A4", accent = "#8BE9FD", - unused = "#555555", + unused = "#4A5568", + bracket = "#A0A0C0", }, syntax = { @@ -30,7 +31,7 @@ M.palette = { ["function"] = "#50FA7B", string = "#5AF78E", number = "#FFB86C", - comment = "#666666", + comment = "#6272A4", type = "#BD93F9", constant = "#FFB86C", operator = "#FF79C6", diff --git a/lua/cargdev-cyberpunk/highlights.lua b/lua/cargdev-cyberpunk/highlights.lua index 0fc3e65..569dad9 100644 --- a/lua/cargdev-cyberpunk/highlights.lua +++ b/lua/cargdev-cyberpunk/highlights.lua @@ -158,6 +158,24 @@ function M.get_groups(colors, config) Error = { fg = c.special.error, bold = true }, Todo = { fg = c.special.warning, bold = true }, + -- ============================================================ + -- Language-specific (TypeScript/JavaScript) + -- ============================================================ + typescriptBlock = { fg = c.fg.accent }, + typescriptBraces = { fg = c.fg.accent }, + typescriptParens = { fg = c.fg.bracket }, + typescriptEndColons = { fg = c.fg.bracket }, + typescriptIdentifierName = { fg = c.syntax.variable }, + typescriptVariable = { fg = c.syntax.variable }, + typescriptVariableDeclaration = { fg = c.syntax.variable }, + typescriptTypeReference = { fg = c.syntax.type }, + typescriptImport = { fg = c.syntax.keyword }, + typescriptExport = { fg = c.syntax.keyword }, + typescriptFuncKeyword = { fg = c.syntax.keyword }, + typescriptArrowFunc = { fg = c.syntax.keyword }, + typescriptCall = { fg = c.syntax["function"] }, + typescriptMember = { fg = c.syntax.property }, + -- ============================================================ -- Treesitter highlights -- ============================================================ @@ -245,10 +263,10 @@ function M.get_groups(colors, config) ["@tag.attribute"] = { fg = c.syntax.property }, ["@tag.delimiter"] = { fg = c.fg.muted }, - ["@punctuation"] = { fg = c.fg.secondary }, - ["@punctuation.bracket"] = { fg = c.fg.secondary }, - ["@punctuation.delimiter"] = { fg = c.fg.secondary }, - ["@punctuation.special"] = { fg = c.syntax.property }, + ["@punctuation"] = { fg = c.fg.bracket }, + ["@punctuation.bracket"] = { fg = c.fg.bracket }, + ["@punctuation.delimiter"] = { fg = c.fg.bracket }, + ["@punctuation.special"] = { fg = c.fg.accent }, -- ============================================================ -- LSP semantic tokens @@ -290,7 +308,7 @@ function M.get_groups(colors, config) DiagnosticVirtualTextHint = { fg = c.special.hint, italic = true }, DiagnosticVirtualTextOk = { fg = c.special.success, italic = true }, - DiagnosticUnderlineError = { fg = c.special.error, sp = c.special.error, undercurl = true }, + DiagnosticUnderlineError = { sp = c.special.error, undercurl = true }, DiagnosticUnderlineWarn = { sp = c.special.warning, undercurl = true }, DiagnosticUnderlineInfo = { sp = c.special.info, undercurl = true }, DiagnosticUnderlineHint = { sp = c.special.hint, undercurl = true }, diff --git a/vscode/themes/cargdev-cyberpunk-color-theme.json b/vscode/themes/cargdev-cyberpunk-color-theme.json index ef30567..a624e94 100644 --- a/vscode/themes/cargdev-cyberpunk-color-theme.json +++ b/vscode/themes/cargdev-cyberpunk-color-theme.json @@ -213,7 +213,7 @@ "punctuation.definition.comment" ], "settings": { - "foreground": "#666666", + "foreground": "#6272A4", "fontStyle": "italic" } }, @@ -777,7 +777,7 @@ }, "modifier": "#FF79C6", "comment": { - "foreground": "#666666", + "foreground": "#6272A4", "fontStyle": "italic" }, "string": "#5AF78E",