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