medit/moo/mooedit/syntax/perl.lang

271 lines
9.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Perl" section="Scripts"
mimetypes="text/x-perl;application/x-perl"
extensions="*.pl">
<!-- Taken from gtksourceview distribution -->
<syntax>
<keyword-list suffix="\b" name="keywords">
<keyword>eq</keyword>
<keyword>ne</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>read</keyword>
<keyword>keys</keyword>
<keyword>chomp</keyword>
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elsif</keyword>
<keyword>unless</keyword>
<keyword>open</keyword>
<keyword>close</keyword>
<keyword>split</keyword>
<keyword>for</keyword>
<keyword>while</keyword>
<keyword>foreach</keyword>
<keyword>exit</keyword>
<keyword>sub</keyword>
<keyword>print</keyword>
<keyword>use</keyword>
<keyword>require</keyword>
<keyword>elseif</keyword>
<keyword>continue</keyword>
<keyword>until</keyword>
<keyword>do</keyword>
<keyword>last</keyword>
<keyword>next</keyword>
<keyword>redo</keyword>
<keyword>goto</keyword>
<keyword>chop</keyword>
<keyword>chr</keyword>
<keyword>crypt</keyword>
<keyword>hex</keyword>
<keyword>index</keyword>
<keyword>lc</keyword>
<keyword>lcfirst</keyword>
<keyword>length</keyword>
<keyword>oct</keyword>
<keyword>ord</keyword>
<keyword>reverse</keyword>
<keyword>rindex</keyword>
<keyword>printf</keyword>
<keyword>sprintf</keyword>
<keyword>substr</keyword>
<keyword>uc</keyword>
<keyword>ucfirst</keyword>
<keyword>pos</keyword>
<keyword>quotemeta</keyword>
<keyword>study</keyword>
<keyword>abs</keyword>
<keyword>atan2</keyword>
<keyword>cos</keyword>
<keyword>exp</keyword>
<keyword>int</keyword>
<keyword>log</keyword>
<keyword>rand</keyword>
<keyword>sin</keyword>
<keyword>sqrt</keyword>
<keyword>srand</keyword>
<keyword>pop</keyword>
<keyword>push</keyword>
<keyword>shift</keyword>
<keyword>splice</keyword>
<keyword>unshift</keyword>
<keyword>grep</keyword>
<keyword>join</keyword>
<keyword>map</keyword>
<keyword>sort</keyword>
<keyword>unpack</keyword>
<keyword>pack</keyword>
<keyword>delete</keyword>
<keyword>each</keyword>
<keyword>exists</keyword>
<keyword>values</keyword>
<keyword>binmode</keyword>
<keyword>closedir</keyword>
<keyword>dbmclose</keyword>
<keyword>dbmopen</keyword>
<keyword>die</keyword>
<keyword>eof</keyword>
<keyword>fileno</keyword>
<keyword>flock</keyword>
<keyword>format</keyword>
<keyword>getc</keyword>
<keyword>readdir</keyword>
<keyword>rewinddir</keyword>
<keyword>seek</keyword>
<keyword>seekdir</keyword>
<keyword>select</keyword>
<keyword>syscall</keyword>
<keyword>sysread</keyword>
<keyword>sysseek</keyword>
<keyword>syswrite</keyword>
<keyword>tell</keyword>
<keyword>telldir</keyword>
<keyword>truncate</keyword>
<keyword>warn</keyword>
<keyword>write</keyword>
<keyword>vec</keyword>
<keyword>chdir</keyword>
<keyword>chmod</keyword>
<keyword>chown</keyword>
<keyword>chroot</keyword>
<keyword>fcntl</keyword>
<keyword>glob</keyword>
<keyword>ioctl</keyword>
<keyword>link</keyword>
<keyword>lstat</keyword>
<keyword>mkdir</keyword>
<keyword>opendir</keyword>
<keyword>readlink</keyword>
<keyword>rename</keyword>
<keyword>rmdir</keyword>
<keyword>stat</keyword>
<keyword>symlink</keyword>
<keyword>umask</keyword>
<keyword>unlink</keyword>
<keyword>utime</keyword>
<keyword>caller</keyword>
<keyword>dump</keyword>
<keyword>eval</keyword>
<keyword>return</keyword>
<keyword>wantarray</keyword>
<keyword>import</keyword>
<keyword>local</keyword>
<keyword>my</keyword>
<keyword>our</keyword>
<keyword>package</keyword>
<keyword>defined</keyword>
<keyword>formline</keyword>
<keyword>prototype</keyword>
<keyword>reset</keyword>
<keyword>scalar</keyword>
<keyword>undef</keyword>
<keyword>alarm</keyword>
<keyword>exec</keyword>
<keyword>fork</keyword>
<keyword>getpgrp</keyword>
<keyword>getppid</keyword>
<keyword>getpriority</keyword>
<keyword>kill</keyword>
<keyword>pipe</keyword>
<keyword>setpgrp</keyword>
<keyword>setpriority</keyword>
<keyword>sleep</keyword>
<keyword>system</keyword>
<keyword>times</keyword>
<keyword>wait</keyword>
<keyword>waitpid</keyword>
<keyword>no</keyword>
<keyword>bless</keyword>
<keyword>ref</keyword>
<keyword>tie</keyword>
<keyword>tied</keyword>
<keyword>untie</keyword>
<keyword>accept</keyword>
<keyword>bind</keyword>
<keyword>connect</keyword>
<keyword>getpeername</keyword>
<keyword>getsockname</keyword>
<keyword>getsockopt</keyword>
<keyword>listen</keyword>
<keyword>recv</keyword>
<keyword>send</keyword>
<keyword>setsockopt</keyword>
<keyword>shutdown</keyword>
<keyword>socket</keyword>
<keyword>socketpair</keyword>
<keyword>msgctl</keyword>
<keyword>msgget</keyword>
<keyword>msgrcv</keyword>
<keyword>msgsnd</keyword>
<keyword>semctl</keyword>
<keyword>semget</keyword>
<keyword>semop</keyword>
<keyword>shmctl</keyword>
<keyword>shmget</keyword>
<keyword>shmread</keyword>
<keyword>shmwrite</keyword>
<keyword>endgrent</keyword>
<keyword>endhostent</keyword>
<keyword>endnetent</keyword>
<keyword>endpwent</keyword>
<keyword>getgrent</keyword>
<keyword>getgrgid</keyword>
<keyword>getgrnam</keyword>
<keyword>getlogin</keyword>
<keyword>getpwent</keyword>
<keyword>getpwnam</keyword>
<keyword>getpwuid</keyword>
<keyword>setgrent</keyword>
<keyword>setpwent</keyword>
<keyword>endprotoent</keyword>
<keyword>endservent</keyword>
<keyword>gethostbyaddr</keyword>
<keyword>gethostbyname</keyword>
<keyword>gethostent</keyword>
<keyword>getnetbyaddr</keyword>
<keyword>getnetbyname</keyword>
<keyword>getnetent</keyword>
<keyword>getprotobyname</keyword>
<keyword>getprotobynumber</keyword>
<keyword>getprotoent</keyword>
<keyword>getservbyname</keyword>
<keyword>getservbyport</keyword>
<keyword>getservent</keyword>
<keyword>sethostent</keyword>
<keyword>setnetent</keyword>
<keyword>setprotoent</keyword>
<keyword>setservent</keyword>
<keyword>gmtime</keyword>
<keyword>localtime</keyword>
<keyword>time</keyword>
</keyword-list>
<context style="Normal" eol-context="#stay" name="Normal">
<Regex pattern="^=[a-z]" style="Comment" context="Comment1"/>
<Char char="&quot;" style="String" context="String1"/>
<Char char="&apos;" style="String" context="String2"/>
<Char char="`" style="String" context="String3"/>
<Keyword keyword="keywords" style="Keyword"/>
<Identifier/>
<Regex pattern="[$@%][$]?[a-zA-Z_][a-zA-Z0-9_]*" style="Variable"/>
<Regex pattern="&amp;[a-zA-Z_][a-zA-Z0-9_]*" style="Others"/>
<Regex pattern="-&gt;[a-zA-Z_][a-zA-Z0-9_]*" style="Others"/>
<Char char="#" style="Comment" context="Comment2"/>
</context>
<context name="Comment1" style="Comment" eol-context="#stay">
<Regex pattern="^=cut" style="Comment" context="#pop"/>
</context>
<context name="Comment2" style="Comment" eol-context="#pop"/>
<context name="String1" style="String" eol-context="#stay">
<Char char="&quot;" style="String" context="#pop"/>
</context>
<context name="String2" style="String" eol-context="#stay">
<Char char="&apos;" style="String" context="#pop"/>
</context>
<context name="String3" style="String" eol-context="#stay">
<Char char="`" style="String" context="#pop"/>
</context>
</syntax>
<styles>
<style name="Normal" default-style="Normal"/>
<style name="Comment" default-style="Comment"/>
<style name="Keyword" default-style="Keyword"/>
<style name="String" default-style="String"/>
<style name="Others" default-style="Others"/>
<style name="Variable" default-style="DataType"/>
</styles>
<general>
<brackets>(){}[]</brackets>
<comments>
<single-line start="#"/>
</comments>
</general>
</language>