From 6b3802d5d98cf6ac3b7ec391d4f4812f6cd5a52d Mon Sep 17 00:00:00 2001 From: Toshimaru Date: Fri, 5 Sep 2025 09:10:27 +0900 Subject: [PATCH] Use chroma built-in styles --- cmd/root.go | 2 +- styles/abap.go | 18 --------- styles/api.go | 37 ------------------ styles/api_test.go | 33 ---------------- styles/dracula.go | 81 --------------------------------------- styles/emacs.go | 51 ------------------------ styles/monokai.go | 36 ----------------- styles/monokailight.go | 33 ---------------- styles/pygments.go | 55 -------------------------- styles/solarized-dark.go | 46 ---------------------- styles/solarized-light.go | 24 ------------ styles/swapoff.go | 25 ------------ styles/vim.go | 36 ----------------- 13 files changed, 1 insertion(+), 476 deletions(-) delete mode 100644 styles/abap.go delete mode 100644 styles/api.go delete mode 100644 styles/api_test.go delete mode 100644 styles/dracula.go delete mode 100644 styles/emacs.go delete mode 100644 styles/monokai.go delete mode 100644 styles/monokailight.go delete mode 100644 styles/pygments.go delete mode 100644 styles/solarized-dark.go delete mode 100644 styles/solarized-light.go delete mode 100644 styles/swapoff.go delete mode 100644 styles/vim.go diff --git a/cmd/root.go b/cmd/root.go index bb45f91..91fcf7e 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -9,10 +9,10 @@ import ( "github.com/alecthomas/chroma/v2" "github.com/alecthomas/chroma/v2/formatters" "github.com/alecthomas/chroma/v2/lexers" + "github.com/alecthomas/chroma/v2/styles" "github.com/mattn/go-colorable" "github.com/mattn/go-isatty" "github.com/spf13/cobra" - "github.com/toshimaru/nyan/styles" ) var ( diff --git a/styles/abap.go b/styles/abap.go deleted file mode 100644 index 3edb691..0000000 --- a/styles/abap.go +++ /dev/null @@ -1,18 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// Abap style. -var Abap = Register(chroma.MustNewStyle("abap", chroma.StyleEntries{ - chroma.Comment: "italic #888", - chroma.CommentSpecial: "#888", - chroma.Keyword: "#00f", - chroma.OperatorWord: "#00f", - chroma.Name: "#000", - chroma.LiteralNumber: "#3af", - chroma.LiteralString: "#5a2", - chroma.Error: "#F00", - // chroma.Background: " bg:#ffffff", -})) diff --git a/styles/api.go b/styles/api.go deleted file mode 100644 index 8c0dbe0..0000000 --- a/styles/api.go +++ /dev/null @@ -1,37 +0,0 @@ -package styles - -import ( - "sort" - - "github.com/alecthomas/chroma/v2" -) - -// Registry of Styles. -var Registry = map[string]*chroma.Style{} - -// Fallback style. Reassign to change the default fallback style. -var Fallback = SwapOff - -// Register a chroma.Style. -func Register(style *chroma.Style) *chroma.Style { - Registry[style.Name] = style - return style -} - -// Names of all available styles. -func Names() []string { - out := []string{} - for name := range Registry { - out = append(out, name) - } - sort.Strings(out) - return out -} - -// Get named style, or Fallback. -func Get(name string) *chroma.Style { - if style, ok := Registry[name]; ok { - return style - } - return Fallback -} diff --git a/styles/api_test.go b/styles/api_test.go deleted file mode 100644 index 2992fb3..0000000 --- a/styles/api_test.go +++ /dev/null @@ -1,33 +0,0 @@ -package styles - -import ( - "testing" - - "github.com/alecthomas/chroma/v2" - "github.com/stretchr/testify/assert" -) - -func TestNames(t *testing.T) { - names := Names() - - assert.Equal(t, []string{"abap", "dracula", "emacs", "monokai", "monokailight", "pygments", "solarized-dark", "solarized-light", "swapoff", "vim"}, names) -} - -func TestGetValidStyle(t *testing.T) { - style := Get("vim") - - assert.Equal(t, "vim", style.Name) -} - -func TestGetInvalidStyle(t *testing.T) { - style := Get("invalid-style") - - assert.Equal(t, "swapoff", style.Name) -} - -func TestRegister(t *testing.T) { - nesStyle := chroma.MustNewStyle("newstyle", chroma.StyleEntries{}) - style := Register(nesStyle) - - assert.Equal(t, "newstyle", style.Name) -} diff --git a/styles/dracula.go b/styles/dracula.go deleted file mode 100644 index 9a4570f..0000000 --- a/styles/dracula.go +++ /dev/null @@ -1,81 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// Dracula Style -var Dracula = Register(chroma.MustNewStyle("dracula", chroma.StyleEntries{ - chroma.Comment: "#6272a4", - chroma.CommentHashbang: "#6272a4", - chroma.CommentMultiline: "#6272a4", - chroma.CommentPreproc: "#ff79c6", - chroma.CommentSingle: "#6272a4", - chroma.CommentSpecial: "#6272a4", - chroma.Generic: "#f8f8f2", - chroma.GenericDeleted: "#8b080b", - chroma.GenericEmph: "#f8f8f2 underline", - chroma.GenericError: "#f8f8f2", - chroma.GenericHeading: "#f8f8f2 bold", - chroma.GenericInserted: "#f8f8f2 bold", - chroma.GenericOutput: "#44475a", - chroma.GenericPrompt: "#f8f8f2", - chroma.GenericStrong: "#f8f8f2", - chroma.GenericSubheading: "#f8f8f2 bold", - chroma.GenericTraceback: "#f8f8f2", - chroma.GenericUnderline: "underline", - chroma.Error: "#f8f8f2", - chroma.Keyword: "#ff79c6", - chroma.KeywordConstant: "#ff79c6", - chroma.KeywordDeclaration: "#8be9fd italic", - chroma.KeywordNamespace: "#ff79c6", - chroma.KeywordPseudo: "#ff79c6", - chroma.KeywordReserved: "#ff79c6", - chroma.KeywordType: "#8be9fd", - chroma.Literal: "#f8f8f2", - chroma.LiteralDate: "#f8f8f2", - chroma.Name: "#f8f8f2", - chroma.NameAttribute: "#50fa7b", - chroma.NameBuiltin: "#8be9fd italic", - chroma.NameBuiltinPseudo: "#f8f8f2", - chroma.NameClass: "#50fa7b", - chroma.NameConstant: "#f8f8f2", - chroma.NameDecorator: "#f8f8f2", - chroma.NameEntity: "#f8f8f2", - chroma.NameException: "#f8f8f2", - chroma.NameFunction: "#50fa7b", - chroma.NameLabel: "#8be9fd italic", - chroma.NameNamespace: "#f8f8f2", - chroma.NameOther: "#f8f8f2", - chroma.NameTag: "#ff79c6", - chroma.NameVariable: "#8be9fd italic", - chroma.NameVariableClass: "#8be9fd italic", - chroma.NameVariableGlobal: "#8be9fd italic", - chroma.NameVariableInstance: "#8be9fd italic", - chroma.LiteralNumber: "#bd93f9", - chroma.LiteralNumberBin: "#bd93f9", - chroma.LiteralNumberFloat: "#bd93f9", - chroma.LiteralNumberHex: "#bd93f9", - chroma.LiteralNumberInteger: "#bd93f9", - chroma.LiteralNumberIntegerLong: "#bd93f9", - chroma.LiteralNumberOct: "#bd93f9", - chroma.Operator: "#ff79c6", - chroma.OperatorWord: "#ff79c6", - chroma.Other: "#f8f8f2", - chroma.Punctuation: "#f8f8f2", - chroma.LiteralString: "#f1fa8c", - chroma.LiteralStringBacktick: "#f1fa8c", - chroma.LiteralStringChar: "#f1fa8c", - chroma.LiteralStringDoc: "#f1fa8c", - chroma.LiteralStringDouble: "#f1fa8c", - chroma.LiteralStringEscape: "#f1fa8c", - chroma.LiteralStringHeredoc: "#f1fa8c", - chroma.LiteralStringInterpol: "#f1fa8c", - chroma.LiteralStringOther: "#f1fa8c", - chroma.LiteralStringRegex: "#f1fa8c", - chroma.LiteralStringSingle: "#f1fa8c", - chroma.LiteralStringSymbol: "#f1fa8c", - chroma.Text: "#f8f8f2", - chroma.TextWhitespace: "#f8f8f2", - //chroma.Background: "bg:#282a36", -})) diff --git a/styles/emacs.go b/styles/emacs.go deleted file mode 100644 index 01de5ec..0000000 --- a/styles/emacs.go +++ /dev/null @@ -1,51 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// Emacs style. -var Emacs = Register(chroma.MustNewStyle("emacs", chroma.StyleEntries{ - chroma.TextWhitespace: "#bbbbbb", - chroma.Comment: "italic #008800", - chroma.CommentPreproc: "noitalic", - chroma.CommentSpecial: "noitalic bold", - chroma.Keyword: "bold #AA22FF", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "bold #00BB00", - chroma.Operator: "#666666", - chroma.OperatorWord: "bold #AA22FF", - chroma.NameBuiltin: "#AA22FF", - chroma.NameFunction: "#00A000", - chroma.NameClass: "#0000FF", - chroma.NameNamespace: "bold #0000FF", - chroma.NameException: "bold #D2413A", - chroma.NameVariable: "#B8860B", - chroma.NameConstant: "#880000", - chroma.NameLabel: "#A0A000", - chroma.NameEntity: "bold #999999", - chroma.NameAttribute: "#BB4444", - chroma.NameTag: "bold #008000", - chroma.NameDecorator: "#AA22FF", - chroma.LiteralString: "#BB4444", - chroma.LiteralStringDoc: "italic", - chroma.LiteralStringInterpol: "bold #BB6688", - chroma.LiteralStringEscape: "bold #BB6622", - chroma.LiteralStringRegex: "#BB6688", - chroma.LiteralStringSymbol: "#B8860B", - chroma.LiteralStringOther: "#008000", - chroma.LiteralNumber: "#666666", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000080", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "border:#FF0000", - // chroma.Background: " bg:#f8f8f8", -})) diff --git a/styles/monokai.go b/styles/monokai.go deleted file mode 100644 index bba80aa..0000000 --- a/styles/monokai.go +++ /dev/null @@ -1,36 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// Monokai style. -var Monokai = Register(chroma.MustNewStyle("monokai", chroma.StyleEntries{ - chroma.Text: "#f8f8f2", - chroma.Error: "#960050 bg:#1e0010", - chroma.Comment: "#75715e", - chroma.Keyword: "#66d9ef", - chroma.KeywordNamespace: "#f92672", - chroma.Operator: "#f92672", - chroma.Punctuation: "#f8f8f2", - chroma.Name: "#f8f8f2", - chroma.NameAttribute: "#a6e22e", - chroma.NameClass: "#a6e22e", - chroma.NameConstant: "#66d9ef", - chroma.NameDecorator: "#a6e22e", - chroma.NameException: "#a6e22e", - chroma.NameFunction: "#a6e22e", - chroma.NameOther: "#a6e22e", - chroma.NameTag: "#f92672", - chroma.LiteralNumber: "#ae81ff", - chroma.Literal: "#ae81ff", - chroma.LiteralDate: "#e6db74", - chroma.LiteralString: "#e6db74", - chroma.LiteralStringEscape: "#ae81ff", - chroma.GenericDeleted: "#f92672", - chroma.GenericEmph: "italic", - chroma.GenericInserted: "#a6e22e", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "#75715e", - //chroma.Background: "bg:#272822", -})) diff --git a/styles/monokailight.go b/styles/monokailight.go deleted file mode 100644 index fabb8a1..0000000 --- a/styles/monokailight.go +++ /dev/null @@ -1,33 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// MonokaiLight style. -var MonokaiLight = Register(chroma.MustNewStyle("monokailight", chroma.StyleEntries{ - chroma.Text: "#272822", - chroma.Error: "#960050 bg:#1e0010", - chroma.Comment: "#75715e", - chroma.Keyword: "#00a8c8", - chroma.KeywordNamespace: "#f92672", - chroma.Operator: "#f92672", - chroma.Punctuation: "#111111", - chroma.Name: "#111111", - chroma.NameAttribute: "#75af00", - chroma.NameClass: "#75af00", - chroma.NameConstant: "#00a8c8", - chroma.NameDecorator: "#75af00", - chroma.NameException: "#75af00", - chroma.NameFunction: "#75af00", - chroma.NameOther: "#75af00", - chroma.NameTag: "#f92672", - chroma.LiteralNumber: "#ae81ff", - chroma.Literal: "#ae81ff", - chroma.LiteralDate: "#d88200", - chroma.LiteralString: "#d88200", - chroma.LiteralStringEscape: "#8045FF", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - // chroma.Background: " bg:#fafafa", -})) diff --git a/styles/pygments.go b/styles/pygments.go deleted file mode 100644 index 856e387..0000000 --- a/styles/pygments.go +++ /dev/null @@ -1,55 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// Pygments default theme. -var Pygments = Register(chroma.MustNewStyle("pygments", chroma.StyleEntries{ - chroma.Whitespace: "#bbbbbb", - chroma.Comment: "italic #408080", - chroma.CommentPreproc: "noitalic #BC7A00", - - chroma.Keyword: "bold #008000", - chroma.KeywordPseudo: "nobold", - chroma.KeywordType: "nobold #B00040", - - chroma.Operator: "#666666", - chroma.OperatorWord: "bold #AA22FF", - - chroma.NameBuiltin: "#008000", - chroma.NameFunction: "#0000FF", - chroma.NameClass: "bold #0000FF", - chroma.NameNamespace: "bold #0000FF", - chroma.NameException: "bold #D2413A", - chroma.NameVariable: "#19177C", - chroma.NameConstant: "#880000", - chroma.NameLabel: "#A0A000", - chroma.NameEntity: "bold #999999", - chroma.NameAttribute: "#7D9029", - chroma.NameTag: "bold #008000", - chroma.NameDecorator: "#AA22FF", - - chroma.String: "#BA2121", - chroma.StringDoc: "italic", - chroma.StringInterpol: "bold #BB6688", - chroma.StringEscape: "bold #BB6622", - chroma.StringRegex: "#BB6688", - chroma.StringSymbol: "#19177C", - chroma.StringOther: "#008000", - chroma.Number: "#666666", - - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#A00000", - chroma.GenericInserted: "#00A000", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000080", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - - chroma.Error: "border:#FF0000", -})) diff --git a/styles/solarized-dark.go b/styles/solarized-dark.go deleted file mode 100644 index 5916b97..0000000 --- a/styles/solarized-dark.go +++ /dev/null @@ -1,46 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// SolarizedDark style. -var SolarizedDark = Register(chroma.MustNewStyle("solarized-dark", chroma.StyleEntries{ - chroma.Keyword: "#719e07", - chroma.KeywordConstant: "#CB4B16", - chroma.KeywordDeclaration: "#268BD2", - chroma.KeywordReserved: "#268BD2", - chroma.KeywordType: "#DC322F", - chroma.NameAttribute: "#93A1A1", - chroma.NameBuiltin: "#B58900", - chroma.NameBuiltinPseudo: "#268BD2", - chroma.NameClass: "#268BD2", - chroma.NameConstant: "#CB4B16", - chroma.NameDecorator: "#268BD2", - chroma.NameEntity: "#CB4B16", - chroma.NameException: "#CB4B16", - chroma.NameFunction: "#268BD2", - chroma.NameTag: "#268BD2", - chroma.NameVariable: "#268BD2", - chroma.LiteralString: "#2AA198", - chroma.LiteralStringBacktick: "#586E75", - chroma.LiteralStringChar: "#2AA198", - chroma.LiteralStringDoc: "#93A1A1", - chroma.LiteralStringEscape: "#CB4B16", - chroma.LiteralStringHeredoc: "#93A1A1", - chroma.LiteralStringRegex: "#DC322F", - chroma.LiteralNumber: "#2AA198", - chroma.Operator: "#719e07", - chroma.Comment: "#586E75", - chroma.CommentPreproc: "#719e07", - chroma.CommentSpecial: "#719e07", - chroma.GenericDeleted: "#DC322F", - chroma.GenericEmph: "italic", - chroma.GenericError: "#DC322F bold", - chroma.GenericHeading: "#CB4B16", - chroma.GenericInserted: "#719e07", - chroma.GenericStrong: "bold", - chroma.GenericSubheading: "#268BD2", - //chroma.Background: "#93A1A1 bg:#002B36", - chroma.Other: "#CB4B16", -})) diff --git a/styles/solarized-light.go b/styles/solarized-light.go deleted file mode 100644 index ca65f8f..0000000 --- a/styles/solarized-light.go +++ /dev/null @@ -1,24 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// SolarizedLight style. -var SolarizedLight = Register(chroma.MustNewStyle("solarized-light", chroma.StyleEntries{ - chroma.Text: "bg: #eee8d5 #586e75", - chroma.Keyword: "#859900", - chroma.KeywordConstant: "bold", - chroma.KeywordNamespace: "#dc322f bold", - chroma.KeywordType: "bold", - chroma.Name: "#268bd2", - chroma.NameBuiltin: "#cb4b16", - chroma.NameClass: "#cb4b16", - chroma.NameTag: "bold", - chroma.Literal: "#2aa198", - chroma.LiteralNumber: "bold", - chroma.OperatorWord: "#859900", - chroma.Comment: "#93a1a1 italic", - chroma.Generic: "#d33682", - // chroma.Background: " bg:#eee8d5", -})) diff --git a/styles/swapoff.go b/styles/swapoff.go deleted file mode 100644 index ed9a9a0..0000000 --- a/styles/swapoff.go +++ /dev/null @@ -1,25 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// SwapOff theme. -var SwapOff = Register(chroma.MustNewStyle("swapoff", map[chroma.TokenType]string{ - //chroma.Background: "#lightgray bg:#black", - chroma.Number: "bold #ansiyellow", - chroma.Comment: "#ansiteal", - chroma.CommentPreproc: "bold #ansigreen", - chroma.String: "bold #ansiturquoise", - chroma.Keyword: "bold #ansiwhite", - chroma.NameKeyword: "bold #ansiwhite", - chroma.NameBuiltin: "bold #ansiwhite", - chroma.GenericHeading: "bold", - chroma.GenericSubheading: "bold", - chroma.GenericStrong: "bold", - chroma.GenericUnderline: "underline", - chroma.NameTag: "bold", - chroma.NameAttribute: "#ansiteal", - chroma.Error: "#ansired", - chroma.LiteralDate: "bold #ansiyellow", -})) diff --git a/styles/vim.go b/styles/vim.go deleted file mode 100644 index f3674c2..0000000 --- a/styles/vim.go +++ /dev/null @@ -1,36 +0,0 @@ -package styles - -import ( - "github.com/alecthomas/chroma/v2" -) - -// Vim style. -var Vim = Register(chroma.MustNewStyle("vim", chroma.StyleEntries{ - //chroma.Background: "#cccccc bg:#000000", - chroma.Comment: "#000080", - chroma.CommentSpecial: "bold #cd0000", - chroma.Keyword: "#cdcd00", - chroma.KeywordDeclaration: "#00cd00", - chroma.KeywordNamespace: "#cd00cd", - chroma.KeywordType: "#00cd00", - chroma.Operator: "#3399cc", - chroma.OperatorWord: "#cdcd00", - chroma.NameClass: "#00cdcd", - chroma.NameBuiltin: "#cd00cd", - chroma.NameException: "bold #666699", - chroma.NameVariable: "#00cdcd", - chroma.LiteralString: "#cd0000", - chroma.LiteralNumber: "#cd00cd", - chroma.GenericHeading: "bold #000080", - chroma.GenericSubheading: "bold #800080", - chroma.GenericDeleted: "#cd0000", - chroma.GenericInserted: "#00cd00", - chroma.GenericError: "#FF0000", - chroma.GenericEmph: "italic", - chroma.GenericStrong: "bold", - chroma.GenericPrompt: "bold #000080", - chroma.GenericOutput: "#888", - chroma.GenericTraceback: "#04D", - chroma.GenericUnderline: "underline", - chroma.Error: "border:#FF0000", -}))