This file is indexed.

/usr/share/mc/syntax/ebuild.syntax is in mc-data 3:4.8.11-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# Author   : Sergei Trofimovich <slyfox@inbox.ru>
# Language : shell
# Mode     : ebuild
#
# sh.syntax is taken as base.
#
# Note     : keep in sync default and " " contexts
#
# 'sh.syntax' header:
#  #   Since I regulary update ths file, please send any comments
#  #   to:           Michelle Konzack <linux4michelle@freenet.de>
#  #   Last Update:  Thu, 01 Jun 2006 22:10:07 +0200

context default
    #.ebuild specific commands/glo vars
    # TODO: 1. split keywords by .eclass'es
    #       2. grep all exports and place here
    keyword whole CABAL_FEATURES brightcyan
    keyword whole DEPEND brightcyan
    keyword whole DESCRIPTION brightcyan
    keyword whole EAPI brightcyan
    keyword whole EDARCS_REPOSITORY brightcyan
    keyword whole EDARCS_GET_CMD brightcyan
    keyword whole EDARCS_LOCALREPO brightcyan
    keyword whole EGIT_BRANCH brightcyan
    keyword whole EGIT_PROJECT brightcyan
    keyword whole EGIT_REPO_URI brightcyan
    keyword whole EGIT_TREE brightcyan
    keyword whole ESVN_REPO_URI brightcyan
    keyword whole EXPORT_FUNCTIONS brightcyan
    keyword whole HOMEPAGE brightcyan
    keyword whole IUSE brightcyan
    keyword whole KEYWORDS brightcyan
    keyword whole LICENSE brightcyan
    keyword whole PATCHES brightcyan
    keyword whole PDEPEND brightcyan
    keyword whole PROVIDE brightcyan
    keyword whole RDEPEND brightcyan
    keyword whole REQUIRED_USE brightcyan
    keyword whole RESTRICT brightcyan
    keyword whole S brightcyan
    keyword whole SITEFILE brightcyan
    keyword whole SLOT brightcyan
    keyword whole SRC_URI brightcyan
    keyword whole WANT_AUTOCONF brightcyan
    keyword whole WANT_AUTOMAKE brightcyan
    keyword DOCS brightcyan
    keyword LINGUAS brightcyan

    keyword whole _elibtoolize yellow
    keyword whole best_version yellow
    keyword whole built_with_use yellow
    keyword whole check_KV yellow
    keyword whole die yellow
    keyword whole diropts yellow
    keyword whole dobin yellow
    keyword whole docinto yellow
    keyword whole doconfd yellow
    keyword whole dodir yellow
    keyword whole dodoc yellow
    keyword whole doenvd yellow
    keyword whole doexe yellow
    keyword whole dohard yellow
    keyword whole dohtml yellow
    keyword whole doicon yellow
    keyword whole doinfo yellow
    keyword whole doinitd yellow
    keyword whole doins yellow
    keyword whole dolib yellow
    keyword whole dolib.a yellow
    keyword whole dolib.so yellow
    keyword whole doman yellow
    keyword whole domenu yellow
    keyword whole dosbin yellow
    keyword whole dosed yellow
    keyword whole dosym yellow
    keyword whole eaclocal yellow
    keyword whole eautoconf yellow
    keyword whole eautoreconf yellow
    keyword whole eautomake yellow
    keyword whole ebegin yellow
    keyword whole econf yellow
    keyword whole eend yellow
    keyword whole eerror yellow
    keyword whole einfo yellow
    keyword whole einstall yellow
    keyword whole elibtoolize yellow
    keyword whole elog yellow
    keyword whole emake yellow
    keyword whole epatch yellow
    keyword whole epatch_user yellow
    keyword whole ewarn yellow
    keyword whole exeinto yellow
    keyword whole exeopts yellow
    keyword whole enewgroup yellow
    keyword whole enewuser yellow
    keyword whole fowners yellow
    keyword whole fperms yellow
    keyword whole has yellow
    keyword whole hasq yellow
    keyword whole has_version yellow
    keyword whole insinto yellow
    keyword whole insopts yellow
    keyword whole intltoolize yellow
    keyword whole into yellow
    keyword whole keepdir yellow
    keyword whole libopts yellow
    keyword whole local yellow
    keyword whole newbin yellow
    keyword whole newconfd yellow
    keyword whole newdoc yellow
    keyword whole newexe yellow
    keyword whole newins yellow
    keyword whole newman yellow
    keyword whole newsbin yellow
    keyword whole newinitd yellow
    keyword whole prepall yellow
    keyword whole prepalldocs yellow
    keyword whole prepallinfo yellow
    keyword whole prepallman yellow
    keyword whole unpack yellow
    keyword whole use yellow
    keyword whole use_enable yellow
    keyword whole use_with yellow
    #base
    keyword whole base_src_unpack yellow
    #cvs
    keyword whole cvs_src_unpack yellow
    #darcs
    keyword whole darcs_src_unpack yellow
    #elisp-common
    keyword whole elisp-compile yellow
    keyword whole elisp-install yellow
    keyword whole elisp-site-file-install yellow
    keyword whole elisp-site-regen yellow
    #flag-o-matic
    keyword whole append-flags yellow
    keyword whole filter-flags yellow
    keyword whole replace-flags yellow
    keyword whole strip-flags yellow
    keyword whole strip-unsupported-flags yellow
    #git
    keyword whole git_src_unpack yellow
    #java-ant-2
    keyword whole EANT_BUILD_TARGET yellow
    #mercurial
    keyword whole mercurial_src_unpack yellow
    #svn
    keyword whole subversion_src_unpack yellow

    #bashism (builtin extended 'test')
    keyword whole [[ brightcyan
    keyword whole ]] brightcyan

####################
# here starts original sh.syntax (with core commands only)
####################

    keyword ! brightred
    keyword ;; brightred
    keyword \\@ brightred
    keyword \\$ brightred
    keyword \\\\ brightred
    keyword \\" brightred
    keyword \\' brightred
    keyword \\` brightred
    keyword ` brightred
    keyword ; brightcyan
    keyword $(*) brightgreen
    keyword ${*} brightgreen
    keyword { brightcyan
    keyword } brightcyan

    keyword whole linestart #!\[\s\]*\n brightcyan black

    keyword $\* brightred
    keyword $@ brightred
    keyword $# brightred
    keyword $? brightred
    keyword $- brightred
    keyword $$ brightred
    keyword $! brightred
    keyword $_ brightred

    keyword whole 2>&1 brightred
    keyword whole 1>&2 brightred
    keyword whole 2> brightred
    keyword whole 1> brightred

    keyword wholeright $\[0123456789\] brightred

    keyword wholeright $+ brightgreen

    keyword $ brightgreen

    keyword wholeleft linestart function*() brightmagenta
    keyword wholeleft linestart function\[\s\]+ brightmagenta
    keyword wholeright +() brightmagenta

wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._

    keyword whole break yellow
    keyword whole case yellow
    keyword whole clear yellow
    keyword whole continue yellow
    keyword whole declare yellow
    keyword whole done yellow
    keyword whole do yellow
    keyword whole elif yellow
    keyword whole else yellow
    keyword whole esac yellow
    keyword whole exit yellow
    keyword whole export yellow
    keyword whole fi yellow
    keyword whole for yellow
    keyword whole getopts yellow
    keyword whole if yellow
    keyword whole in yellow
    keyword whole read yellow
    keyword whole return yellow
    keyword whole select yellow
    keyword whole shift yellow
    keyword whole source yellow
    keyword whole then yellow
    keyword whole trap yellow
    keyword whole until yellow
    keyword whole unset yellow
    keyword whole wait yellow
    keyword whole while yellow

# here goes usable subset for .ebuild commands
    keyword whole awk cyan
    keyword whole cd cyan
    keyword whole chown cyan
    keyword whole chmod cyan
    keyword whole cmake cyan
    keyword whole cp cyan
    keyword whole echo cyan
    keyword whole egrep cyan
    keyword whole fgrep cyan
    keyword whole find cyan
    keyword whole grep cyan
    keyword whole ln cyan
    keyword whole make cyan
    keyword whole mkdir cyan
    keyword whole mknod cyan
    keyword whole mv cyan
    keyword whole perl cyan
    keyword whole pod2man cyan
    keyword whole popd cyan
    keyword whole pushd cyan
    keyword whole rm cyan
    keyword whole sed cyan
    keyword whole sh cyan
    keyword whole touch cyan
    keyword whole xmkmf cyan

# some interesting files to copy
    keyword whole ANNOUNCEMENT white
    keyword whole AUTHORS white
    keyword whole BUGS white
    keyword whole CHANGES white
    keyword whole COPYING white
    keyword whole COPYRIGHT white
    keyword whole CREDITS white
    keyword whole ChangeLog white
    keyword whole FAQ white
    keyword whole HACKING white
    keyword whole INSTALL white
    keyword whole LICENSE white
    keyword whole NEWS white
    keyword whole README white
    keyword whole THANKS white
    keyword whole TODO white
    keyword whole VERSION white

    keyword whole /dev/audio brightblue
    keyword whole /dev/dsp brightblue
    keyword whole /dev/null brightblue
    keyword whole /dev/mixed brightblue
    keyword whole /dev/stdin brightblue
    keyword whole /dev/stdout brightblue
    keyword whole /dev/stderr brightblue
    keyword whole /dev/zero brightblue

wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

context # \n brown
    spellcheck

context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]EOF EOF green
context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]END END green

context ' ' green

context " " green
    keyword \\* brightgreen
    keyword \\@ brightgreen
    keyword \\$ brightgreen
    keyword \\\\ brightgreen
    keyword \\` brightgreen
    keyword \\" brightgreen
    keyword $(*) brightgreen
    keyword ${*} brightgreen
    keyword $\* brightred
    keyword $@ brightred
    keyword $# brightred
    keyword $? brightred
    keyword $- brightred
    keyword $$ brightred
    keyword $! brightred
    keyword $_ brightred
    keyword wholeright $\[0123456789\] brightred

    keyword wholeright $+ brightgreen

    keyword $ brightgreen

context exclusive ` ` lightgray black
    keyword '*' green
    keyword " green
    keyword \\` green
    keyword ; brightcyan
    keyword $(*) brightgreen
    keyword ${*} brightgreen
    keyword { brightcyan
    keyword } brightcyan

    keyword $\* brightred
    keyword $@ brightred
    keyword $# brightred
    keyword $? brightred
    keyword $- brightred
    keyword $$ brightred
    keyword $! brightred
    keyword $_ brightred

    keyword whole 2>&1 brightred
    keyword whole 2> brightred
    keyword whole 1> brightred

    keyword wholeright $\[0123456789\] brightred

    keyword wholeright $+ brightgreen

    keyword $ brightgreen

wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._

    keyword whole break yellow
    keyword whole case yellow
    keyword whole clear yellow
    keyword whole continue yellow
    keyword whole declare yellow
    keyword whole done yellow
    keyword whole do yellow
    keyword whole elif yellow
    keyword whole else yellow
    keyword whole esac yellow
    keyword whole exit yellow
    keyword whole export yellow
    keyword whole fi yellow
    keyword whole for yellow
    keyword whole getopts yellow
    keyword whole if yellow
    keyword whole in yellow
    keyword whole read yellow
    keyword whole return yellow
    keyword whole select yellow
    keyword whole shift yellow
    keyword whole source yellow
    keyword whole then yellow
    keyword whole trap yellow
    keyword whole until yellow
    keyword whole unset yellow
    keyword whole wait yellow
    keyword whole while yellow

# here goes usable subset for .ebuild commands
    keyword whole awk cyan
    keyword whole sed cyan

    keyword whole /dev/audio brightblue
    keyword whole /dev/dsp brightblue
    keyword whole /dev/null brightblue
    keyword whole /dev/mixed brightblue
    keyword whole /dev/stdin brightblue
    keyword whole /dev/stdout brightblue
    keyword whole /dev/stderr brightblue
    keyword whole /dev/zero brightblue

context inherit \n magenta
    keyword whole inherit yellow