Merge branch '3917_sftps_atime_mtime'
[midnight-commander.git] / misc / syntax / ebuild.syntax
blobc9009cb413950283675d6d26b88dbb071ac723fb
1 # Author   : Sergei Trofimovich <slyfox@inbox.ru>
2 # Language : shell
3 # Mode     : ebuild
5 # sh.syntax is taken as base.
7 # Note     : keep in sync default and " " contexts
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
14 context default
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 CABAL_FEATURES brightcyan
19     keyword whole DEPEND brightcyan
20     keyword whole DESCRIPTION brightcyan
21     keyword whole EAPI brightcyan
22     keyword whole EDARCS_REPOSITORY brightcyan
23     keyword whole EDARCS_GET_CMD brightcyan
24     keyword whole EDARCS_LOCALREPO brightcyan
25     keyword whole EGIT_BRANCH brightcyan
26     keyword whole EGIT_PROJECT brightcyan
27     keyword whole EGIT_REPO_URI brightcyan
28     keyword whole EGIT_TREE brightcyan
29     keyword whole ESVN_REPO_URI brightcyan
30     keyword whole EXPORT_FUNCTIONS brightcyan
31     keyword whole HOMEPAGE brightcyan
32     keyword whole IUSE brightcyan
33     keyword whole KEYWORDS brightcyan
34     keyword whole LICENSE brightcyan
35     keyword whole PATCHES brightcyan
36     keyword whole PDEPEND brightcyan
37     keyword whole PROVIDE brightcyan
38     keyword whole RDEPEND brightcyan
39     keyword whole REQUIRED_USE brightcyan
40     keyword whole RESTRICT brightcyan
41     keyword whole S brightcyan
42     keyword whole SITEFILE brightcyan
43     keyword whole SLOT brightcyan
44     keyword whole SRC_URI brightcyan
45     keyword whole WANT_AUTOCONF brightcyan
46     keyword whole WANT_AUTOMAKE brightcyan
47     keyword DOCS brightcyan
48     keyword LINGUAS brightcyan
50     keyword whole _elibtoolize yellow
51     keyword whole best_version yellow
52     keyword whole built_with_use yellow
53     keyword whole check_KV yellow
54     keyword whole die yellow
55     keyword whole diropts yellow
56     keyword whole dobin yellow
57     keyword whole docinto yellow
58     keyword whole doconfd yellow
59     keyword whole dodir yellow
60     keyword whole dodoc yellow
61     keyword whole doenvd yellow
62     keyword whole doexe yellow
63     keyword whole dohard yellow
64     keyword whole dohtml yellow
65     keyword whole doicon yellow
66     keyword whole doinfo yellow
67     keyword whole doinitd yellow
68     keyword whole doins yellow
69     keyword whole dolib yellow
70     keyword whole dolib.a yellow
71     keyword whole dolib.so yellow
72     keyword whole doman yellow
73     keyword whole domenu yellow
74     keyword whole dosbin yellow
75     keyword whole dosed yellow
76     keyword whole dosym yellow
77     keyword whole eaclocal yellow
78     keyword whole eapply yellow
79     keyword whole eapply_user yellow
80     keyword whole eautoconf yellow
81     keyword whole eautoreconf yellow
82     keyword whole eautomake yellow
83     keyword whole ebegin yellow
84     keyword whole econf yellow
85     keyword whole eend yellow
86     keyword whole eerror yellow
87     keyword whole einfo yellow
88     keyword whole einstall yellow
89     keyword whole einstalldocs yellow
90     keyword whole elibtoolize yellow
91     keyword whole elog yellow
92     keyword whole emake yellow
93     keyword whole epatch yellow
94     keyword whole epatch_user yellow
95     keyword whole ewarn yellow
96     keyword whole exeinto yellow
97     keyword whole exeopts yellow
98     keyword whole enewgroup yellow
99     keyword whole enewuser yellow
100     keyword whole fowners yellow
101     keyword whole fperms yellow
102     keyword whole has yellow
103     keyword whole hasq yellow
104     keyword whole has_version yellow
105     keyword whole insinto yellow
106     keyword whole insopts yellow
107     keyword whole intltoolize yellow
108     keyword whole into yellow
109     keyword whole keepdir yellow
110     keyword whole libopts yellow
111     keyword whole local yellow
112     keyword whole newbin yellow
113     keyword whole newconfd yellow
114     keyword whole newdoc yellow
115     keyword whole newexe yellow
116     keyword whole newicon yellow
117     keyword whole newins yellow
118     keyword whole newman yellow
119     keyword whole newmenu yellow
120     keyword whole newsbin yellow
121     keyword whole newinitd yellow
122     keyword whole pax-mark yellow
123     keyword whole prepall yellow
124     keyword whole prepalldocs yellow
125     keyword whole prepallinfo yellow
126     keyword whole prepallman yellow
127     keyword whole unpack yellow
128     keyword whole use yellow
129     keyword whole use_enable yellow
130     keyword whole use_with yellow
131     #base
132     keyword whole base_src_unpack yellow
133     #cvs
134     keyword whole cvs_src_unpack yellow
135     #darcs
136     keyword whole darcs_src_unpack yellow
137     #elisp-common
138     keyword whole elisp-compile yellow
139     keyword whole elisp-install yellow
140     keyword whole elisp-site-file-install yellow
141     keyword whole elisp-site-regen yellow
142     #flag-o-matic
143     keyword whole append-flags yellow
144     keyword whole filter-flags yellow
145     keyword whole replace-flags yellow
146     keyword whole strip-flags yellow
147     keyword whole strip-unsupported-flags yellow
148     #git
149     keyword whole git_src_unpack yellow
150     #java-ant-2
151     keyword whole EANT_BUILD_TARGET yellow
152     #mercurial
153     keyword whole mercurial_src_unpack yellow
154     #svn
155     keyword whole subversion_src_unpack yellow
157     #bashism (builtin extended 'test')
158     keyword whole [[ brightcyan
159     keyword whole ]] brightcyan
161 ####################
162 # here starts original sh.syntax (with core commands only)
163 ####################
165     keyword ! brightred
166     keyword ;; brightred
167     keyword \\@ brightred
168     keyword \\$ brightred
169     keyword \\\\ brightred
170     keyword \\" brightred
171     keyword \\' brightred
172     keyword \\` brightred
173     keyword ` brightred
174     keyword ; brightcyan
175     keyword $(*) brightgreen
176     keyword ${*} brightgreen
177     keyword { brightcyan
178     keyword } brightcyan
180     keyword whole linestart #!\[\s\]*\n brightcyan black
182     keyword $\* brightred
183     keyword $@ brightred
184     keyword $# brightred
185     keyword $? brightred
186     keyword $- brightred
187     keyword $$ brightred
188     keyword $! brightred
189     keyword $_ brightred
191     keyword whole 2>&1 brightred
192     keyword whole 1>&2 brightred
193     keyword whole 2> brightred
194     keyword whole 1> brightred
196     keyword wholeright $\[0123456789\] brightred
198     keyword wholeright $+ brightgreen
200     keyword $ brightgreen
202     keyword wholeleft linestart function*() brightmagenta
203     keyword wholeleft linestart function\[\s\]+ brightmagenta
204     keyword wholeright +() brightmagenta
206 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._
208     keyword whole break yellow
209     keyword whole case yellow
210     keyword whole clear yellow
211     keyword whole continue yellow
212     keyword whole declare yellow
213     keyword whole done yellow
214     keyword whole do yellow
215     keyword whole elif yellow
216     keyword whole else yellow
217     keyword whole esac yellow
218     keyword whole exit yellow
219     keyword whole export yellow
220     keyword whole fi yellow
221     keyword whole for yellow
222     keyword whole getopts yellow
223     keyword whole if yellow
224     keyword whole in yellow
225     keyword whole read yellow
226     keyword whole return yellow
227     keyword whole select yellow
228     keyword whole shift yellow
229     keyword whole source yellow
230     keyword whole then yellow
231     keyword whole trap yellow
232     keyword whole until yellow
233     keyword whole unset yellow
234     keyword whole wait yellow
235     keyword whole while yellow
237 # here goes usable subset for .ebuild commands
238     keyword whole awk cyan
239     keyword whole cd cyan
240     keyword whole chown cyan
241     keyword whole chmod cyan
242     keyword whole cmake cyan
243     keyword whole cp cyan
244     keyword whole echo cyan
245     keyword whole egrep cyan
246     keyword whole fgrep cyan
247     keyword whole find cyan
248     keyword whole grep cyan
249     keyword whole ln cyan
250     keyword whole make cyan
251     keyword whole mkdir cyan
252     keyword whole mknod cyan
253     keyword whole mv cyan
254     keyword whole perl cyan
255     keyword whole pod2man cyan
256     keyword whole popd cyan
257     keyword whole pushd cyan
258     keyword whole rm cyan
259     keyword whole sed cyan
260     keyword whole sh cyan
261     keyword whole touch cyan
262     keyword whole xmkmf cyan
264 # some interesting files to copy
265     keyword whole ANNOUNCEMENT white
266     keyword whole AUTHORS white
267     keyword whole BUGS white
268     keyword whole CHANGES white
269     keyword whole COPYING white
270     keyword whole COPYRIGHT white
271     keyword whole CREDITS white
272     keyword whole ChangeLog white
273     keyword whole FAQ white
274     keyword whole HACKING white
275     keyword whole INSTALL white
276     keyword whole LICENSE white
277     keyword whole NEWS white
278     keyword whole README white
279     keyword whole THANKS white
280     keyword whole TODO white
281     keyword whole VERSION white
283     keyword whole /dev/audio brightblue
284     keyword whole /dev/dsp brightblue
285     keyword whole /dev/null brightblue
286     keyword whole /dev/mixed brightblue
287     keyword whole /dev/stdin brightblue
288     keyword whole /dev/stdout brightblue
289     keyword whole /dev/stderr brightblue
290     keyword whole /dev/zero brightblue
292 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
294 context # \n brown
295     spellcheck
297 context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]EOF EOF green
298 context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]END END green
300 context ' ' green
302 context " " green
303     keyword \\* brightgreen
304     keyword \\@ brightgreen
305     keyword \\$ brightgreen
306     keyword \\\\ brightgreen
307     keyword \\` brightgreen
308     keyword \\" brightgreen
309     keyword $(*) brightgreen
310     keyword ${*} brightgreen
311     keyword $\* brightred
312     keyword $@ brightred
313     keyword $# brightred
314     keyword $? brightred
315     keyword $- brightred
316     keyword $$ brightred
317     keyword $! brightred
318     keyword $_ brightred
319     keyword wholeright $\[0123456789\] brightred
321     keyword wholeright $+ brightgreen
323     keyword $ brightgreen
325 context exclusive ` ` lightgray black
326     keyword '*' green
327     keyword " green
328     keyword \\` green
329     keyword ; brightcyan
330     keyword $(*) brightgreen
331     keyword ${*} brightgreen
332     keyword { brightcyan
333     keyword } brightcyan
335     keyword $\* brightred
336     keyword $@ brightred
337     keyword $# brightred
338     keyword $? brightred
339     keyword $- brightred
340     keyword $$ brightred
341     keyword $! brightred
342     keyword $_ brightred
344     keyword whole 2>&1 brightred
345     keyword whole 2> brightred
346     keyword whole 1> brightred
348     keyword wholeright $\[0123456789\] brightred
350     keyword wholeright $+ brightgreen
352     keyword $ brightgreen
354 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._
356     keyword whole break yellow
357     keyword whole case yellow
358     keyword whole clear yellow
359     keyword whole continue yellow
360     keyword whole declare yellow
361     keyword whole done yellow
362     keyword whole do yellow
363     keyword whole elif yellow
364     keyword whole else yellow
365     keyword whole esac yellow
366     keyword whole exit yellow
367     keyword whole export yellow
368     keyword whole fi yellow
369     keyword whole for yellow
370     keyword whole getopts yellow
371     keyword whole if yellow
372     keyword whole in yellow
373     keyword whole read yellow
374     keyword whole return yellow
375     keyword whole select yellow
376     keyword whole shift yellow
377     keyword whole source yellow
378     keyword whole then yellow
379     keyword whole trap yellow
380     keyword whole until yellow
381     keyword whole unset yellow
382     keyword whole wait yellow
383     keyword whole while yellow
385 # here goes usable subset for .ebuild commands
386     keyword whole awk cyan
387     keyword whole sed cyan
389     keyword whole /dev/audio brightblue
390     keyword whole /dev/dsp brightblue
391     keyword whole /dev/null brightblue
392     keyword whole /dev/mixed brightblue
393     keyword whole /dev/stdin brightblue
394     keyword whole /dev/stdout brightblue
395     keyword whole /dev/stderr brightblue
396     keyword whole /dev/zero brightblue
398 context inherit \n magenta
399     keyword whole inherit yellow