blob: 6620707f9285b800fb5105af647ee0a3f2e057df [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Lynx 2.7.1 style file
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00003" Maintainer: Scott Bigham <dsb@killerbunnies.org>
4" Last Change: 2004 Oct 06
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
6" For version 5.x: Clear all syntax items
7" For version 6.x: Quit when a syntax file was already loaded
8if version < 600
9 syntax clear
10elseif exists("b:current_syntax")
11 finish
12endif
13
14" This setup is probably atypical for a syntax highlighting file, because
15" most of it is not really intended to be overrideable. Instead, the
16" highlighting is supposed to correspond to the highlighting specified by
17" the .lss file entries themselves; ie. the "bold" keyword should be bold,
18" the "red" keyword should be red, and so forth. The exceptions to this
19" are comments, of course, and the initial keyword identifying the affected
20" element, which will inherit the usual Identifier highlighting.
21
22syn match lssElement "^[^:]\+" nextgroup=lssMono
23
24syn match lssMono ":[^:]\+" contained nextgroup=lssFgColor contains=lssReverse,lssUnderline,lssBold,lssStandout
25
26syn keyword lssBold bold contained
27syn keyword lssReverse reverse contained
28syn keyword lssUnderline underline contained
29syn keyword lssStandout standout contained
30
31syn match lssFgColor ":[^:]\+" contained nextgroup=lssBgColor contains=lssRedFg,lssBlueFg,lssGreenFg,lssBrownFg,lssMagentaFg,lssCyanFg,lssLightgrayFg,lssGrayFg,lssBrightredFg,lssBrightgreenFg,lssYellowFg,lssBrightblueFg,lssBrightmagentaFg,lssBrightcyanFg
32
33syn case ignore
34syn keyword lssRedFg red contained
35syn keyword lssBlueFg blue contained
36syn keyword lssGreenFg green contained
37syn keyword lssBrownFg brown contained
38syn keyword lssMagentaFg magenta contained
39syn keyword lssCyanFg cyan contained
40syn keyword lssLightgrayFg lightgray contained
41syn keyword lssGrayFg gray contained
42syn keyword lssBrightredFg brightred contained
43syn keyword lssBrightgreenFg brightgreen contained
44syn keyword lssYellowFg yellow contained
45syn keyword lssBrightblueFg brightblue contained
46syn keyword lssBrightmagentaFg brightmagenta contained
47syn keyword lssBrightcyanFg brightcyan contained
48syn case match
49
50syn match lssBgColor ":[^:]\+" contained contains=lssRedBg,lssBlueBg,lssGreenBg,lssBrownBg,lssMagentaBg,lssCyanBg,lssLightgrayBg,lssGrayBg,lssBrightredBg,lssBrightgreenBg,lssYellowBg,lssBrightblueBg,lssBrightmagentaBg,lssBrightcyanBg,lssWhiteBg
51
52syn case ignore
53syn keyword lssRedBg red contained
54syn keyword lssBlueBg blue contained
55syn keyword lssGreenBg green contained
56syn keyword lssBrownBg brown contained
57syn keyword lssMagentaBg magenta contained
58syn keyword lssCyanBg cyan contained
59syn keyword lssLightgrayBg lightgray contained
60syn keyword lssGrayBg gray contained
61syn keyword lssBrightredBg brightred contained
62syn keyword lssBrightgreenBg brightgreen contained
63syn keyword lssYellowBg yellow contained
64syn keyword lssBrightblueBg brightblue contained
65syn keyword lssBrightmagentaBg brightmagenta contained
66syn keyword lssBrightcyanBg brightcyan contained
67syn keyword lssWhiteBg white contained
68syn case match
69
70syn match lssComment "#.*$"
71
72" Define the default highlighting.
73" For version 5.7 and earlier: only when not done already
74" For version 5.8 and later: only when an item doesn't have highlighting yet
75if version >= 508 || !exists("did_lss_syntax_inits")
76 if version < 508
77 let did_lss_syntax_inits = 1
78 endif
79
80 hi def link lssComment Comment
81 hi def link lssElement Identifier
82
83 hi def lssBold term=bold cterm=bold
84 hi def lssReverse term=reverse cterm=reverse
85 hi def lssUnderline term=underline cterm=underline
86 hi def lssStandout term=standout cterm=standout
87
88 hi def lssRedFg ctermfg=red
89 hi def lssBlueFg ctermfg=blue
90 hi def lssGreenFg ctermfg=green
91 hi def lssBrownFg ctermfg=brown
92 hi def lssMagentaFg ctermfg=magenta
93 hi def lssCyanFg ctermfg=cyan
94 hi def lssGrayFg ctermfg=gray
95 if $COLORTERM == "rxvt"
96 " On rxvt's, bright colors are activated by setting the bold attribute.
97 hi def lssLightgrayFg ctermfg=gray cterm=bold
98 hi def lssBrightredFg ctermfg=red cterm=bold
99 hi def lssBrightgreenFg ctermfg=green cterm=bold
100 hi def lssYellowFg ctermfg=yellow cterm=bold
101 hi def lssBrightblueFg ctermfg=blue cterm=bold
102 hi def lssBrightmagentaFg ctermfg=magenta cterm=bold
103 hi def lssBrightcyanFg ctermfg=cyan cterm=bold
104 else
105 hi def lssLightgrayFg ctermfg=lightgray
106 hi def lssBrightredFg ctermfg=lightred
107 hi def lssBrightgreenFg ctermfg=lightgreen
108 hi def lssYellowFg ctermfg=yellow
109 hi def lssBrightblueFg ctermfg=lightblue
110 hi def lssBrightmagentaFg ctermfg=lightmagenta
111 hi def lssBrightcyanFg ctermfg=lightcyan
112 endif
113
114 hi def lssRedBg ctermbg=red
115 hi def lssBlueBg ctermbg=blue
116 hi def lssGreenBg ctermbg=green
117 hi def lssBrownBg ctermbg=brown
118 hi def lssMagentaBg ctermbg=magenta
119 hi def lssCyanBg ctermbg=cyan
120 hi def lssLightgrayBg ctermbg=lightgray
121 hi def lssGrayBg ctermbg=gray
122 hi def lssBrightredBg ctermbg=lightred
123 hi def lssBrightgreenBg ctermbg=lightgreen
124 hi def lssYellowBg ctermbg=yellow
125 hi def lssBrightblueBg ctermbg=lightblue
126 hi def lssBrightmagentaBg ctermbg=lightmagenta
127 hi def lssBrightcyanBg ctermbg=lightcyan
128 hi def lssWhiteBg ctermbg=white ctermfg=black
129endif
130
131let b:current_syntax = "lss"
132
133" vim: ts=8