vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
solarized.lua
(5775B)
1 -- Solarized color codes Copyright (c) 2011 Ethan Schoonover
2 local lexers = vis.lexers
3
4 local colors = {
5 base03 = '#002b36',
6 base02 = '#073642',
7 base01 = '#586e75',
8 base00 = '#657b83',
9 base0 = '#839496',
10 base1 = '#93a1a1',
11 base2 = '#eee8d5',
12 base3 = '#fdf6e3',
13 yellow = '#b58900',
14 orange = '#cb4b16',
15 red = '#dc322f',
16 magenta = '#d33682',
17 violet = '#6c71c4',
18 blue = '#268bd2',
19 cyan = '#2aa198',
20 green = '#859900',
21 }
22
23 lexers.colors = colors
24 -- dark
25 local fg = ',fore:'..colors.base0..','
26 local bg = ',back:'..colors.base03..','
27 -- light
28 -- local fg = ',fore:'..colors.base03..','
29 -- local bg = ',back:'..colors.base3..','
30 -- solarized term
31 -- local fg = ',fore:default,'
32 -- local bg = ',back:default,'
33
34
35 lexers.STYLE_DEFAULT = bg..fg
36 lexers.STYLE_NOTHING = bg
37 lexers.STYLE_CLASS = 'fore:yellow'
38 lexers.STYLE_COMMENT = 'fore:'..colors.base01
39 lexers.STYLE_CONSTANT = 'fore:'..colors.cyan
40 lexers.STYLE_DEFINITION = 'fore:'..colors.blue
41 lexers.STYLE_ERROR = 'fore:'..colors.red..',italics'
42 lexers.STYLE_FUNCTION = 'fore:'..colors.blue
43 lexers.STYLE_KEYWORD = 'fore:'..colors.green
44 lexers.STYLE_LABEL = 'fore:'..colors.green
45 lexers.STYLE_NUMBER = 'fore:'..colors.cyan
46 lexers.STYLE_OPERATOR = 'fore:'..colors.green
47 lexers.STYLE_REGEX = 'fore:green'
48 lexers.STYLE_STRING = 'fore:'..colors.cyan
49 lexers.STYLE_PREPROCESSOR = 'fore:'..colors.orange
50 lexers.STYLE_TAG = 'fore:'..colors.red
51 lexers.STYLE_TYPE = 'fore:'..colors.yellow
52 lexers.STYLE_VARIABLE = 'fore:'..colors.blue
53 lexers.STYLE_WHITESPACE = 'fore:'..colors.base01
54 lexers.STYLE_EMBEDDED = 'back:blue'
55 lexers.STYLE_IDENTIFIER = fg
56
57 lexers.STYLE_LINENUMBER = 'fore:'..colors.base00..',back:'..colors.base02
58 lexers.STYLE_LINENUMBER_CURSOR = 'back:'..colors.base00..',fore:'..colors.base02
59 lexers.STYLE_CURSOR = 'fore:'..colors.base03..',back:'..colors.base0
60 lexers.STYLE_CURSOR_PRIMARY = lexers.STYLE_CURSOR..',back:yellow'
61 lexers.STYLE_CURSOR_LINE = 'back:'..colors.base02
62 lexers.STYLE_COLOR_COLUMN = 'back:'..colors.base02
63 -- lexers.STYLE_SELECTION = 'back:'..colors.base02
64 lexers.STYLE_SELECTION = 'back:white'
65 lexers.STYLE_STATUS = 'back:'..colors.base00..',fore:'..colors.base02
66 lexers.STYLE_STATUS_FOCUSED = 'back:'..colors.base1..',fore:'..colors.base02
67 lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT
68 lexers.STYLE_INFO = 'fore:default,back:default,bold'
69 lexers.STYLE_EOF = 'fore:'..colors.base01
70
71 -- lexer specific styles
72
73 -- Diff
74 lexers.STYLE_ADDITION = 'fore:green'
75 lexers.STYLE_DELETION = 'fore:red'
76 lexers.STYLE_CHANGE = 'fore:yellow'
77
78 -- CSS
79 lexers.STYLE_PROPERTY = lexers.STYLE_ATTRIBUTE
80 lexers.STYLE_PSEUDOCLASS = ''
81 lexers.STYLE_PSEUDOELEMENT = ''
82
83 -- HTML
84 lexers.STYLE_TAG_UNKNOWN = lexers.STYLE_TAG .. ',italics'
85 lexers.STYLE_TAG_SINGLE = lexers.STYLE_TAG
86 lexers.STYLE_TAG_DOCTYPE = lexers.STYLE_TAG .. ',bold'
87 lexers.STYLE_ATTRIBUTE_UNKNOWN = lexers.STYLE_ATTRIBUTE .. ',italics'
88
89 -- Latex, TeX, and Texinfo
90 lexers.STYLE_COMMAND = lexers.STYLE_KEYWORD
91 lexers.STYLE_COMMAND_SECTION = lexers.STYLE_CLASS
92 lexers.STYLE_ENVIRONMENT = lexers.STYLE_TYPE
93 lexers.STYLE_ENVIRONMENT_MATH = lexers.STYLE_NUMBER
94
95 -- Makefile
96 lexers.STYLE_TARGET = ''
97
98 -- Markdown
99 lexers.STYLE_HR = ''
100 for i = 1,6 do lexers['STYLE_HEADING_H'..i] = lexers.STYLE_HEADING end
101 lexers.STYLE_BOLD = 'bold'
102 lexers.STYLE_ITALIC = 'italics'
103 lexers.STYLE_LIST = lexers.STYLE_KEYWORD
104 lexers.STYLE_LINK = lexers.STYLE_KEYWORD
105 lexers.STYLE_REFERENCE = lexers.STYLE_KEYWORD
106 lexers.STYLE_CODE = lexers.STYLE_EMBEDDED
107
108 -- Output
109 lexers.STYE_FILENAME = ''
110 lexers.STYLE_LINE = ''
111 lexers.STYLE_COLUMN = ''
112 lexers.STYLE_MESSAGE = ''
113
114 -- Python
115 lexers.STYLE_KEYWORD_SOFT = ''
116
117 -- Taskpaper
118 lexers.STYLE_NOTE = ''
119 lexers.STYLE_TAG_EXTENDED = ''
120 lexers.STYLE_TAG_DAY = 'fore:yellow'
121 lexers.STYLE_TAG_OVERDUE = 'fore:red'
122 lexers.STYLE_TAG_PLAIN = ''
123
124 -- XML
125 lexers.STYLE_CDATA = ''
126
127 -- YAML
128 lexers.STYLE_ERROR_INDENT = 'back:red'
129
130 -- The following are temporary styles until their legacy lexers are migrated.
131
132 -- Antlr
133 lexers.STYLE_ACTION = ''
134
135 -- Clojure
136 lexers.STYLE_CLOJURE_KEYWORD = lexers.STYLE_TYPE
137 lexers.STYLE_CLOJURE_SYMBOL = lexers.STYLE_TYPE .. ',bold'
138
139 -- Crystal
140 --lexers.STYLE_SYMBOL = lexers.STYLE_STRING
141
142 -- Gleam
143 lexers.STYLE_MODULE = lexers.STYLE_CONSTANT
144 lexers.STYLE_DISCARD = lexers.STYLE_COMMENT
145
146 -- Icon
147 lexers.STYLE_SPECIAL_KEYWORD = lexers.STYLE_TYPE
148
149 -- jq
150 lexers.STYLE_FORMAT = lexers.STYLE_CONSTANT
151 lexers.STYLE_SYSVAR = lexers.STYLE_CONSTANT .. ',bold'
152
153 -- Julia
154 -- lexers.STYLE_SYMBOL = lexers.STYLE_STRING
155 lexers.STYLE_CHARACTER = lexers.STYLE_CONSTANT
156
157 -- Mediawiki
158 lexers.STYLE_BEHAVIOR_SWITCH = lexers.STYLE_KEYWORD
159
160 -- Moonscript
161 lexers.STYLE_TBL_KEY = lexers.STYLE_REGEX
162 lexers.STYLE_SELF_REF = lexers.STYLE_LABEL
163 lexers.STYLE_PROPER_IDENT = lexers.STYLE_CLASS
164 lexers.STYLE_FNDEF = lexers.STYLE_PREPROCESSOR
165 -- lexers.STYLE_SYMBOL = lexers.STYLE_EMBEDDED
166
167 -- reST
168 lexers.STYLE_LITERAL_BLOCK = lexers.STYLE_EMBEDDED
169 lexers.STYLE_FOOTNOTE_BLOCK = lexers.STYLE_LABEL
170 lexers.STYLE_CITATION_BLOCK = lexers.STYLE_LABEL
171 lexers.STYLE_LINK_BLOCK = lexers.STYLE_LABEL
172 lexers.STYLE_CODE_BLOCK = lexers.STYLE_CODE
173 lexers.STYLE_DIRECTIVE = lexers.STYLE_KEYWORD
174 lexers.STYLE_SPHINX_DIRECTIVE = lexers.STYLE_KEYWORD
175 lexers.STYLE_UNKNOWN_DIRECTIVE = lexers.STYLE_KEYWORD
176 lexers.STYLE_SUBSTITUTION = lexers.STYLE_VARIABLE
177 lexers.STYLE_INLINE_LITERAL = lexers.STYLE_EMBEDDED
178 lexers.STYLE_ROLE = lexers.STYLE_CLASS
179 lexers.STYLE_INTERPRETED = lexers.STYLE_STRING
180
181 -- txt2tags
182 lexers.STYLE_LINE = 'bold'
183 for i = 1,5 do lexers['STYLE_H'..i] = lexers.STYLE_HEADING end
184 lexers.STYLE_IMAGE = 'fore:green'
185 lexers.STYLE_STRIKE = 'italics'
186 lexers.STYLE_TAGGED = lexers.STYLE_EMBEDDED
187 lexers.STYLE_TAGGED_AREA = lexers.STYLE_EMBEDDED
188 lexers.STYLE_TABLE_SEP = 'fore:green'
189 lexers.STYLE_HEADER_CELL_CONTENT = 'fore:green'