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'