1+ # Author : Sergei Trofimovich <slyfox@inbox.ru>
2+ # Language : shell
3+ # Mode : ebuild
4+ #
5+ # sh.syntax is taken as base.
6+ #
7+ # Note : keep in sync default and " " contexts
8+ #
9+ # 'sh.syntax' header:
10+ # # Since I regulary update ths file, please send any comments
11+ # # to: Michelle Konzack <linux4michelle@freenet.de>
12+ # # Last Update: Thu, 01 Jun 2006 22:10:07 +0200
13+
114context default
2- keyword linestart DEPEND brightcyan
3- keyword linestart DESCRIPTION brightcyan
4- keyword linestart EAPI brightcyan
5- keyword linestart HOMEPAGE brightcyan
6- keyword linestart IUSE brightcyan
7- keyword linestart KEYWORDS brightcyan
8- keyword linestart LICENSE brightcyan
9- keyword linestart PDEPEND brightcyan
10- keyword linestart PROVIDE brightcyan
11- keyword linestart RDEPEND brightcyan
12- keyword linestart RESTRICT brightcyan
13- keyword linestart S brightcyan
14- keyword linestart SLOT brightcyan
15- keyword linestart SRC_URI brightcyan
16- keyword linestart WANT_AUTOCONF brightcyan
17- keyword linestart WANT_AUTOMAKE brightcyan
15+ # .ebuild specific commands/glo vars
16+ # TODO: 1. split keywords by .eclass'es
17+ # 2. grep all exports and place here
18+ keyword whole DEPEND brightcyan
19+ keyword whole DESCRIPTION brightcyan
20+ keyword whole EAPI brightcyan
21+ keyword whole EGIT_REPO_URI brightcyan
22+ keyword whole ESVN_REPO_URI brightcyan
23+ keyword whole EXPORT_FUNCTIONS brightcyan
24+ keyword whole HOMEPAGE brightcyan
25+ keyword whole IUSE brightcyan
26+ keyword whole KEYWORDS brightcyan
27+ keyword whole LICENSE brightcyan
28+ keyword whole PDEPEND brightcyan
29+ keyword whole PROVIDE brightcyan
30+ keyword whole RDEPEND brightcyan
31+ keyword whole RESTRICT brightcyan
32+ keyword whole S brightcyan
33+ keyword whole SLOT brightcyan
34+ keyword whole SRC_URI brightcyan
35+ keyword whole WANT_AUTOCONF brightcyan
36+ keyword whole WANT_AUTOMAKE brightcyan
37+ keyword DOCS brightcyan
38+ keyword LINGUAS brightcyan
1839
1940 keyword whole _elibtoolize yellow
2041 keyword whole check_KV yellow
@@ -59,13 +80,16 @@ context default
5980 keyword whole ewarn yellow
6081 keyword whole exeinto yellow
6182 keyword whole exeopts yellow
83+ keyword whole enewgroup yellow
84+ keyword whole enewuser yellow
6285 keyword whole fowners yellow
6386 keyword whole fperms yellow
6487 keyword whole has yellow
6588 keyword whole hasq yellow
6689 keyword whole has_version yellow
6790 keyword whole insinto yellow
6891 keyword whole insopts yellow
92+ keyword whole intltoolize yellow
6993 keyword whole into yellow
7094 keyword whole keepdir yellow
7195 keyword whole libopts yellow
@@ -86,22 +110,244 @@ context default
86110 keyword whole use yellow
87111 keyword whole use_enable yellow
88112 keyword whole use_with yellow
113+ # flag-o-matic
114+ keyword whole append-flags yellow
115+ keyword whole replace-flags yellow
116+ keyword whole strip-flags yellow
117+ # git
118+ keyword whole git_src_unpack yellow
119+ # java-ant-2
120+ keyword whole EANT_BUILD_TARGET yellow
121+ # svn
122+ keyword whole subversion_src_unpack yellow
89123
90- keyword = yellow
91- keyword : yellow
92- keyword ${+} brightgreen
124+ # ###################
125+ # here starts original sh.syntax (with core commands only)
126+ # ###################
93127
94- keyword linestart abcdefghijklmnopqrstuvwxyz_\(\) brightmagenta
128+ keyword ! brightred
129+ keyword ;; brightred
130+ keyword \\@ brightred
131+ keyword \\$ brightred
132+ keyword \\\\ brightred
133+ keyword \\" brightred
134+ keyword \\' brightred
135+ keyword \\` brightred
136+ keyword ` brightred
137+ keyword ; brightcyan
138+ keyword $(*) brightgreen
139+ keyword ${*} brightgreen
140+ keyword { brightcyan
141+ keyword } brightcyan
95142
96- keyword *() brightcyan
143+ keyword whole linestart # !\[\s\]*\n brightcyan black
97144
98- keyword { magenta
99- keyword } magenta
145+ keyword $\* brightred
146+ keyword $@ brightred
147+ keyword $# brightred
148+ keyword $? brightred
149+ keyword $- brightred
150+ keyword $$ brightred
151+ keyword $! brightred
152+ keyword $_ brightred
100153
101- context linestart inherit \n magenta
102- keyword whole inherit yellow
154+ keyword whole 2>&1 brightred
155+ keyword whole 1>&2 brightred
156+ keyword whole 2> brightred
157+ keyword whole 1> brightred
158+
159+ keyword wholeright $\[0123456789\] brightred
160+
161+ keyword wholeright $+ brightgreen
162+
163+ keyword $ brightgreen
164+
165+ keyword wholeleft linestart function*() brightmagenta
166+ keyword wholeleft linestart function\[\s\]+ brightmagenta
167+ keyword wholeright +() brightmagenta
168+
169+ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._
170+
171+ keyword whole break yellow
172+ keyword whole case yellow
173+ keyword whole clear yellow
174+ keyword whole continue yellow
175+ keyword whole declare yellow
176+ keyword whole done yellow
177+ keyword whole do yellow
178+ keyword whole elif yellow
179+ keyword whole else yellow
180+ keyword whole esac yellow
181+ keyword whole exit yellow
182+ keyword whole export yellow
183+ keyword whole fi yellow
184+ keyword whole for yellow
185+ keyword whole getopts yellow
186+ keyword whole if yellow
187+ keyword whole in yellow
188+ keyword whole return yellow
189+ keyword whole select yellow
190+ keyword whole shift yellow
191+ keyword whole source yellow
192+ keyword whole then yellow
193+ keyword whole trap yellow
194+ keyword whole until yellow
195+ keyword whole unset yellow
196+ keyword whole wait yellow
197+ keyword whole while yellow
198+
199+ # here goes usable subset for .ebuild commands
200+ keyword whole awk cyan
201+ keyword whole cd cyan
202+ keyword whole chown cyan
203+ keyword whole chmod cyan
204+ keyword whole cmake cyan
205+ keyword whole cp cyan
206+ keyword whole echo cyan
207+ keyword whole egrep cyan
208+ keyword whole fgrep cyan
209+ keyword whole find cyan
210+ keyword whole grep cyan
211+ keyword whole ln cyan
212+ keyword whole make cyan
213+ keyword whole mkdir cyan
214+ keyword whole mknod cyan
215+ keyword whole mv cyan
216+ keyword whole perl cyan
217+ keyword whole pod2man cyan
218+ keyword whole rm cyan
219+ keyword whole sed cyan
220+ keyword whole touch cyan
221+ keyword whole xmkmf cyan
222+
223+ # some interesting files to copy
224+ keyword whole ANNOUNCEMENT white
225+ keyword whole AUTHORS white
226+ keyword whole CHANGES white
227+ keyword whole COPYING white
228+ keyword whole COPYRIGHT white
229+ keyword whole CREDITS white
230+ keyword whole ChangeLog white
231+ keyword whole FAQ white
232+ keyword whole HACKING white
233+ keyword whole INSTALL white
234+ keyword whole LICENSE white
235+ keyword whole NEWS white
236+ keyword whole README white
237+ keyword whole THANKS white
238+ keyword whole TODO white
239+
240+ keyword whole /dev/audio brightblue
241+ keyword whole /dev/dsp brightblue
242+ keyword whole /dev/null brightblue
243+ keyword whole /dev/mixed brightblue
244+ keyword whole /dev/stdin brightblue
245+ keyword whole /dev/stdout brightblue
246+ keyword whole /dev/stderr brightblue
247+ keyword whole /dev/zero brightblue
248+
249+ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
250+
251+ context # \n brown
252+ spellcheck
253+
254+ context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]EOF EOF green
255+ context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]END END green
103256
104- context # \n red
257+ context ' ' green
105258
106259context " " green
107- keyword wholeright ${+} brightgreen
260+ keyword \\* brightgreen
261+ keyword \\@ brightgreen
262+ keyword \\$ brightgreen
263+ keyword \\\\ brightgreen
264+ keyword \\` brightgreen
265+ keyword \\" brightgreen
266+ keyword $(*) brightgreen
267+ keyword ${*} brightgreen
268+ keyword $\* brightred
269+ keyword $@ brightred
270+ keyword $# brightred
271+ keyword $? brightred
272+ keyword $- brightred
273+ keyword $$ brightred
274+ keyword $! brightred
275+ keyword $_ brightred
276+ keyword wholeright $\[0123456789\] brightred
277+
278+ keyword wholeright $+ brightgreen
279+
280+ keyword $ brightgreen
281+
282+ context exclusive ` ` lightgray black
283+ keyword '*' green
284+ keyword " green
285+ keyword \\` green
286+ keyword ; brightcyan
287+ keyword $(*) brightgreen
288+ keyword ${*} brightgreen
289+ keyword { brightcyan
290+ keyword } brightcyan
291+
292+ keyword $\* brightred
293+ keyword $@ brightred
294+ keyword $# brightred
295+ keyword $? brightred
296+ keyword $- brightred
297+ keyword $$ brightred
298+ keyword $! brightred
299+ keyword $_ brightred
300+
301+ keyword whole 2>&1 brightred
302+ keyword whole 2> brightred
303+ keyword whole 1> brightred
304+
305+ keyword wholeright $\[0123456789\] brightred
306+
307+ keyword wholeright $+ brightgreen
308+
309+ keyword $ brightgreen
310+
311+ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._
312+
313+ keyword whole break yellow
314+ keyword whole case yellow
315+ keyword whole clear yellow
316+ keyword whole continue yellow
317+ keyword whole declare yellow
318+ keyword whole done yellow
319+ keyword whole do yellow
320+ keyword whole elif yellow
321+ keyword whole else yellow
322+ keyword whole esac yellow
323+ keyword whole exit yellow
324+ keyword whole fi yellow
325+ keyword whole for yellow
326+ keyword whole getopts yellow
327+ keyword whole if yellow
328+ keyword whole in yellow
329+ keyword whole return yellow
330+ keyword whole select yellow
331+ keyword whole shift yellow
332+ keyword whole source yellow
333+ keyword whole then yellow
334+ keyword whole trap yellow
335+ keyword whole until yellow
336+ keyword whole wait yellow
337+ keyword whole while yellow
338+
339+ # here goes usable subset for .ebuild commands
340+ keyword whole awk cyan
341+ keyword whole sed cyan
342+
343+ keyword whole /dev/audio brightblue
344+ keyword whole /dev/dsp brightblue
345+ keyword whole /dev/null brightblue
346+ keyword whole /dev/mixed brightblue
347+ keyword whole /dev/stdin brightblue
348+ keyword whole /dev/stdout brightblue
349+ keyword whole /dev/stderr brightblue
350+ keyword whole /dev/zero brightblue
351+
352+ context inherit \n magenta
353+ keyword whole inherit yellow
0 commit comments