This repository has been archived on 2020-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
gnoemoe/data/moo.lang

218 lines
6.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="MOO" version="1.0" _section="Sources" mimetypes="text/x-moo">
<escape-char>\</escape-char>
<line-comment _name = "Line Comment" style= "Comment" end-at-line-end = "TRUE">
<start-regex>^[ ]*&quot;</start-regex>
<end-regex>&quot;</end-regex>
</line-comment>
<string _name = "String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="FALSE">
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>endif</keyword>
<keyword>for</keyword>
<keyword>endfor</keyword>
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>while</keyword>
<keyword>endwhile</keyword>
<keyword>in</keyword>
<keyword>return</keyword>
<keyword>try</keyword>
<keyword>except</keyword>
<keyword>endtry</keyword>
<keyword>finally</keyword>
<keyword>fork</keyword>
<keyword>endfork</keyword>
</keyword-list>
<keyword-list _name = "Error" style = "Data Type" case-sensitive="FALSE">
<keyword>E_NONE</keyword>
<keyword>E_TYPE</keyword>
<keyword>E_DIV</keyword>
<keyword>E_PERM</keyword>
<keyword>E_PROPNF</keyword>
<keyword>E_VERBNF</keyword>
<keyword>E_VARNF</keyword>
<keyword>E_INVIND</keyword>
<keyword>E_RECMOVE</keyword>
<keyword>E_MAXREC</keyword>
<keyword>E_RANGE</keyword>
<keyword>E_ARGS</keyword>
<keyword>E_NACC</keyword>
<keyword>E_INVARG</keyword>
<keyword>E_QUOTA</keyword>
<keyword>E_FLOAT</keyword>
</keyword-list>
<keyword-list _name = "Builtin Functions" style = "Function" case-sensitive = "FALSE">
<keyword>abs</keyword>
<keyword>acos</keyword>
<keyword>add_property</keyword>
<keyword>asin</keyword>
<keyword>atan</keyword>
<keyword>binary_hash</keyword>
<keyword>boot_player</keyword>
<keyword>buffered_output_length</keyword>
<keyword>call_function</keyword>
<keyword>caller_perms</keyword>
<keyword>callers</keyword>
<keyword>ceil</keyword>
<keyword>children</keyword>
<keyword>chparent</keyword>
<keyword>clear_property</keyword>
<keyword>connected_players</keyword>
<keyword>connected_seconds</keyword>
<keyword>connection_name</keyword>
<keyword>connection_option</keyword>
<keyword>connection_options</keyword>
<keyword>cos</keyword>
<keyword>cosh</keyword>
<keyword>create</keyword>
<keyword>crypt</keyword>
<keyword>ctime</keyword>
<keyword>db_disk_size</keyword>
<keyword>decode_binary</keyword>
<keyword>delete_property</keyword>
<keyword>delete_verb</keyword>
<keyword>disassemble</keyword>
<keyword>dump_database</keyword>
<keyword>encode_binary</keyword>
<keyword>equal</keyword>
<keyword>eval</keyword>
<keyword>exp</keyword>
<keyword>floatstr</keyword>
<keyword>floor</keyword>
<keyword>flush_input</keyword>
<keyword>force_input</keyword>
<keyword>function_info</keyword>
<keyword>idle_seconds</keyword>
<keyword>index</keyword>
<keyword>is_clear_property</keyword>
<keyword>is_member</keyword>
<keyword>is_player</keyword>
<keyword>kill_task</keyword>
<keyword>length</keyword>
<keyword>listappend</keyword>
<keyword>listdelete</keyword>
<keyword>listen</keyword>
<keyword>listeners</keyword>
<keyword>listinsert</keyword>
<keyword>listset</keyword>
<keyword>log</keyword>
<keyword>log10</keyword>
<keyword>match</keyword>
<keyword>max</keyword>
<keyword>max_object</keyword>
<keyword>memory_usage</keyword>
<keyword>min</keyword>
<keyword>move</keyword>
<keyword>notify</keyword>
<keyword>object_bytes</keyword>
<keyword>open_network_connection</keyword>
<keyword>output_delimiters</keyword>
<keyword>parent</keyword>
<keyword>pass</keyword>
<keyword>players</keyword>
<keyword>properties</keyword>
<keyword>property_info</keyword>
<keyword>queue_info</keyword>
<keyword>queued_tasks</keyword>
<keyword>raise</keyword>
<keyword>random</keyword>
<keyword>read</keyword>
<keyword>recycle</keyword>
<keyword>renumber</keyword>
<keyword>reset_max_object</keyword>
<keyword>resume</keyword>
<keyword>rindex</keyword>
<keyword>rmatch</keyword>
<keyword>seconds_left</keyword>
<keyword>server_log</keyword>
<keyword>server_version</keyword>
<keyword>set_connection_option</keyword>
<keyword>set_player_flag</keyword>
<keyword>set_property_info</keyword>
<keyword>set_task_perms</keyword>
<keyword>set_verb_args</keyword>
<keyword>set_verb_code</keyword>
<keyword>set_verb_info</keyword>
<keyword>setadd</keyword>
<keyword>setremove</keyword>
<keyword>shutdown</keyword>
<keyword>sin</keyword>
<keyword>sinh</keyword>
<keyword>sqrt</keyword>
<keyword>strcmp</keyword>
<keyword>string_hash</keyword>
<keyword>strsub</keyword>
<keyword>substitute</keyword>
<keyword>suspend</keyword>
<keyword>tan</keyword>
<keyword>tanh</keyword>
<keyword>task_id</keyword>
<keyword>task_stack</keyword>
<keyword>ticks_left</keyword>
<keyword>time</keyword>
<keyword>tofloat</keyword>
<keyword>toint</keyword>
<keyword>toliteral</keyword>
<keyword>tonum</keyword>
<keyword>toobj</keyword>
<keyword>tostr</keyword>
<keyword>trunc</keyword>
<keyword>typeof</keyword>
<keyword>unlisten</keyword>
<keyword>valid</keyword>
<keyword>value_bytes</keyword>
<keyword>value_hash</keyword>
<keyword>verb_args</keyword>
<keyword>verb_code</keyword>
<keyword>verb_info</keyword>
<keyword>verbs</keyword>
</keyword-list>
<keyword-list _name = "Builtin Variables" style = "Data Type" case-sensitive = "FALSE">
<keyword>player</keyword>
<keyword>this</keyword>
<keyword>caller</keyword>
<keyword>verb</keyword>
<keyword>argstr</keyword>
<keyword>args</keyword>
<keyword>dobjstr</keyword>
<keyword>dobj</keyword>
<keyword>prepstr</keyword>
<keyword>iobjstr</keyword>
<keyword>iobj</keyword>
</keyword-list>
<keyword-list _name = "Types" style = "Data Type" case-sensitive="FALSE">
<keyword>ERR</keyword>
<keyword>LIST</keyword>
<keyword>STR</keyword>
<keyword>OBJ</keyword>
<keyword>INT</keyword>
<keyword>FLOAT</keyword>
<keyword>ANY</keyword>
</keyword-list>
<pattern-item _name = "S-Ref" style = "Data Type" case-sensitive="FALSE">
<regex>\$[A-Za-z0-9_]+</regex>
</pattern-item>
<pattern-item _name = "Object Number" style = "Base-N Integer">
<regex>#[-]?[0-9]+</regex>
</pattern-item>
</language>