summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
commitc6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch)
tree36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-master.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml96
1 files changed, 96 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml
new file mode 100644
index 0000000..84d0fe1
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/openscad.xml
@@ -0,0 +1,96 @@
+<lexer>
+ <config>
+ <name>OpenSCAD</name>
+ <alias>openscad</alias>
+ <filename>*.scad</filename>
+ <mime_type>text/x-scad</mime_type>
+ </config>
+ <rules>
+ <state name="root">
+ <rule pattern="[^\S\n]+">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="\n">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="//(\n|[\w\W]*?[^\\]\n)">
+ <token type="CommentSingle"/>
+ </rule>
+ <rule pattern="/(\\\n)?[*][\w\W]*?[*](\\\n)?/">
+ <token type="CommentMultiline"/>
+ </rule>
+ <rule pattern="/(\\\n)?[*][\w\W]*">
+ <token type="CommentMultiline"/>
+ </rule>
+ <rule pattern="[{}\[\]\(\),;:]">
+ <token type="Punctuation"/>
+ </rule>
+ <rule pattern="[*!#%\-+=?/]">
+ <token type="Operator"/>
+ </rule>
+ <rule pattern="&lt;|&lt;=|==|!=|&gt;=|&gt;|&amp;&amp;|\|\|">
+ <token type="Operator"/>
+ </rule>
+ <rule pattern="\$(f[asn]|t|vp[rtd]|children)">
+ <token type="NameVariableMagic"/>
+ </rule>
+ <rule pattern="(undef|PI)\b">
+ <token type="KeywordConstant"/>
+ </rule>
+ <rule pattern="(use|include)((?:\s|\\\\s)+)">
+ <bygroups>
+ <token type="KeywordNamespace"/>
+ <token type="Text"/>
+ </bygroups>
+ <push state="includes"/>
+ </rule>
+ <rule pattern="(module)(\s*)([^\s\(]+)">
+ <bygroups>
+ <token type="KeywordNamespace"/>
+ <token type="Text"/>
+ <token type="NameNamespace"/>
+ </bygroups>
+ </rule>
+ <rule pattern="(function)(\s*)([^\s\(]+)">
+ <bygroups>
+ <token type="KeywordDeclaration"/>
+ <token type="Text"/>
+ <token type="NameFunction"/>
+ </bygroups>
+ </rule>
+ <rule pattern="\b(true|false)\b">
+ <token type="Literal"/>
+ </rule>
+ <rule pattern="\b(function|module|include|use|for|intersection_for|if|else|return)\b">
+ <token type="Keyword"/>
+ </rule>
+ <rule pattern="\b(circle|square|polygon|text|sphere|cube|cylinder|polyhedron|translate|rotate|scale|resize|mirror|multmatrix|color|offset|hull|minkowski|union|difference|intersection|abs|sign|sin|cos|tan|acos|asin|atan|atan2|floor|round|ceil|ln|log|pow|sqrt|exp|rands|min|max|concat|lookup|str|chr|search|version|version_num|norm|cross|parent_module|echo|import|import_dxf|dxf_linear_extrude|linear_extrude|rotate_extrude|surface|projection|render|dxf_cross|dxf_dim|let|assign|len)\b">
+ <token type="NameBuiltin"/>
+ </rule>
+ <rule pattern="\bchildren\b">
+ <token type="NameBuiltinPseudo"/>
+ </rule>
+ <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
+ <token type="LiteralStringDouble"/>
+ </rule>
+ <rule pattern="-?\d+(\.\d+)?(e[+-]?\d+)?">
+ <token type="LiteralNumber"/>
+ </rule>
+ <rule pattern="[a-zA-Z_]\w*">
+ <token type="Name"/>
+ </rule>
+ </state>
+ <state name="includes">
+ <rule pattern="(&lt;)([^&gt;]*)(&gt;)">
+ <bygroups>
+ <token type="Punctuation"/>
+ <token type="CommentPreprocFile"/>
+ <token type="Punctuation"/>
+ </bygroups>
+ </rule>
+ <rule>
+ <pop depth="1"/>
+ </rule>
+ </state>
+ </rules>
+</lexer> \ No newline at end of file