Added
This commit is contained in:
111
gui-libs/gtksourceview/files/5-gentoo.lang
Normal file
111
gui-libs/gtksourceview/files/5-gentoo.lang
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
GtkSourceView syntax highlight for Gentoo-specific files
|
||||
|
||||
Originally written for gtksourceview-1.x by:
|
||||
Leonardo Ferreira Fontenelle <leo.fontenelle@gmail.com>, 2006.
|
||||
Rewritten for gtksourceview-2 by:
|
||||
Rene 'Necoro' Neumann <necoro@necoro.net>, 2007
|
||||
|
||||
Distributed under the same license(s) as gtksourceview.
|
||||
|
||||
TODO:
|
||||
- do not highlight "enable" in the configure options
|
||||
- perhaps highlight portage variables and portage functions different
|
||||
|
||||
-->
|
||||
|
||||
<language name="gentoo" id="gentoo" version="2.0" _section="Scripts">
|
||||
<metadata>
|
||||
<property name="globs">*.ebuild;*.eclass</property>
|
||||
<property name="line-comment-start">#</property>
|
||||
</metadata>
|
||||
|
||||
<styles>
|
||||
<style id="variable" _name="Portage variables" map-to="def:builtin" />
|
||||
<style id="command" _name="Portage command" map-to="def:type" />
|
||||
<style id="function" _name="Portage function" map-to="def:function" />
|
||||
<style id="string" _name="String" map-to="def:string" />
|
||||
</styles>
|
||||
|
||||
<definitions>
|
||||
|
||||
<!-- rewrite shell string to show highlighted variables -->
|
||||
<context id="string" style-ref="def:string">
|
||||
<start>"</start>
|
||||
<end>"</end>
|
||||
<include>
|
||||
<context ref="def:escape"/>
|
||||
<context ref="def:line-continue"/>
|
||||
<context ref="sh:variable"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="string-2" style-ref="def:string">
|
||||
<start>'</start>
|
||||
<end>'</end>
|
||||
<include>
|
||||
<context ref="def:escape"/>
|
||||
<context ref="def:line-continue"/>
|
||||
<context ref="sh:variable"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<!-- subprograms:
|
||||
- $(..) is not supported currently in the normal sh.lang
|
||||
- `...` is interpreted as string - I think the subshell behavior is more acurate -->
|
||||
<context id="subprogram">
|
||||
<start>\$\(</start>
|
||||
<end>\)</end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="sh:keyword"/>
|
||||
<context sub-pattern="0" where="end" style-ref="sh:keyword"/>
|
||||
<context ref="gentoo"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<context id="subprogram-2">
|
||||
<start>`</start>
|
||||
<end>`</end>
|
||||
<include>
|
||||
<context sub-pattern="0" where="start" style-ref="sh:keyword"/>
|
||||
<context sub-pattern="0" where="end" style-ref="sh:keyword"/>
|
||||
<context ref="gentoo"/>
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<!-- portage variables - currently unused -->
|
||||
<context id="portvars" style-ref="variable">
|
||||
<match>\b((ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT)|(S|D|T|PV|PF|P|PN|A)|C(XX)?FLAGS|LDFLAGS|C(HOST|TARGET|BUILD))\b</match>
|
||||
</context>
|
||||
|
||||
<!-- portage functions - currently unused -->
|
||||
<context id="portfuncs" style-ref="function">
|
||||
<match>^(src_(unpack|compile|install|test)|pkg_(config|nofetch|setup|(pre|post)(inst|rm)))</match>
|
||||
</context>
|
||||
|
||||
<!-- extra portage commands -->
|
||||
<context id="portcmds" style-ref="command">
|
||||
<match>\b(e(begin|end|conf|make|warn|infon?|error)|die|use(_(with|enable))?|inherit|has|(has|best)_version|unpack|(do|new)(ins|s?bin|doc|lib(\.so|\.a)|man|info|exe|initd|confd|envd|pam|menu|icon)|do(python|dir|sym|jar|mo)|keepdir|(|doc|ins|exe)into|f(owners|perms)|(exe|ins|dir)opts)\b</match>
|
||||
</context>
|
||||
|
||||
<context id="built-in-command">
|
||||
<include> <!-- do not include "sh:built-in-command" as it is replaced down there - which would lead to an endless loop -->
|
||||
<context ref="sh:reserved-word" />
|
||||
<context ref="sh:let-command" />
|
||||
<context ref="portcmds" />
|
||||
</include>
|
||||
</context>
|
||||
|
||||
<!-- gentoo is just a shell with the replacements -->
|
||||
<replace id="sh:built-in-command" ref="built-in-command" />
|
||||
<replace id="sh:backtick-subshell" ref="subprogram-2" />
|
||||
<context id="gentoo">
|
||||
<include>
|
||||
<context ref="subprogram"/>
|
||||
<context ref="sh:sh"/>
|
||||
</include>
|
||||
</context>
|
||||
</definitions>
|
||||
</language>
|
||||
Reference in New Issue
Block a user