You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
540 lines
16 KiB
540 lines
16 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language SYSTEM "language.dtd">
|
|
<language name="xHarbour" version="3" kateversion="2.4" section="Sources" extensions="*.prg;*.PRG;*.ch" mimetype="text/x-xharbour-src" priority="5" author="Giancarlo Niccolai (giancarlo@niccolai.ws)" license="GPL">
|
|
<highlighting>
|
|
|
|
<list name="keywords">
|
|
<item>local</item>
|
|
<item>global</item>
|
|
<item>extern</item>
|
|
<item>field</item>
|
|
<item>each</item>
|
|
<item>as</item>
|
|
<item>set</item>
|
|
<item>clear</item>
|
|
<item>screen</item>
|
|
<item>databases</item>
|
|
<item>all</item>
|
|
<item>close</item>
|
|
<item>color</item>
|
|
<item>date</item>
|
|
<item>else</item>
|
|
<item>elseif</item>
|
|
<item>in</item>
|
|
<item>to</item>
|
|
<item>do</item>
|
|
<item>loop</item>
|
|
<item>catch</item>
|
|
<item>exit</item>
|
|
<item>box</item>
|
|
<item>say</item>
|
|
<item>case</item>
|
|
<item>switch</item>
|
|
<item>self</item>
|
|
<item>super</item>
|
|
<item>say</item>
|
|
<item>get</item>
|
|
<item>read</item>
|
|
<item>use</item>
|
|
<item>select</item>
|
|
<item>otherwise</item>
|
|
<item>index</item>
|
|
<item>alias</item>
|
|
<item>like</item>
|
|
<item>has</item>
|
|
<item>return</item>
|
|
<item>static</item>
|
|
<item>on</item>
|
|
<item>off</item>
|
|
<item>nil</item>
|
|
<item>?</item>
|
|
<item>class</item>
|
|
<item>external</item>
|
|
</list>
|
|
|
|
<list name="context_beginners">
|
|
<item>FOR</item>
|
|
<item>IF</item>
|
|
<item>SWITCH</item>
|
|
<item>WHILE</item>
|
|
<item>TRY</item>
|
|
<item>BEGIN</item>
|
|
<item>PROCEDURE</item>
|
|
<item>FUNCTION</item>
|
|
<item>METHOD</item>
|
|
</list>
|
|
|
|
<list name="context_terminators">
|
|
<item>NEXT</item>
|
|
<item>END</item>
|
|
<item>ENDIF</item>
|
|
<item>ENDDO</item>
|
|
<item>ENDCASE</item>
|
|
</list>
|
|
|
|
<list name="class_keywords">
|
|
<item>data</item>
|
|
<item>inline</item>
|
|
<item>method</item>
|
|
<item>classdata</item>
|
|
<item>init</item>
|
|
<item>from</item>
|
|
<item>hidden</item>
|
|
</list>
|
|
|
|
<list name="set_commands">
|
|
<item>INVALID</item>
|
|
<item>EXACT</item>
|
|
<item>FIXED</item>
|
|
<item>DECIMALS</item>
|
|
<item>DATEFORMAT</item>
|
|
<item>EPOCH</item>
|
|
<item>PATH</item>
|
|
<item>DEFAULT</item>
|
|
<item>EXCLUSIVE</item>
|
|
<item>SOFTSEEK</item>
|
|
<item>UNIQUE</item>
|
|
<item>DELETED</item>
|
|
<item>CANCEL</item>
|
|
<item>DEBUG</item>
|
|
<item>TYPEAHEAD</item>
|
|
<item>COLOR</item>
|
|
<item>CURSOR</item>
|
|
<item>CONSOLE</item>
|
|
<item>ALTERNATE</item>
|
|
<item>ALTFILE</item>
|
|
<item>DEVICE</item>
|
|
<item>EXTRA</item>
|
|
<item>EXTRAFILE</item>
|
|
<item>PRINTER</item>
|
|
<item>PRINTFILE</item>
|
|
<item>MARGIN</item>
|
|
<item>BELL</item>
|
|
<item>CONFIRM</item>
|
|
<item>ESCAPE</item>
|
|
<item>INSERT</item>
|
|
<item>EXIT</item>
|
|
<item>INTENSITY</item>
|
|
<item>SCOREBOARD</item>
|
|
<item>DELIMITERS</item>
|
|
<item>DELIMCHARS</item>
|
|
<item>WRAP</item>
|
|
<item>MESSAGE</item>
|
|
<item>MCENTER</item>
|
|
<item>SCROLLBREAK</item>
|
|
<item>EVENTMASK</item>
|
|
<item>VIDEOMODE</item>
|
|
<item>MBLOCKSIZE</item>
|
|
<item>MFILEEXT</item>
|
|
<item>STRICTREAD</item>
|
|
<item>OPTIMIZE</item>
|
|
<item>AUTOPEN</item>
|
|
<item>AUTORDER</item>
|
|
<item>AUTOSHARE</item>
|
|
<item>LANGUAGE</item>
|
|
<item>IDLEREPEAT</item>
|
|
<item>TRACE</item>
|
|
<item>TRACEFILE</item>
|
|
<item>TRACESTACK</item>
|
|
<item>FILECASE</item>
|
|
<item>DIRCASE</item>
|
|
<item>DIRSEPARATOR</item>
|
|
</list>
|
|
|
|
<list name="functions">
|
|
<item>aadd</item>
|
|
<item>adel</item>
|
|
<item>achoice</item>
|
|
<item>aclone</item>
|
|
<item>aeval</item>
|
|
<item>ains</item>
|
|
<item>ascan</item>
|
|
<item>asize</item>
|
|
<item>adir</item>
|
|
<item>afill</item>
|
|
<item>atail</item>
|
|
<item>asort</item>
|
|
<item>array</item>
|
|
<item>TAssociativeArray</item>
|
|
|
|
<item>bin21</item>
|
|
<item>bin2l</item>
|
|
<item>bin2u</item>
|
|
<item>bin2w</item>
|
|
<item>i2bin</item>
|
|
<item>l2bin</item>
|
|
<item>u2bin</item>
|
|
<item>w2bin</item>
|
|
|
|
<item>eval</item>
|
|
<item>fieldblock</item>
|
|
<item>fieldwblock</item>
|
|
|
|
<item>inkey</item>
|
|
<item>lastkey</item>
|
|
<item>mcol</item>
|
|
<item>mrow</item>
|
|
<item>nextkey</item>
|
|
|
|
<item>empty</item>
|
|
<item>word</item>
|
|
<item>descend</item>
|
|
<item>__dbdelim</item>
|
|
<item>__dbsdf</item>
|
|
|
|
<item>os</item>
|
|
<item>__run</item>
|
|
|
|
<item>alert</item>
|
|
<item>browse</item>
|
|
<item>dbedit</item>
|
|
<item>outerr</item>
|
|
<item>outstd</item>
|
|
<item>readkey</item>
|
|
<item>readvar</item>
|
|
<item>__atprompt</item>
|
|
<item>__input</item>
|
|
<item>__menuto</item>
|
|
<item>__nonoallert</item>
|
|
<item>__typefile</item>
|
|
<item>__xrestscreen</item>
|
|
<item>__xsavescreen</item>
|
|
|
|
<item>DBAPPEND</item>
|
|
<item>DBCLEARFILTER</item>
|
|
<item>DBCLOSEALL</item>
|
|
<item>DBCLOSEAREA</item>
|
|
<item>DBCOMMIT</item>
|
|
<item>DBCOMMITALL</item>
|
|
<item>DBCREATE</item>
|
|
<item>DBDELETE</item>
|
|
<item>DBEVAL</item>
|
|
<item>DBF</item>
|
|
<item>DBFILTER</item>
|
|
<item>DBGOBOTTOM</item>
|
|
<item>DBGOTO</item>
|
|
<item>DBGOTOP</item>
|
|
<item>DBRECALL</item>
|
|
<item>DBRLOCK</item>
|
|
<item>DBRLOCKLIST</item>
|
|
<item>DBRUNLOCK</item>
|
|
<item>DBSEEK</item>
|
|
<item>DBSELECTAREA</item>
|
|
<item>DBSETDRIVER</item>
|
|
<item>DBSETFILTER</item>
|
|
<item>DBSKIP</item>
|
|
<item>DBSTRUCT</item>
|
|
<item>DBUNLOCK</item>
|
|
<item>DBUNLOCKALL</item>
|
|
<item>DBUSEAREA</item>
|
|
<item>INDEXEXT</item>
|
|
<item>INDEXKEY</item>
|
|
<item>INDEXORD</item>
|
|
<item>ORDBAGEXT</item>
|
|
<item>ORDBAGNAME</item>
|
|
<item>ORDCONDSET</item>
|
|
<item>ORDCREATE</item>
|
|
<item>ORDDESTROY</item>
|
|
<item>ORDFOR</item>
|
|
<item>ORDKEY</item>
|
|
<item>ORDLISTADD</item>
|
|
<item>ORDLISTCLEAR</item>
|
|
<item>ORDLISTREBUILD</item>
|
|
<item>ORDNAME</item>
|
|
<item>ORDNUMBER</item>
|
|
<item>ORDSETFOCUS</item>
|
|
<item>RDDLIST</item>
|
|
<item>RDDNAME</item>
|
|
<item>RDDSETDEFAULT</item>
|
|
<item>__DBCONTINUE</item>
|
|
<item>__DBZAP</item>
|
|
<item>__FLEDIT</item>
|
|
<item>__RDDSETDEFAULT</item>
|
|
<item>__dbCopyStruct</item>
|
|
<item>__dbCopyXStruct</item>
|
|
<item>__dbCreate</item>
|
|
<item>__dbStructFilter</item>
|
|
<item>dbSkipper</item>
|
|
<item>CDOW</item>
|
|
<item>CMONTH</item>
|
|
<item>CTOD</item>
|
|
<item>DATE</item>
|
|
<item>DAY</item>
|
|
<item>DAYS</item>
|
|
<item>DOW</item>
|
|
<item>DTOC</item>
|
|
<item>DTOS</item>
|
|
<item>MONTH</item>
|
|
<item>YEAR</item>
|
|
|
|
<item>GETENV</item>
|
|
<item>SET</item>
|
|
<item>SETMODE</item>
|
|
<item>SETTYPEAHEAD</item>
|
|
<item>VERSION</item>
|
|
<item>__SETCENTURY</item>
|
|
<item>__SetFunction</item>
|
|
|
|
<item>break</item>
|
|
<item>errorsys</item>
|
|
<item>throw</item>
|
|
<item>errornew</item>
|
|
|
|
<item>HB_SETKEYSAVE</item>
|
|
<item>HB_SetKeyCheck</item>
|
|
<item>HB_SetKeyGet</item>
|
|
<item>SETKEY</item>
|
|
<item>__QUIT</item>
|
|
<item>__WAIT</item>
|
|
|
|
<item>file</item>
|
|
<item>frename</item>
|
|
<item>__dir</item>
|
|
|
|
<item>col</item>
|
|
<item>maxcol</item>
|
|
<item>maxrow</item>
|
|
<item>row</item>
|
|
<item>hb_colorindex</item>
|
|
|
|
<item>CURDIR</item>
|
|
<item>DIRCHANGE</item>
|
|
<item>DIRREMOVE</item>
|
|
<item>DISKSPACE</item>
|
|
<item>FCLOSE</item>
|
|
<item>FCREATE</item>
|
|
<item>FERASE</item>
|
|
<item>FERROR</item>
|
|
<item>FOPEN</item>
|
|
<item>FREAD</item>
|
|
<item>FREADSTR</item>
|
|
<item>FSEEK</item>
|
|
<item>FWRITE</item>
|
|
<item>HB_DISKSPACE</item>
|
|
<item>HB_FEOF</item>
|
|
<item>ISDISK</item>
|
|
<item>MAKEDIR</item>
|
|
|
|
<item>ABS</item>
|
|
<item>EXP</item>
|
|
<item>INT</item>
|
|
<item>LOG</item>
|
|
<item>MAX</item>
|
|
<item>MIN</item>
|
|
<item>MOD</item>
|
|
<item>ROUND</item>
|
|
<item>SQRT</item>
|
|
|
|
<item>HB_ISBYREF</item>
|
|
<item>PROCFILE</item>
|
|
<item>PROCLINE</item>
|
|
<item>PROCNAME</item>
|
|
<item>TYPE</item>
|
|
<item>VALTYPE</item>
|
|
<item>valtoprg</item>
|
|
<item>tone</item>
|
|
|
|
<item>HB_LANGNAME</item>
|
|
<item>HB_LANGSELECT</item>
|
|
<item>ISAFFIRM</item>
|
|
<item>ISNEGATIVE</item>
|
|
<item>NATIONMSG</item>
|
|
|
|
<item>pcount</item>
|
|
<item>HB_pvalue</item>
|
|
|
|
<item>ALLTRIM</item>
|
|
<item>ASC</item>
|
|
<item>AT</item>
|
|
<item>CHR</item>
|
|
<item>HARDCR</item>
|
|
<item>HB_ANSITOOEM</item>
|
|
<item>HB_OEMTOANSI</item>
|
|
<item>HB_VALTOSTR</item>
|
|
<item>ISALPHA</item>
|
|
<item>ISDIGIT</item>
|
|
<item>ISLOWER</item>
|
|
<item>ISUPPER</item>
|
|
<item>LEFT</item>
|
|
<item>LEN</item>
|
|
<item>LOWER</item>
|
|
<item>LTRIM</item>
|
|
<item>MEMOTRAN</item>
|
|
<item>PADC</item>
|
|
<item>PADL</item>
|
|
<item>PADR</item>
|
|
<item>RAT</item>
|
|
<item>REPLICATE</item>
|
|
<item>RIGHT</item>
|
|
<item>RTRIM</item>
|
|
<item>SPACE</item>
|
|
<item>STR</item>
|
|
<item>STRTRAN</item>
|
|
<item>STRZERO</item>
|
|
<item>SUBSTR</item>
|
|
<item>TRANSFORM</item>
|
|
<item>TRIM</item>
|
|
<item>UPPER</item>
|
|
<item>VAL</item>
|
|
|
|
<item>devoutpict</item>
|
|
|
|
<item>elaptime</item>
|
|
<item>seconds</item>
|
|
<item>secs</item>
|
|
<item>time</item>
|
|
|
|
<item>do</item>
|
|
|
|
<item>ThreadStart</item>
|
|
<item>ThreadStop</item>
|
|
<item>ThreadSleep</item>
|
|
<item>ThreadKill</item>
|
|
<item>ThreadJoin</item>
|
|
<item>CreateMutex</item>
|
|
<item>DestroyMutex</item>
|
|
<item>MutexLock</item>
|
|
<item>MutexUnlock</item>
|
|
<item>Subscribe</item>
|
|
<item>SubscribeNow</item>
|
|
<item>Notify</item>
|
|
<item>NotifyAll</item>
|
|
<item>WaitForThreads</item>
|
|
<item>KillAllThreads</item>
|
|
|
|
<item>InetInit</item>
|
|
<item>InetCleanup</item>
|
|
<item>InetCreate</item>
|
|
<item>InetDestroy</item>
|
|
<item>InetConnect</item>
|
|
<item>InetServer</item>
|
|
<item>InetAccept</item>
|
|
<item>InetSetTimeout</item>
|
|
<item>InetGetTimeout</item>
|
|
<item>InetClearTimeout</item>
|
|
<item>InetRecv</item>
|
|
<item>InetRecvAll</item>
|
|
<item>InetSend</item>
|
|
<item>InetSendAll</item>
|
|
<item>InetDGram</item>
|
|
<item>InetDGramRecv</item>
|
|
<item>InetDGramSend</item>
|
|
<item>InetAddress</item>
|
|
<item>InetPort</item>
|
|
<item>InetError</item>
|
|
<item>InetErrorDesc</item>
|
|
<item>InetGetHosts</item>
|
|
<item>InetConnectIP</item>
|
|
|
|
<item>hb_regex</item>
|
|
<item>hb_regexmatch</item>
|
|
<item>hb_regexsplit</item>
|
|
<item>hb_regexcomp</item>
|
|
<item>hb_readini</item>
|
|
<item>hb_writeini</item>
|
|
<item>hb_random</item>
|
|
<item>hb_chechsum</item>
|
|
<item>hb_crypt</item>
|
|
<item>hb_decrypt</item>
|
|
<item>hb_hextonum</item>
|
|
<item>hb_numtohex</item>
|
|
<item>hb_exec</item>
|
|
<item>hb_execfromarray</item>
|
|
|
|
<item>hb_class</item>
|
|
<item>hb_keyput</item>
|
|
<item>hb_osnewline</item>
|
|
|
|
</list>
|
|
|
|
<list name="pragma">
|
|
<item>#include</item>
|
|
<item>#if</item>
|
|
<item>#ifdef</item>
|
|
<item>#ifndef</item>
|
|
<item>#endif</item>
|
|
<item>#else</item>
|
|
<item>#define</item>
|
|
</list>
|
|
|
|
<contexts>
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="TopLevel">
|
|
|
|
<Detect2Chars attribute="Comment" context="ml_comment" char="/" char1="*" beginRegion="comment_region"/>
|
|
<DetectChar attribute="Comment" context="comment" char="*" firstNonSpace="true"/>
|
|
<Detect2Chars attribute="Comment" context="comment" char="/" char1="/" />
|
|
|
|
<DetectChar attribute="String" context="string" char=""" />
|
|
<DetectChar attribute="String" context="stringc" char="'" />
|
|
|
|
<StringDetect attribute="Operator" context="#stay" String=".and." insensitive="true"/>
|
|
<StringDetect attribute="Operator" context="#stay" String=".or." insensitive="true"/>
|
|
<StringDetect attribute="Operator" context="#stay" String=".not." insensitive="true"/>
|
|
<StringDetect attribute="Operator" context="#stay" String=".f." insensitive="true"/>
|
|
<StringDetect attribute="Operator" context="#stay" String=".t." insensitive="true"/>
|
|
|
|
<AnyChar attribute="Operator" context="#stay" String=":=!" />
|
|
<DetectChar attribute="Keyword" context="#stay" char="@"/>
|
|
|
|
<RegExpr String="CLASS[\t ]+" attribute="Keyword" context="ClassContext" insensitive="true" beginRegion="ClassDeclRegion" firstNonSpace="true"/>
|
|
|
|
<RegExpr String="DO[\t ]+CASE[\t ]*$" attribute="Keyword" context="#stay" insensitive="true" beginRegion="IndentRegion" firstNonSpace="true"/>
|
|
<keyword attribute="Keyword" context="#stay" String="context_beginners" beginRegion="IndentRegion" />
|
|
<keyword attribute="Keyword" context="#stay" String="context_terminators" endRegion="IndentRegion" />
|
|
<RegExpr String="return ?" attribute="Keyword" context="#stay" insensitive="true" endRegion="IndentRegion" column="0"/>
|
|
|
|
<keyword attribute="Keyword" context="#stay" String="keywords" />
|
|
<keyword attribute="Keyword" context="#stay" String="set_commands" />
|
|
<keyword attribute="Function" context="#stay" String="functions" />
|
|
<keyword attribute="Preprocessor" context="#stay" String="pragma" />
|
|
<Detect2Chars attribute="Operator" context="#stay" char="-" char1=">" />
|
|
<RegExpr attribute="Number" context="#stay" String="\d+" />
|
|
</context>
|
|
|
|
<context attribute="Comment" lineEndContext="#pop" name="comment"/>
|
|
|
|
<context attribute="Comment" lineEndContext="#stay" name="ml_comment">
|
|
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment_region"/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#pop" name="string">
|
|
<DetectChar attribute="String" context="#pop" char=""" />
|
|
</context>
|
|
<context attribute="String" lineEndContext="#pop" name="stringc">
|
|
<DetectChar attribute="String" context="#pop" char="'" />
|
|
</context>
|
|
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="ClassContext">
|
|
|
|
<Detect2Chars attribute="Comment" context="ml_comment" char="/" char1="*" beginRegion="comment_region"/>
|
|
<DetectChar attribute="Comment" context="comment" char="*" firstNonSpace="true"/>
|
|
<Detect2Chars attribute="Comment" context="comment" char="/" char1="/" />
|
|
|
|
<keyword attribute="Keyword" context="#stay" String="class_keywords" />
|
|
<RegExpr String="END(CLASS)? *$" attribute="Keyword" context="#pop" insensitive="true" endRegion="ClassDeclRegion" firstNonSpace="true"/>
|
|
</context>
|
|
|
|
</contexts>
|
|
|
|
<itemDatas>
|
|
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
|
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
|
<itemData name="Comment" defStyleNum="dsComment"/>
|
|
<itemData name="Operator" defStyleNum="dsBaseN" color="#A01060" selColor="#400040" bold="0" italic="0"/>
|
|
<itemData name="Number" defStyleNum="dsDecVal" color="#5050C0" selColor="#000000" bold="0" italic="0"/>
|
|
<itemData name="Function" defStyleNum="dsFunction" />
|
|
<itemData name="String" defStyleNum="dsString"/>
|
|
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
|
</itemDatas>
|
|
</highlighting>
|
|
|
|
<general>
|
|
<comments>
|
|
<comment name="singleLine" start="*" />
|
|
<comment name="singleLine" start="//" />
|
|
<comment name="multiLine" start="/*" end="*/" />
|
|
</comments>
|
|
<keywords casesensitive="0" />
|
|
</general>
|
|
</language>
|