Added lexars
This commit is contained in:
parent
382b2ce94b
commit
f9f64b0558
820 changed files with 149371 additions and 0 deletions
lexers/embedded
131
lexers/embedded/makefile.xml
Normal file
131
lexers/embedded/makefile.xml
Normal file
|
@ -0,0 +1,131 @@
|
|||
<lexer>
|
||||
<config>
|
||||
<name>Makefile</name>
|
||||
<alias>make</alias>
|
||||
<alias>makefile</alias>
|
||||
<alias>mf</alias>
|
||||
<alias>bsdmake</alias>
|
||||
<filename>*.mak</filename>
|
||||
<filename>*.mk</filename>
|
||||
<filename>Makefile</filename>
|
||||
<filename>makefile</filename>
|
||||
<filename>Makefile.*</filename>
|
||||
<filename>GNUmakefile</filename>
|
||||
<filename>BSDmakefile</filename>
|
||||
<filename>Justfile</filename>
|
||||
<filename>justfile</filename>
|
||||
<filename>.justfile</filename>
|
||||
<mime_type>text/x-makefile</mime_type>
|
||||
<ensure_nl>true</ensure_nl>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="^(?:[\t ]+.*\n|\n)+">
|
||||
<using lexer="Bash"/>
|
||||
</rule>
|
||||
<rule pattern="\$[<@$+%?|*]">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="#.*?\n">
|
||||
<token type="Comment"/>
|
||||
</rule>
|
||||
<rule pattern="(export)(\s+)(?=[\w${}\t -]+\n)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
<push state="export"/>
|
||||
</rule>
|
||||
<rule pattern="export\s+">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)">
|
||||
<bygroups>
|
||||
<token type="NameVariable"/>
|
||||
<token type="Text"/>
|
||||
<token type="Operator"/>
|
||||
<token type="Text"/>
|
||||
<using lexer="Bash"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(?s)"(\\\\|\\.|[^"\\])*"">
|
||||
<token type="LiteralStringDouble"/>
|
||||
</rule>
|
||||
<rule pattern="(?s)'(\\\\|\\.|[^'\\])*'">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="([^\n:]+)(:+)([ \t]*)">
|
||||
<bygroups>
|
||||
<token type="NameFunction"/>
|
||||
<token type="Operator"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
<push state="block-header"/>
|
||||
</rule>
|
||||
<rule pattern="\$\(">
|
||||
<token type="Keyword"/>
|
||||
<push state="expansion"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="expansion">
|
||||
<rule pattern="[^$a-zA-Z_()]+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z_]+">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="\$">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="\(">
|
||||
<token type="Keyword"/>
|
||||
<push/>
|
||||
</rule>
|
||||
<rule pattern="\)">
|
||||
<token type="Keyword"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="export">
|
||||
<rule pattern="[\w${}-]+">
|
||||
<token type="NameVariable"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="Text"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="block-header">
|
||||
<rule pattern="[,|]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="#.*?\n">
|
||||
<token type="Comment"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\\\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\$\(">
|
||||
<token type="Keyword"/>
|
||||
<push state="expansion"/>
|
||||
</rule>
|
||||
<rule pattern="[a-zA-Z_]+">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="Text"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern=".">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
Loading…
Add table
Add a link
Reference in a new issue