Merge branch '2888_cleanup'
[midnight-commander.git] / misc / syntax / ebuild.syntax
blobd28135cda9e15a93bacdcb893e6e2da98e1e4a75
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 eautoconf yellow
79     keyword whole eautoreconf yellow
80     keyword whole eautomake yellow
81     keyword whole ebegin yellow
82     keyword whole econf yellow
83     keyword whole eend yellow
84     keyword whole eerror yellow
85     keyword whole einfo yellow
86     keyword whole einstall yellow
87     keyword whole elibtoolize yellow
88     keyword whole elog yellow
89     keyword whole emake yellow
90     keyword whole epatch yellow
91     keyword whole epatch_user yellow
92     keyword whole ewarn yellow
93     keyword whole exeinto yellow
94     keyword whole exeopts yellow
95     keyword whole enewgroup yellow
96     keyword whole enewuser yellow
97     keyword whole fowners yellow
98     keyword whole fperms yellow
99     keyword whole has yellow
100     keyword whole hasq yellow
101     keyword whole has_version yellow
102     keyword whole insinto yellow
103     keyword whole insopts yellow
104     keyword whole intltoolize yellow
105     keyword whole into yellow
106     keyword whole keepdir yellow
107     keyword whole libopts yellow
108     keyword whole local yellow
109     keyword whole newbin yellow
110     keyword whole newconfd yellow
111     keyword whole newdoc yellow
112     keyword whole newexe yellow
113     keyword whole newins yellow
114     keyword whole newman yellow
115     keyword whole newsbin yellow
116     keyword whole newinitd yellow
117     keyword whole prepall yellow
118     keyword whole prepalldocs yellow
119     keyword whole prepallinfo yellow
120     keyword whole prepallman yellow
121     keyword whole unpack yellow
122     keyword whole use yellow
123     keyword whole use_enable yellow
124     keyword whole use_with yellow
125     #base
126     keyword whole base_src_unpack yellow
127     #cvs
128     keyword whole cvs_src_unpack yellow
129     #darcs
130     keyword whole darcs_src_unpack yellow
131     #elisp-common
132     keyword whole elisp-compile yellow
133     keyword whole elisp-install yellow
134     keyword whole elisp-site-file-install yellow
135     keyword whole elisp-site-regen yellow
136     #flag-o-matic
137     keyword whole append-flags yellow
138     keyword whole filter-flags yellow
139     keyword whole replace-flags yellow
140     keyword whole strip-flags yellow
141     keyword whole strip-unsupported-flags yellow
142     #git
143     keyword whole git_src_unpack yellow
144     #java-ant-2
145     keyword whole EANT_BUILD_TARGET yellow
146     #mercurial
147     keyword whole mercurial_src_unpack yellow
148     #svn
149     keyword whole subversion_src_unpack yellow
151     #bashism (builtin extended 'test')
152     keyword whole [[ brightcyan
153     keyword whole ]] brightcyan
155 ####################
156 # here starts original sh.syntax (with core commands only)
157 ####################
159     keyword ! brightred
160     keyword ;; brightred
161     keyword \\@ brightred
162     keyword \\$ brightred
163     keyword \\\\ brightred
164     keyword \\" brightred
165     keyword \\' brightred
166     keyword \\` brightred
167     keyword ` brightred
168     keyword ; brightcyan
169     keyword $(*) brightgreen
170     keyword ${*} brightgreen
171     keyword { brightcyan
172     keyword } brightcyan
174     keyword whole linestart #!\[\s\]*\n brightcyan black
176     keyword $\* brightred
177     keyword $@ brightred
178     keyword $# brightred
179     keyword $? brightred
180     keyword $- brightred
181     keyword $$ brightred
182     keyword $! brightred
183     keyword $_ brightred
185     keyword whole 2>&1 brightred
186     keyword whole 1>&2 brightred
187     keyword whole 2> brightred
188     keyword whole 1> brightred
190     keyword wholeright $\[0123456789\] brightred
192     keyword wholeright $+ brightgreen
194     keyword $ brightgreen
196     keyword wholeleft linestart function*() brightmagenta
197     keyword wholeleft linestart function\[\s\]+ brightmagenta
198     keyword wholeright +() brightmagenta
200 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._
202     keyword whole break yellow
203     keyword whole case yellow
204     keyword whole clear yellow
205     keyword whole continue yellow
206     keyword whole declare yellow
207     keyword whole done yellow
208     keyword whole do yellow
209     keyword whole elif yellow
210     keyword whole else yellow
211     keyword whole esac yellow
212     keyword whole exit yellow
213     keyword whole export yellow
214     keyword whole fi yellow
215     keyword whole for yellow
216     keyword whole getopts yellow
217     keyword whole if yellow
218     keyword whole in yellow
219     keyword whole read yellow
220     keyword whole return yellow
221     keyword whole select yellow
222     keyword whole shift yellow
223     keyword whole source yellow
224     keyword whole then yellow
225     keyword whole trap yellow
226     keyword whole until yellow
227     keyword whole unset yellow
228     keyword whole wait yellow
229     keyword whole while yellow
231 # here goes usable subset for .ebuild commands
232     keyword whole awk cyan
233     keyword whole cd cyan
234     keyword whole chown cyan
235     keyword whole chmod cyan
236     keyword whole cmake cyan
237     keyword whole cp cyan
238     keyword whole echo cyan
239     keyword whole egrep cyan
240     keyword whole fgrep cyan
241     keyword whole find cyan
242     keyword whole grep cyan
243     keyword whole ln cyan
244     keyword whole make cyan
245     keyword whole mkdir cyan
246     keyword whole mknod cyan
247     keyword whole mv cyan
248     keyword whole perl cyan
249     keyword whole pod2man cyan
250     keyword whole popd cyan
251     keyword whole pushd cyan
252     keyword whole rm cyan
253     keyword whole sed cyan
254     keyword whole sh cyan
255     keyword whole touch cyan
256     keyword whole xmkmf cyan
258 # some interesting files to copy
259     keyword whole ANNOUNCEMENT white
260     keyword whole AUTHORS white
261     keyword whole BUGS white
262     keyword whole CHANGES white
263     keyword whole COPYING white
264     keyword whole COPYRIGHT white
265     keyword whole CREDITS white
266     keyword whole ChangeLog white
267     keyword whole FAQ white
268     keyword whole HACKING white
269     keyword whole INSTALL white
270     keyword whole LICENSE white
271     keyword whole NEWS white
272     keyword whole README white
273     keyword whole THANKS white
274     keyword whole TODO white
275     keyword whole VERSION white
277     keyword whole /dev/audio brightblue
278     keyword whole /dev/dsp brightblue
279     keyword whole /dev/null brightblue
280     keyword whole /dev/mixed brightblue
281     keyword whole /dev/stdin brightblue
282     keyword whole /dev/stdout brightblue
283     keyword whole /dev/stderr brightblue
284     keyword whole /dev/zero brightblue
286 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
288 context # \n brown
289     spellcheck
291 context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]EOF EOF green
292 context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]END END green
294 context ' ' green
296 context " " green
297     keyword \\* brightgreen
298     keyword \\@ brightgreen
299     keyword \\$ brightgreen
300     keyword \\\\ brightgreen
301     keyword \\` brightgreen
302     keyword \\" brightgreen
303     keyword $(*) brightgreen
304     keyword ${*} brightgreen
305     keyword $\* brightred
306     keyword $@ brightred
307     keyword $# brightred
308     keyword $? brightred
309     keyword $- brightred
310     keyword $$ brightred
311     keyword $! brightred
312     keyword $_ brightred
313     keyword wholeright $\[0123456789\] brightred
315     keyword wholeright $+ brightgreen
317     keyword $ brightgreen
319 context exclusive ` ` lightgray black
320     keyword '*' green
321     keyword " green
322     keyword \\` green
323     keyword ; brightcyan
324     keyword $(*) brightgreen
325     keyword ${*} brightgreen
326     keyword { brightcyan
327     keyword } brightcyan
329     keyword $\* brightred
330     keyword $@ brightred
331     keyword $# brightred
332     keyword $? brightred
333     keyword $- brightred
334     keyword $$ brightred
335     keyword $! brightred
336     keyword $_ brightred
338     keyword whole 2>&1 brightred
339     keyword whole 2> brightred
340     keyword whole 1> brightred
342     keyword wholeright $\[0123456789\] brightred
344     keyword wholeright $+ brightgreen
346     keyword $ brightgreen
348 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._
350     keyword whole break yellow
351     keyword whole case yellow
352     keyword whole clear yellow
353     keyword whole continue yellow
354     keyword whole declare yellow
355     keyword whole done yellow
356     keyword whole do yellow
357     keyword whole elif yellow
358     keyword whole else yellow
359     keyword whole esac yellow
360     keyword whole exit yellow
361     keyword whole export yellow
362     keyword whole fi yellow
363     keyword whole for yellow
364     keyword whole getopts yellow
365     keyword whole if yellow
366     keyword whole in yellow
367     keyword whole read yellow
368     keyword whole return yellow
369     keyword whole select yellow
370     keyword whole shift yellow
371     keyword whole source yellow
372     keyword whole then yellow
373     keyword whole trap yellow
374     keyword whole until yellow
375     keyword whole unset yellow
376     keyword whole wait yellow
377     keyword whole while yellow
379 # here goes usable subset for .ebuild commands
380     keyword whole awk cyan
381     keyword whole sed cyan
383     keyword whole /dev/audio brightblue
384     keyword whole /dev/dsp brightblue
385     keyword whole /dev/null brightblue
386     keyword whole /dev/mixed brightblue
387     keyword whole /dev/stdin brightblue
388     keyword whole /dev/stdout brightblue
389     keyword whole /dev/stderr brightblue
390     keyword whole /dev/zero brightblue
392 context inherit \n magenta
393     keyword whole inherit yellow