/jEdit/tags/jedit-4-0-pre3/modes/python.xml
XML | 263 lines | 246 code | 4 blank | 13 comment | 0 complexity | 440f326fce84cf61599470ea69b29061 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- <?xml version="1.0"?>
- <!DOCTYPE MODE SYSTEM "xmode.dtd">
- <!-- Python mode, by Slava Pestov. Based on PythonTokenMarker by -->
- <!-- Jonathan Revusky -->
- <!-- Modified 19-Jul-00 by Ivan Frohne to: -->
- <!-- (a) implement 'indentOnEnter'; -->
- <!-- (b) indent next line automatically after control structures followed -->
- <!-- by ':'; -->
- <!-- (c) make """ or ''' multiline quotes TYPE LITERAL2; -->
- <!-- (d) add TYPE FUNCTION identified by a following '(' -->
- <!-- (e) eliminate the '?' SEQ TYPE ('?' has no meaning in Python); -->
- <!-- (f) change the TYPE of 'and', 'or', and 'not' to KEYWORD1; and -->
- <!-- (g) add all builtin functions, builtin exceptions, -->
- <!-- builtin type methods, File object methods, and special type -->
- <!-- attributes as TYPE KEYWORD3. -->
- <MODE>
- <PROPS>
- <PROPERTY NAME="indentPrevLine" VALUE="\s*.{3,}:\s*(#.*)?" />
- <PROPERTY NAME="lineComment" VALUE="#" />
- </PROPS>
- <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
- <!-- whitespace: (space and tab) -->
- <WHITESPACE> </WHITESPACE>
- <WHITESPACE> </WHITESPACE>
- <!-- Comment -->
- <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
- <!-- Triple-quotes -->
- <SPAN TYPE="LITERAL2">
- <BEGIN>"""</BEGIN>
- <END>"""</END>
- </SPAN>
- <SPAN TYPE="LITERAL2">
- <BEGIN>'''</BEGIN>
- <END>'''</END>
- </SPAN>
- <!-- Standard literals -->
- <SPAN TYPE="LITERAL1">
- <BEGIN>"</BEGIN>
- <END>"</END>
- </SPAN>
- <SPAN TYPE="LITERAL1">
- <BEGIN>'</BEGIN>
- <END>'</END>
- </SPAN>
- <SEQ TYPE="NULL">)</SEQ>
- <SEQ TYPE="OPERATOR">=</SEQ>
- <SEQ TYPE="OPERATOR">!</SEQ>
- <SEQ TYPE="OPERATOR">>=</SEQ>
- <SEQ TYPE="OPERATOR"><=</SEQ>
- <SEQ TYPE="OPERATOR">+</SEQ>
- <SEQ TYPE="OPERATOR">-</SEQ>
- <SEQ TYPE="OPERATOR">/</SEQ>
- <SEQ TYPE="OPERATOR">*</SEQ>
- <SEQ TYPE="OPERATOR">></SEQ>
- <SEQ TYPE="OPERATOR"><</SEQ>
- <SEQ TYPE="OPERATOR">%</SEQ>
- <SEQ TYPE="OPERATOR">&</SEQ>
- <SEQ TYPE="OPERATOR">|</SEQ>
- <SEQ TYPE="OPERATOR">^</SEQ>
- <SEQ TYPE="OPERATOR">~</SEQ>
- <SEQ TYPE="NULL">}</SEQ>
- <SEQ TYPE="NULL">{</SEQ>
- <SEQ TYPE="NULL">.</SEQ>
- <SEQ TYPE="NULL">,</SEQ>
- <SEQ TYPE="NULL">;</SEQ>
- <SEQ TYPE="NULL">]</SEQ>
- <SEQ TYPE="NULL">[</SEQ>
- <SEQ TYPE="NULL">:</SEQ>
- <MARK_PREVIOUS TYPE="FUNCTION"
- EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
- <KEYWORDS IGNORE_CASE="FALSE">
- <!-- Reserved Words -->
- <KEYWORD1>and</KEYWORD1>
- <KEYWORD1>as</KEYWORD1>
- <KEYWORD1>assert</KEYWORD1>
- <KEYWORD1>break</KEYWORD1>
- <KEYWORD1>class</KEYWORD1>
- <KEYWORD1>continue</KEYWORD1>
- <KEYWORD1>def</KEYWORD1>
- <KEYWORD1>del</KEYWORD1>
- <KEYWORD1>elif</KEYWORD1>
- <KEYWORD1>else</KEYWORD1>
- <KEYWORD1>except</KEYWORD1>
- <KEYWORD1>exec</KEYWORD1>
- <KEYWORD1>finally</KEYWORD1>
- <KEYWORD1>for</KEYWORD1>
- <KEYWORD1>from</KEYWORD1>
- <KEYWORD1>global</KEYWORD1>
- <KEYWORD1>if</KEYWORD1>
- <KEYWORD1>import</KEYWORD1>
- <KEYWORD1>in</KEYWORD1>
- <KEYWORD1>is</KEYWORD1>
- <KEYWORD1>lambda</KEYWORD1>
- <KEYWORD1>not</KEYWORD1>
- <KEYWORD1>or</KEYWORD1>
- <KEYWORD1>pass</KEYWORD1>
- <KEYWORD1>print</KEYWORD1>
- <KEYWORD1>raise</KEYWORD1>
- <KEYWORD1>return</KEYWORD1>
- <KEYWORD1>try</KEYWORD1>
- <KEYWORD1>while</KEYWORD1>
- <KEYWORD1>yield</KEYWORD1>
- <!-- builtins -->
- <KEYWORD2>abs</KEYWORD2>
- <KEYWORD2>apply</KEYWORD2>
- <KEYWORD2>buffer</KEYWORD2>
- <KEYWORD2>callable</KEYWORD2>
- <KEYWORD2>chr</KEYWORD2>
- <KEYWORD2>cmp</KEYWORD2>
- <KEYWORD2>coerce</KEYWORD2>
- <KEYWORD2>compile</KEYWORD2>
- <KEYWORD2>complex</KEYWORD2>
- <KEYWORD2>delattr</KEYWORD2>
- <KEYWORD2>dir</KEYWORD2>
- <KEYWORD2>divmod</KEYWORD2>
- <KEYWORD2>eval</KEYWORD2>
- <KEYWORD2>execfile</KEYWORD2>
- <KEYWORD2>filter</KEYWORD2>
- <KEYWORD2>float</KEYWORD2>
- <KEYWORD2>getattr</KEYWORD2>
- <KEYWORD2>globals</KEYWORD2>
- <KEYWORD2>hasattr</KEYWORD2>
- <KEYWORD2>hash</KEYWORD2>
- <KEYWORD2>help</KEYWORD2>
- <KEYWORD2>hex</KEYWORD2>
- <KEYWORD2>id</KEYWORD2>
- <KEYWORD2>input</KEYWORD2>
- <KEYWORD2>int</KEYWORD2>
- <KEYWORD2>intern</KEYWORD2>
- <KEYWORD2>isinstance</KEYWORD2>
- <KEYWORD2>issubclass</KEYWORD2>
- <KEYWORD2>len</KEYWORD2>
- <KEYWORD2>list</KEYWORD2>
- <KEYWORD2>locals</KEYWORD2>
- <KEYWORD2>long</KEYWORD2>
- <KEYWORD2>map</KEYWORD2>
- <KEYWORD2>max</KEYWORD2>
- <KEYWORD2>min</KEYWORD2>
- <KEYWORD2>oct</KEYWORD2>
- <KEYWORD2>open</KEYWORD2>
- <KEYWORD2>ord</KEYWORD2>
- <KEYWORD2>pow</KEYWORD2>
- <KEYWORD2>range</KEYWORD2>
- <KEYWORD2>raw_input</KEYWORD2>
- <KEYWORD2>reduce</KEYWORD2>
- <KEYWORD2>reload</KEYWORD2>
- <KEYWORD2>repr</KEYWORD2>
- <KEYWORD2>round</KEYWORD2>
- <KEYWORD2>setattr</KEYWORD2>
- <KEYWORD2>slice</KEYWORD2>
- <KEYWORD2>str</KEYWORD2>
- <KEYWORD2>tuple</KEYWORD2>
- <KEYWORD2>type</KEYWORD2>
- <KEYWORD2>unichr</KEYWORD2>
- <KEYWORD2>unicode</KEYWORD2>
- <KEYWORD2>vars</KEYWORD2>
- <KEYWORD2>xrange</KEYWORD2>
- <KEYWORD2>zip</KEYWORD2>
- <!-- exceptions -->
- <KEYWORD3>ArithmeticError</KEYWORD3>
- <KEYWORD3>AssertionError</KEYWORD3>
- <KEYWORD3>AttributeError</KEYWORD3>
- <KEYWORD3>DeprecationWarning</KEYWORD3>
- <KEYWORD3>EOFError</KEYWORD3>
- <KEYWORD3>EnvironmentError</KEYWORD3>
- <KEYWORD3>Exception</KEYWORD3>
- <KEYWORD3>FloatingPointError</KEYWORD3>
- <KEYWORD3>IOError</KEYWORD3>
- <KEYWORD3>ImportError</KEYWORD3>
- <KEYWORD3>IndentationError</KEYWORD3>
- <KEYWORD3>IndexError</KEYWORD3>
- <KEYWORD3>KeyError</KEYWORD3>
- <KEYWORD3>KeyboardInterrupt</KEYWORD3>
- <KEYWORD3>LookupError</KEYWORD3>
- <KEYWORD3>MemoryError</KEYWORD3>
- <KEYWORD3>NameError</KEYWORD3>
- <KEYWORD3>NotImplemented</KEYWORD3>
- <KEYWORD3>NotImplementedError</KEYWORD3>
- <KEYWORD3>OSError</KEYWORD3>
- <KEYWORD3>OverflowError</KEYWORD3>
- <KEYWORD3>RuntimeError</KEYWORD3>
- <KEYWORD3>RuntimeWarning</KEYWORD3>
- <KEYWORD3>StandardError</KEYWORD3>
- <KEYWORD3>SyntaxError</KEYWORD3>
- <KEYWORD3>SyntaxWarning</KEYWORD3>
- <KEYWORD3>SystemError</KEYWORD3>
- <KEYWORD3>SystemExit</KEYWORD3>
- <KEYWORD3>TabError</KEYWORD3>
- <KEYWORD3>TypeError</KEYWORD3>
- <KEYWORD3>UnboundLocalError</KEYWORD3>
- <KEYWORD3>UnicodeError</KEYWORD3>
- <KEYWORD3>UserWarning</KEYWORD3>
- <KEYWORD3>ValueError</KEYWORD3>
- <KEYWORD3>Warning</KEYWORD3>
- <KEYWORD3>WindowsError</KEYWORD3>
- <KEYWORD3>ZeroDivisionError</KEYWORD3>
- <!-- types (from types module) -->
- <KEYWORD3>BufferType</KEYWORD3>
- <KEYWORD3>BuiltinFunctionType</KEYWORD3>
- <KEYWORD3>BuiltinMethodType</KEYWORD3>
- <KEYWORD3>ClassType</KEYWORD3>
- <KEYWORD3>CodeType</KEYWORD3>
- <KEYWORD3>ComplexType</KEYWORD3>
- <KEYWORD3>DictType</KEYWORD3>
- <KEYWORD3>DictionaryType</KEYWORD3>
- <KEYWORD3>EllipsisType</KEYWORD3>
- <KEYWORD3>FileType</KEYWORD3>
- <KEYWORD3>FloatType</KEYWORD3>
- <KEYWORD3>FrameType</KEYWORD3>
- <KEYWORD3>FunctionType</KEYWORD3>
- <KEYWORD3>InstanceType</KEYWORD3>
- <KEYWORD3>IntType</KEYWORD3>
- <KEYWORD3>LambdaType</KEYWORD3>
- <KEYWORD3>ListType</KEYWORD3>
- <KEYWORD3>LongType</KEYWORD3>
- <KEYWORD3>MethodType</KEYWORD3>
- <KEYWORD3>ModuleType</KEYWORD3>
- <KEYWORD3>NoneType</KEYWORD3>
- <KEYWORD3>SliceType</KEYWORD3>
- <KEYWORD3>StringType</KEYWORD3>
- <KEYWORD3>TracebackType</KEYWORD3>
- <KEYWORD3>TupleType</KEYWORD3>
- <KEYWORD3>TypeType</KEYWORD3>
- <KEYWORD3>UnboundMethodType</KEYWORD3>
- <KEYWORD3>UnicodeType</KEYWORD3>
- <KEYWORD3>XRangeType</KEYWORD3>
- <KEYWORD3>None</KEYWORD3>
- <KEYWORD3>__all__</KEYWORD3>
- <KEYWORD3>__bases__</KEYWORD3>
- <KEYWORD3>__builtins__</KEYWORD3>
- <KEYWORD3>__class__</KEYWORD3>
- <KEYWORD3>__debug__</KEYWORD3>
- <KEYWORD3>__dict__</KEYWORD3>
- <KEYWORD3>__doc__</KEYWORD3>
- <KEYWORD3>__file__</KEYWORD3>
- <KEYWORD3>__future__</KEYWORD3>
- <KEYWORD3>__import__</KEYWORD3>
- <KEYWORD3>__members__</KEYWORD3>
- <KEYWORD3>__methods__</KEYWORD3>
- <KEYWORD3>__name__</KEYWORD3>
- <KEYWORD3>__path__</KEYWORD3>
- <KEYWORD3>__self__</KEYWORD3>
- <KEYWORD3>__version__</KEYWORD3>
- </KEYWORDS>
- </RULES>
- </MODE>