All Downloads are FREE. Search and download functionalities are using the official Maven repository.

modes.objective-c.xml Maven / Gradle / Ivy

Go to download

This project aims to build a command line tool that can create HTML view with syntax highlighted source code. It uses Jedit syntax highlighting engine and support all languages that are supported in JEdit. Which are currently: ActionScript, Ada 95, ANTLR, Apache HTTPD, APDL, AppleScript, ASP, Aspect-J, Assembly, AWK, B formal method, Batch, BBj, BCEL, BibTeX, C, C++, C#, CHILL, CIL, COBOL, ColdFusion, CSS, CVS Commit, D, DOxygen, DSSSL, Eiffel, EmbPerl, Erlang, Factor, Fortran, Foxpro, FreeMarker, Fortran, Gettext, Groovy, Haskell, HTML, Icon, IDL, Inform, INI, Inno Setup, Informix 4GL, Interlis, Io, Java, JavaScript, JCL, JHTML, JMK, JSP, Latex, Lilypond, Lisp, LOTOS, Lua, Makefile, Maple, ML, Modula-3, MoinMoin, MQSC, NetRexx, NQC, NSIS2, Objective C, ObjectRexx, Occam, Omnimark, Parrot, Pascal, Patch, Perl, PHP, Pike, PL-SQL, PL/I, Pop11, PostScript, Povray, PowerDynamo, Progress 4GL, Prolog, Properties, PSP, PV-WAVE, Pyrex, Python, REBOL, Redcode, Relax-NG, RelationalView, Rest, Rib, RPM spec, RTF, Ruby, Ruby-HTML, RView, S+, S#, SAS, Scheme, SDL/PL, SGML, Shell Script, SHTML, Smalltalk, SMI MIB, SQR, Squidconf, SVN Commit, Swig, TCL, TeX, Texinfo, TPL, Transact-SQL, UnrealScript, VBScript, Velocity, Verilog, VHDL, XML, XSL, ZPT

The newest version!
<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<!-- Extension of c.xml to handle Objective-C keywords. -->
<MODE>
    <PROPS>
        <PROPERTY NAME="commentStart" VALUE="/*" />
        <PROPERTY NAME="commentEnd" VALUE="*/" />
        <PROPERTY NAME="lineComment" VALUE="//" />
        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />

	<!-- Auto indent -->
	<PROPERTY NAME="indentOpenBrackets" VALUE="{" />
	<PROPERTY NAME="indentCloseBrackets" VALUE="}" />
	<PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
	<PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
	<PROPERTY NAME="indentNextLine"
		VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
	<PROPERTY NAME="unindentThisLine"
		VALUE="^.*(default:\s*|case.*:.*)$" />
	<PROPERTY NAME="electricKeys" VALUE=":" />
    </PROPS>

    <RULES
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>

        <IMPORT DELEGATE="c::LEX"/>
        <IMPORT DELEGATE="c::CORE"/>
		<IMPORT DELEGATE="CORE"/>
    </RULES>

    <!-- Core language -->
    <RULES SET="CORE"
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
        <KEYWORDS>
            <!-- Types (Objective C) -->
            <KEYWORD3>id</KEYWORD3>
            <KEYWORD3>Class</KEYWORD3>
            <KEYWORD3>SEL</KEYWORD3>
            <KEYWORD3>IMP</KEYWORD3>
            <KEYWORD3>BOOL</KEYWORD3>

            <!-- Keywords (Objective C) -->
            <KEYWORD1>oneway</KEYWORD1>
            <KEYWORD1>in</KEYWORD1>
            <KEYWORD1>out</KEYWORD1>
            <KEYWORD1>inout</KEYWORD1>
            <KEYWORD1>bycopy</KEYWORD1>
            <KEYWORD1>byref</KEYWORD1>
            <KEYWORD1>self</KEYWORD1>
            <KEYWORD1>super</KEYWORD1>

            <!-- Preprocessor Directives (Objective C)-->
            <KEYWORD1>@interface</KEYWORD1>
            <KEYWORD1>@implementation</KEYWORD1>
            <KEYWORD1>@protocol</KEYWORD1>
            <KEYWORD1>@end</KEYWORD1>
            <KEYWORD1>@private</KEYWORD1>
            <KEYWORD1>@protected</KEYWORD1>
            <KEYWORD1>@public</KEYWORD1>
            <KEYWORD1>@class</KEYWORD1>
            <KEYWORD1>@selector</KEYWORD1>
            <KEYWORD1>@endcode</KEYWORD1>
            <KEYWORD1>@defs</KEYWORD1>

            <LITERAL2>TRUE</LITERAL2>
            <LITERAL2>FALSE</LITERAL2>
            <LITERAL2>YES</LITERAL2>
            <LITERAL2>NO</LITERAL2>
            <LITERAL2>NULL</LITERAL2>
            <LITERAL2>nil</LITERAL2>
            <LITERAL2>Nil</LITERAL2>
        </KEYWORDS>
    </RULES>

    <!-- Preprocessor specific rules -->
    <RULES SET="CPP"
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">

        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="import" TYPE="MARKUP" DELEGATE="c::INCLUDE">import\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>

        <IMPORT DELEGATE="LEX"/>

        <!-- Directives -->
        <KEYWORDS>
            <MARKUP>ifdef</MARKUP>
            <MARKUP>ifndef</MARKUP>
            <MARKUP>else</MARKUP>
            <MARKUP>error</MARKUP>
            <MARKUP>line</MARKUP>
            <MARKUP>pragma</MARKUP>
            <MARKUP>undef</MARKUP>
            <MARKUP>warning</MARKUP>
        </KEYWORDS>
    </RULES>

    <!-- After #define directive -->
    <!-- Almost same as the normal code,
        except two additional operators # and ##. -->
    <RULES SET="DEFINE"
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
        <SEQ TYPE="OPERATOR">#</SEQ>
        <IMPORT DELEGATE="c::LEX"/>
        <IMPORT DELEGATE="c::CORE"/>
        <IMPORT DELEGATE="CORE"/>
    </RULES>

</MODE>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy