## Here is an example for ebuilds/eclasses ## # syntax "ebuild" "\.e(build|class)$" ## All the standard portage functions # color brightgreen "^src_(unpack|compile|install)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))" ## Highlight bash related syntax # color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>" # color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" # color green "-(e|d|f|r|g|u|w|x|L)\>" # color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" ## Highlight variables ... official portage ones in red, all others in bright red # color brightred "\$\{?[a-zA-Z_0-9]+\}?" # color red "\<(ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT)\>" # color red "\<(S|D|T|PV|PF|P|PN|A)\>" "\" ## Highlight portage commands # color magenta "\ [a-z0-9X ]*" "inherit.*" # color brightblue "e(begin|end|conf|install|make|warn|infon?|error|patch)" # color brightblue "\" "\" "\" "\" "\<(has|best)_version\>" "\" # color brightblue "\<(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe)\>" # color brightblue "\" "\" # color brightblue "prepall(|docs|info|man|strip)" "prep(info|lib|lib\.so|man|strip)" # color brightblue "\<(|doc|ins|exe)into\>" "\" "\<(exe|ins)opts\>" ## Highlight common commands used in ebuilds # color blue "\" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|let|ln|mkdir|mv|rm|sed|set|tar|touch|unset)\>" ## Highlight comments (doesnt work that well) # color yellow "#.*$" ## Highlight strings (doesnt work that well) # color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"