From 6e272cfd920ac37a11e570f025e031599b6fde62 Mon Sep 17 00:00:00 2001 From: Diego Henrique Oliveira Date: Sat, 5 Dec 2020 18:52:38 -0300 Subject: [PATCH] Introduce the Nord theme This commit adds the Nord theme as an option. This theme is fully documented in the official website: https://www.nordtheme.com --- styles/nord.go | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 styles/nord.go diff --git a/styles/nord.go b/styles/nord.go new file mode 100644 index 0000000..0fcbc5d --- /dev/null +++ b/styles/nord.go @@ -0,0 +1,75 @@ +package styles + +import ( + "github.com/alecthomas/chroma" +) + +var ( + // colors and palettes based on https://www.nordtheme.com/docs/colors-and-palettes + nord0 = "#2e3440" + nord1 = "#3b4252" // nolint + nord2 = "#434c5e" // nolint + nord3 = "#4c566a" + nord3b = "#616e87" + + nord4 = "#d8dee9" + nord5 = "#e5e9f0" // nolint + nord6 = "#eceff4" + + nord7 = "#8fbcbb" + nord8 = "#88c0d0" + nord9 = "#81a1c1" + nord10 = "#5e81ac" + + nord11 = "#bf616a" + nord12 = "#d08770" + nord13 = "#ebcb8b" + nord14 = "#a3be8c" + nord15 = "#b48ead" +) + +// Nord, an arctic, north-bluish color palette +var Nord = Register(chroma.MustNewStyle("nord", chroma.StyleEntries{ + chroma.TextWhitespace: nord4, + chroma.Comment: "italic " + nord3b, + chroma.CommentPreproc: nord10, + chroma.Keyword: "bold " + nord9, + chroma.KeywordPseudo: "nobold " + nord9, + chroma.KeywordType: "nobold " + nord9, + chroma.Operator: nord9, + chroma.OperatorWord: "bold " + nord9, + chroma.Name: nord4, + chroma.NameBuiltin: nord9, + chroma.NameFunction: nord8, + chroma.NameClass: nord7, + chroma.NameNamespace: nord7, + chroma.NameException: nord11, + chroma.NameVariable: nord4, + chroma.NameConstant: nord7, + chroma.NameLabel: nord7, + chroma.NameEntity: nord12, + chroma.NameAttribute: nord7, + chroma.NameTag: nord9, + chroma.NameDecorator: nord12, + chroma.Punctuation: nord6, + chroma.LiteralString: nord14, + chroma.LiteralStringDoc: nord3b, + chroma.LiteralStringInterpol: nord14, + chroma.LiteralStringEscape: nord13, + chroma.LiteralStringRegex: nord13, + chroma.LiteralStringSymbol: nord14, + chroma.LiteralStringOther: nord14, + chroma.LiteralNumber: nord15, + chroma.GenericHeading: "bold " + nord8, + chroma.GenericSubheading: "bold " + nord8, + chroma.GenericDeleted: nord11, + chroma.GenericInserted: nord14, + chroma.GenericError: nord11, + chroma.GenericEmph: "italic", + chroma.GenericStrong: "bold", + chroma.GenericPrompt: "bold " + nord3, + chroma.GenericOutput: nord4, + chroma.GenericTraceback: nord11, + chroma.Error: nord11, + chroma.Background: nord4 + " bg:" + nord0, +}))