PageRenderTime 25ms CodeModel.GetById 14ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/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
  1<?xml version="1.0"?>
  2
  3<!DOCTYPE MODE SYSTEM "xmode.dtd">
  4
  5<!-- Python mode, by Slava Pestov. Based on PythonTokenMarker by -->
  6<!-- Jonathan Revusky -->
  7
  8<!-- Modified 19-Jul-00 by Ivan Frohne to: -->
  9<!--  (a) implement 'indentOnEnter'; -->
 10<!--  (b) indent next line automatically after control structures followed -->
 11<!--	  by ':'; -->
 12<!--  (c) make """ or ''' multiline quotes TYPE LITERAL2; -->
 13<!--  (d) add TYPE FUNCTION identified by a following '(' -->
 14<!--  (e) eliminate the '?' SEQ TYPE ('?' has no meaning in Python); -->
 15<!--  (f) change the TYPE of 'and', 'or', and 'not' to KEYWORD1; and -->
 16<!--  (g) add all builtin functions, builtin exceptions, -->
 17<!--	  builtin type methods, File object methods, and special type -->
 18<!--	  attributes as TYPE KEYWORD3. -->
 19
 20<MODE>
 21	<PROPS>
 22		<PROPERTY NAME="indentPrevLine" VALUE="\s*.{3,}:\s*(#.*)?" />
 23		<PROPERTY NAME="lineComment" VALUE="#" />
 24	</PROPS>
 25	<RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
 26		<!-- whitespace: (space and tab) -->
 27		<WHITESPACE> </WHITESPACE>
 28		<WHITESPACE>	</WHITESPACE>
 29
 30		<!-- Comment -->
 31		<EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
 32
 33		<!-- Triple-quotes -->
 34		<SPAN TYPE="LITERAL2">
 35			<BEGIN>"""</BEGIN>
 36			<END>"""</END>
 37		</SPAN>
 38
 39		<SPAN TYPE="LITERAL2">
 40			<BEGIN>'''</BEGIN>
 41			<END>'''</END>
 42		</SPAN>
 43
 44		<!-- Standard literals -->
 45		<SPAN TYPE="LITERAL1">
 46			<BEGIN>"</BEGIN>
 47			<END>"</END>
 48		</SPAN>
 49		<SPAN TYPE="LITERAL1">
 50			<BEGIN>'</BEGIN>
 51			<END>'</END>
 52		</SPAN>
 53
 54		<SEQ TYPE="NULL">)</SEQ>
 55		<SEQ TYPE="OPERATOR">=</SEQ>
 56		<SEQ TYPE="OPERATOR">!</SEQ>
 57		<SEQ TYPE="OPERATOR">&gt;=</SEQ>
 58		<SEQ TYPE="OPERATOR">&lt;=</SEQ>
 59		<SEQ TYPE="OPERATOR">+</SEQ>
 60		<SEQ TYPE="OPERATOR">-</SEQ>
 61		<SEQ TYPE="OPERATOR">/</SEQ>
 62		<SEQ TYPE="OPERATOR">*</SEQ>
 63		<SEQ TYPE="OPERATOR">&gt;</SEQ>
 64		<SEQ TYPE="OPERATOR">&lt;</SEQ>
 65		<SEQ TYPE="OPERATOR">%</SEQ>
 66		<SEQ TYPE="OPERATOR">&amp;</SEQ>
 67		<SEQ TYPE="OPERATOR">|</SEQ>
 68		<SEQ TYPE="OPERATOR">^</SEQ>
 69		<SEQ TYPE="OPERATOR">~</SEQ>
 70		<SEQ TYPE="NULL">}</SEQ>
 71		<SEQ TYPE="NULL">{</SEQ>
 72		<SEQ TYPE="NULL">.</SEQ>
 73		<SEQ TYPE="NULL">,</SEQ>
 74		<SEQ TYPE="NULL">;</SEQ>
 75		<SEQ TYPE="NULL">]</SEQ>
 76		<SEQ TYPE="NULL">[</SEQ>
 77		<SEQ TYPE="NULL">:</SEQ>
 78
 79		<MARK_PREVIOUS TYPE="FUNCTION"
 80			EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
 81
 82		<KEYWORDS IGNORE_CASE="FALSE">
 83			<!--  Reserved Words  -->
 84			<KEYWORD1>and</KEYWORD1>
 85			<KEYWORD1>as</KEYWORD1>
 86			<KEYWORD1>assert</KEYWORD1>
 87			<KEYWORD1>break</KEYWORD1>
 88			<KEYWORD1>class</KEYWORD1>
 89			<KEYWORD1>continue</KEYWORD1>
 90			<KEYWORD1>def</KEYWORD1>
 91			<KEYWORD1>del</KEYWORD1>
 92			<KEYWORD1>elif</KEYWORD1>
 93			<KEYWORD1>else</KEYWORD1>
 94			<KEYWORD1>except</KEYWORD1>
 95			<KEYWORD1>exec</KEYWORD1>
 96			<KEYWORD1>finally</KEYWORD1>
 97			<KEYWORD1>for</KEYWORD1>
 98			<KEYWORD1>from</KEYWORD1>
 99			<KEYWORD1>global</KEYWORD1>
100			<KEYWORD1>if</KEYWORD1>
101			<KEYWORD1>import</KEYWORD1>
102			<KEYWORD1>in</KEYWORD1>
103			<KEYWORD1>is</KEYWORD1>
104			<KEYWORD1>lambda</KEYWORD1>
105			<KEYWORD1>not</KEYWORD1>
106			<KEYWORD1>or</KEYWORD1>
107			<KEYWORD1>pass</KEYWORD1>
108			<KEYWORD1>print</KEYWORD1>
109			<KEYWORD1>raise</KEYWORD1>
110			<KEYWORD1>return</KEYWORD1>
111			<KEYWORD1>try</KEYWORD1>
112			<KEYWORD1>while</KEYWORD1>
113			<KEYWORD1>yield</KEYWORD1>
114
115			<!-- builtins -->
116			<KEYWORD2>abs</KEYWORD2>
117			<KEYWORD2>apply</KEYWORD2>
118			<KEYWORD2>buffer</KEYWORD2>
119			<KEYWORD2>callable</KEYWORD2>
120			<KEYWORD2>chr</KEYWORD2>
121			<KEYWORD2>cmp</KEYWORD2>
122			<KEYWORD2>coerce</KEYWORD2>
123			<KEYWORD2>compile</KEYWORD2>
124			<KEYWORD2>complex</KEYWORD2>
125			<KEYWORD2>delattr</KEYWORD2>
126			<KEYWORD2>dir</KEYWORD2>
127			<KEYWORD2>divmod</KEYWORD2>
128			<KEYWORD2>eval</KEYWORD2>
129			<KEYWORD2>execfile</KEYWORD2>
130			<KEYWORD2>filter</KEYWORD2>
131			<KEYWORD2>float</KEYWORD2>
132			<KEYWORD2>getattr</KEYWORD2>
133			<KEYWORD2>globals</KEYWORD2>
134			<KEYWORD2>hasattr</KEYWORD2>
135			<KEYWORD2>hash</KEYWORD2>
136			<KEYWORD2>help</KEYWORD2>
137			<KEYWORD2>hex</KEYWORD2>
138			<KEYWORD2>id</KEYWORD2>
139			<KEYWORD2>input</KEYWORD2>
140			<KEYWORD2>int</KEYWORD2>
141			<KEYWORD2>intern</KEYWORD2>
142			<KEYWORD2>isinstance</KEYWORD2>
143			<KEYWORD2>issubclass</KEYWORD2>
144			<KEYWORD2>len</KEYWORD2>
145			<KEYWORD2>list</KEYWORD2>
146			<KEYWORD2>locals</KEYWORD2>
147			<KEYWORD2>long</KEYWORD2>
148			<KEYWORD2>map</KEYWORD2>
149			<KEYWORD2>max</KEYWORD2>
150			<KEYWORD2>min</KEYWORD2>
151			<KEYWORD2>oct</KEYWORD2>
152			<KEYWORD2>open</KEYWORD2>
153			<KEYWORD2>ord</KEYWORD2>
154			<KEYWORD2>pow</KEYWORD2>
155			<KEYWORD2>range</KEYWORD2>
156			<KEYWORD2>raw_input</KEYWORD2>
157			<KEYWORD2>reduce</KEYWORD2>
158			<KEYWORD2>reload</KEYWORD2>
159			<KEYWORD2>repr</KEYWORD2>
160			<KEYWORD2>round</KEYWORD2>
161			<KEYWORD2>setattr</KEYWORD2>
162			<KEYWORD2>slice</KEYWORD2>
163			<KEYWORD2>str</KEYWORD2>
164			<KEYWORD2>tuple</KEYWORD2>
165			<KEYWORD2>type</KEYWORD2>
166			<KEYWORD2>unichr</KEYWORD2>
167			<KEYWORD2>unicode</KEYWORD2>
168			<KEYWORD2>vars</KEYWORD2>
169			<KEYWORD2>xrange</KEYWORD2>
170			<KEYWORD2>zip</KEYWORD2>
171
172			<!-- exceptions -->
173			<KEYWORD3>ArithmeticError</KEYWORD3>
174			<KEYWORD3>AssertionError</KEYWORD3>
175			<KEYWORD3>AttributeError</KEYWORD3>
176			<KEYWORD3>DeprecationWarning</KEYWORD3>
177			<KEYWORD3>EOFError</KEYWORD3>
178			<KEYWORD3>EnvironmentError</KEYWORD3>
179			<KEYWORD3>Exception</KEYWORD3>
180			<KEYWORD3>FloatingPointError</KEYWORD3>
181			<KEYWORD3>IOError</KEYWORD3>
182			<KEYWORD3>ImportError</KEYWORD3>
183			<KEYWORD3>IndentationError</KEYWORD3>
184			<KEYWORD3>IndexError</KEYWORD3>
185			<KEYWORD3>KeyError</KEYWORD3>
186			<KEYWORD3>KeyboardInterrupt</KEYWORD3>
187			<KEYWORD3>LookupError</KEYWORD3>
188			<KEYWORD3>MemoryError</KEYWORD3>
189			<KEYWORD3>NameError</KEYWORD3>
190			<KEYWORD3>NotImplemented</KEYWORD3>
191			<KEYWORD3>NotImplementedError</KEYWORD3>
192			<KEYWORD3>OSError</KEYWORD3>
193			<KEYWORD3>OverflowError</KEYWORD3>
194			<KEYWORD3>RuntimeError</KEYWORD3>
195			<KEYWORD3>RuntimeWarning</KEYWORD3>
196			<KEYWORD3>StandardError</KEYWORD3>
197			<KEYWORD3>SyntaxError</KEYWORD3>
198			<KEYWORD3>SyntaxWarning</KEYWORD3>
199			<KEYWORD3>SystemError</KEYWORD3>
200			<KEYWORD3>SystemExit</KEYWORD3>
201			<KEYWORD3>TabError</KEYWORD3>
202			<KEYWORD3>TypeError</KEYWORD3>
203			<KEYWORD3>UnboundLocalError</KEYWORD3>
204			<KEYWORD3>UnicodeError</KEYWORD3>
205			<KEYWORD3>UserWarning</KEYWORD3>
206			<KEYWORD3>ValueError</KEYWORD3>
207			<KEYWORD3>Warning</KEYWORD3>
208			<KEYWORD3>WindowsError</KEYWORD3>
209			<KEYWORD3>ZeroDivisionError</KEYWORD3>
210
211			<!-- types (from types module) -->
212			<KEYWORD3>BufferType</KEYWORD3>
213			<KEYWORD3>BuiltinFunctionType</KEYWORD3>
214			<KEYWORD3>BuiltinMethodType</KEYWORD3>
215			<KEYWORD3>ClassType</KEYWORD3>
216			<KEYWORD3>CodeType</KEYWORD3>
217			<KEYWORD3>ComplexType</KEYWORD3>
218			<KEYWORD3>DictType</KEYWORD3>
219			<KEYWORD3>DictionaryType</KEYWORD3>
220			<KEYWORD3>EllipsisType</KEYWORD3>
221			<KEYWORD3>FileType</KEYWORD3>
222			<KEYWORD3>FloatType</KEYWORD3>
223			<KEYWORD3>FrameType</KEYWORD3>
224			<KEYWORD3>FunctionType</KEYWORD3>
225			<KEYWORD3>InstanceType</KEYWORD3>
226			<KEYWORD3>IntType</KEYWORD3>
227			<KEYWORD3>LambdaType</KEYWORD3>
228			<KEYWORD3>ListType</KEYWORD3>
229			<KEYWORD3>LongType</KEYWORD3>
230			<KEYWORD3>MethodType</KEYWORD3>
231			<KEYWORD3>ModuleType</KEYWORD3>
232			<KEYWORD3>NoneType</KEYWORD3>
233			<KEYWORD3>SliceType</KEYWORD3>
234			<KEYWORD3>StringType</KEYWORD3>
235			<KEYWORD3>TracebackType</KEYWORD3>
236			<KEYWORD3>TupleType</KEYWORD3>
237			<KEYWORD3>TypeType</KEYWORD3>
238			<KEYWORD3>UnboundMethodType</KEYWORD3>
239			<KEYWORD3>UnicodeType</KEYWORD3>
240			<KEYWORD3>XRangeType</KEYWORD3>
241
242			<KEYWORD3>None</KEYWORD3>
243
244			<KEYWORD3>__all__</KEYWORD3>
245			<KEYWORD3>__bases__</KEYWORD3>
246			<KEYWORD3>__builtins__</KEYWORD3>
247			<KEYWORD3>__class__</KEYWORD3>
248			<KEYWORD3>__debug__</KEYWORD3>
249			<KEYWORD3>__dict__</KEYWORD3>
250			<KEYWORD3>__doc__</KEYWORD3>
251			<KEYWORD3>__file__</KEYWORD3>
252			<KEYWORD3>__future__</KEYWORD3>
253			<KEYWORD3>__import__</KEYWORD3>
254			<KEYWORD3>__members__</KEYWORD3>
255			<KEYWORD3>__methods__</KEYWORD3>
256			<KEYWORD3>__name__</KEYWORD3>
257			<KEYWORD3>__path__</KEYWORD3>
258			<KEYWORD3>__self__</KEYWORD3>
259			<KEYWORD3>__version__</KEYWORD3>
260		</KEYWORDS>
261	</RULES>
262</MODE>
263