PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/modes/python.xml

#
XML | 338 lines | 321 code | 4 blank | 13 comment | 0 complexity | 829cd4f2ac4904e72f464a391d5060a4 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. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!-- Python mode, by Slava Pestov. Based on PythonTokenMarker by -->
  4. <!-- Jonathan Revusky -->
  5. <!-- Modified 19-Jul-00 by Ivan Frohne to: -->
  6. <!-- (a) implement 'indentOnEnter'; -->
  7. <!-- (b) indent next line automatically after control structures followed -->
  8. <!-- by ':'; -->
  9. <!-- (c) make """ or ''' multiline quotes TYPE LITERAL2; -->
  10. <!-- (d) add TYPE FUNCTION identified by a following '(' -->
  11. <!-- (e) eliminate the '?' SEQ TYPE ('?' has no meaning in Python); -->
  12. <!-- (f) change the TYPE of 'and', 'or', and 'not' to KEYWORD1; and -->
  13. <!-- (g) add all builtin functions, builtin exceptions, -->
  14. <!-- builtin type methods, File object methods, and special type -->
  15. <!-- attributes as TYPE KEYWORD3. -->
  16. <MODE>
  17. <PROPS>
  18. <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />
  19. <PROPERTY NAME="lineComment" VALUE="#" />
  20. </PROPS>
  21. <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
  22. <!-- Comment -->
  23. <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
  24. <!-- Triple-quotes -->
  25. <SPAN TYPE="LITERAL2">
  26. <BEGIN>"""</BEGIN>
  27. <END>"""</END>
  28. </SPAN>
  29. <SPAN TYPE="LITERAL2">
  30. <BEGIN>'''</BEGIN>
  31. <END>'''</END>
  32. </SPAN>
  33. <!-- Standard literals -->
  34. <SPAN TYPE="LITERAL1">
  35. <BEGIN>"</BEGIN>
  36. <END>"</END>
  37. </SPAN>
  38. <SPAN TYPE="LITERAL1">
  39. <BEGIN>'</BEGIN>
  40. <END>'</END>
  41. </SPAN>
  42. <SEQ TYPE="OPERATOR">=</SEQ>
  43. <SEQ TYPE="OPERATOR">!</SEQ>
  44. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  45. <SEQ TYPE="OPERATOR">&lt;=</SEQ>
  46. <SEQ TYPE="OPERATOR">+</SEQ>
  47. <SEQ TYPE="OPERATOR">-</SEQ>
  48. <SEQ TYPE="OPERATOR">/</SEQ>
  49. <SEQ TYPE="OPERATOR">*</SEQ>
  50. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  51. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  52. <SEQ TYPE="OPERATOR">%</SEQ>
  53. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  54. <SEQ TYPE="OPERATOR">|</SEQ>
  55. <SEQ TYPE="OPERATOR">^</SEQ>
  56. <SEQ TYPE="OPERATOR">~</SEQ>
  57. <MARK_PREVIOUS TYPE="FUNCTION"
  58. EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  59. <KEYWORDS>
  60. <!-- Reserved Words -->
  61. <KEYWORD1>and</KEYWORD1>
  62. <KEYWORD1>as</KEYWORD1>
  63. <KEYWORD1>assert</KEYWORD1>
  64. <KEYWORD1>break</KEYWORD1>
  65. <KEYWORD1>class</KEYWORD1>
  66. <KEYWORD1>continue</KEYWORD1>
  67. <KEYWORD1>def</KEYWORD1>
  68. <KEYWORD1>del</KEYWORD1>
  69. <KEYWORD1>elif</KEYWORD1>
  70. <KEYWORD1>else</KEYWORD1>
  71. <KEYWORD1>except</KEYWORD1>
  72. <KEYWORD1>exec</KEYWORD1>
  73. <KEYWORD1>finally</KEYWORD1>
  74. <KEYWORD1>for</KEYWORD1>
  75. <KEYWORD1>from</KEYWORD1>
  76. <KEYWORD1>global</KEYWORD1>
  77. <KEYWORD1>if</KEYWORD1>
  78. <KEYWORD1>import</KEYWORD1>
  79. <KEYWORD1>in</KEYWORD1>
  80. <KEYWORD1>is</KEYWORD1>
  81. <KEYWORD1>lambda</KEYWORD1>
  82. <KEYWORD1>not</KEYWORD1>
  83. <KEYWORD1>or</KEYWORD1>
  84. <KEYWORD1>pass</KEYWORD1>
  85. <KEYWORD1>print</KEYWORD1>
  86. <KEYWORD1>raise</KEYWORD1>
  87. <KEYWORD1>return</KEYWORD1>
  88. <KEYWORD1>try</KEYWORD1>
  89. <KEYWORD1>while</KEYWORD1>
  90. <KEYWORD1>yield</KEYWORD1>
  91. <!-- builtins -->
  92. <KEYWORD2>abs</KEYWORD2>
  93. <KEYWORD2>apply</KEYWORD2>
  94. <KEYWORD2>bool</KEYWORD2>
  95. <KEYWORD2>buffer</KEYWORD2>
  96. <KEYWORD2>callable</KEYWORD2>
  97. <KEYWORD2>chr</KEYWORD2>
  98. <KEYWORD2>classmethod</KEYWORD2>
  99. <KEYWORD2>cmp</KEYWORD2>
  100. <KEYWORD2>coerce</KEYWORD2>
  101. <KEYWORD2>compile</KEYWORD2>
  102. <KEYWORD2>complex</KEYWORD2>
  103. <KEYWORD2>delattr</KEYWORD2>
  104. <KEYWORD2>dict</KEYWORD2>
  105. <KEYWORD2>dir</KEYWORD2>
  106. <KEYWORD2>divmod</KEYWORD2>
  107. <KEYWORD2>enumerate</KEYWORD2>
  108. <KEYWORD2>eval</KEYWORD2>
  109. <KEYWORD2>execfile</KEYWORD2>
  110. <KEYWORD2>file</KEYWORD2>
  111. <KEYWORD2>filter</KEYWORD2>
  112. <KEYWORD2>float</KEYWORD2>
  113. <KEYWORD2>getattr</KEYWORD2>
  114. <KEYWORD2>globals</KEYWORD2>
  115. <KEYWORD2>hasattr</KEYWORD2>
  116. <KEYWORD2>hash</KEYWORD2>
  117. <KEYWORD2>hex</KEYWORD2>
  118. <KEYWORD2>id</KEYWORD2>
  119. <KEYWORD2>input</KEYWORD2>
  120. <KEYWORD2>int</KEYWORD2>
  121. <KEYWORD2>intern</KEYWORD2>
  122. <KEYWORD2>isinstance</KEYWORD2>
  123. <KEYWORD2>issubclass</KEYWORD2>
  124. <KEYWORD2>iter</KEYWORD2>
  125. <KEYWORD2>len</KEYWORD2>
  126. <KEYWORD2>list</KEYWORD2>
  127. <KEYWORD2>locals</KEYWORD2>
  128. <KEYWORD2>long</KEYWORD2>
  129. <KEYWORD2>map</KEYWORD2>
  130. <KEYWORD2>max</KEYWORD2>
  131. <KEYWORD2>min</KEYWORD2>
  132. <KEYWORD2>object</KEYWORD2>
  133. <KEYWORD2>oct</KEYWORD2>
  134. <KEYWORD2>open</KEYWORD2>
  135. <KEYWORD2>ord</KEYWORD2>
  136. <KEYWORD2>pow</KEYWORD2>
  137. <KEYWORD2>property</KEYWORD2>
  138. <KEYWORD2>range</KEYWORD2>
  139. <KEYWORD2>raw_input</KEYWORD2>
  140. <KEYWORD2>reduce</KEYWORD2>
  141. <KEYWORD2>reload</KEYWORD2>
  142. <KEYWORD2>repr</KEYWORD2>
  143. <KEYWORD2>round</KEYWORD2>
  144. <KEYWORD2>setattr</KEYWORD2>
  145. <KEYWORD2>slice</KEYWORD2>
  146. <KEYWORD2>staticmethod</KEYWORD2>
  147. <KEYWORD2>str</KEYWORD2>
  148. <KEYWORD2>sum</KEYWORD2>
  149. <KEYWORD2>super</KEYWORD2>
  150. <KEYWORD2>tuple</KEYWORD2>
  151. <KEYWORD2>type</KEYWORD2>
  152. <KEYWORD2>unichr</KEYWORD2>
  153. <KEYWORD2>unicode</KEYWORD2>
  154. <KEYWORD2>vars</KEYWORD2>
  155. <KEYWORD2>xrange</KEYWORD2>
  156. <KEYWORD2>zip</KEYWORD2>
  157. <!-- exceptions -->
  158. <KEYWORD3>ArithmeticError</KEYWORD3>
  159. <KEYWORD3>AssertionError</KEYWORD3>
  160. <KEYWORD3>AttributeError</KEYWORD3>
  161. <KEYWORD3>DeprecationWarning</KEYWORD3>
  162. <KEYWORD3>EOFError</KEYWORD3>
  163. <KEYWORD3>EnvironmentError</KEYWORD3>
  164. <KEYWORD3>Exception</KEYWORD3>
  165. <KEYWORD3>FloatingPointError</KEYWORD3>
  166. <KEYWORD3>IOError</KEYWORD3>
  167. <KEYWORD3>ImportError</KEYWORD3>
  168. <KEYWORD3>IndentationError</KEYWORD3>
  169. <KEYWORD3>IndexError</KEYWORD3>
  170. <KEYWORD3>KeyError</KEYWORD3>
  171. <KEYWORD3>KeyboardInterrupt</KEYWORD3>
  172. <KEYWORD3>LookupError</KEYWORD3>
  173. <KEYWORD3>MemoryError</KEYWORD3>
  174. <KEYWORD3>NameError</KEYWORD3>
  175. <KEYWORD3>NotImplemented</KEYWORD3>
  176. <KEYWORD3>NotImplementedError</KEYWORD3>
  177. <KEYWORD3>OSError</KEYWORD3>
  178. <KEYWORD3>OverflowError</KEYWORD3>
  179. <KEYWORD3>OverflowWarning</KEYWORD3>
  180. <KEYWORD3>ReferenceError</KEYWORD3>
  181. <KEYWORD3>RuntimeError</KEYWORD3>
  182. <KEYWORD3>RuntimeWarning</KEYWORD3>
  183. <KEYWORD3>StandardError</KEYWORD3>
  184. <KEYWORD3>StopIteration</KEYWORD3>
  185. <KEYWORD3>SyntaxError</KEYWORD3>
  186. <KEYWORD3>SyntaxWarning</KEYWORD3>
  187. <KEYWORD3>SystemError</KEYWORD3>
  188. <KEYWORD3>SystemExit</KEYWORD3>
  189. <KEYWORD3>TabError</KEYWORD3>
  190. <KEYWORD3>TypeError</KEYWORD3>
  191. <KEYWORD3>UnboundLocalError</KEYWORD3>
  192. <KEYWORD3>UnicodeError</KEYWORD3>
  193. <KEYWORD3>UserWarning</KEYWORD3>
  194. <KEYWORD3>ValueError</KEYWORD3>
  195. <KEYWORD3>Warning</KEYWORD3>
  196. <KEYWORD3>WindowsError</KEYWORD3>
  197. <KEYWORD3>ZeroDivisionError</KEYWORD3>
  198. <!-- types (from types module) -->
  199. <KEYWORD3>BufferType</KEYWORD3>
  200. <KEYWORD3>BuiltinFunctionType</KEYWORD3>
  201. <KEYWORD3>BuiltinMethodType</KEYWORD3>
  202. <KEYWORD3>ClassType</KEYWORD3>
  203. <KEYWORD3>CodeType</KEYWORD3>
  204. <KEYWORD3>ComplexType</KEYWORD3>
  205. <KEYWORD3>DictProxyType</KEYWORD3>
  206. <KEYWORD3>DictType</KEYWORD3>
  207. <KEYWORD3>DictionaryType</KEYWORD3>
  208. <KEYWORD3>EllipsisType</KEYWORD3>
  209. <KEYWORD3>FileType</KEYWORD3>
  210. <KEYWORD3>FloatType</KEYWORD3>
  211. <KEYWORD3>FrameType</KEYWORD3>
  212. <KEYWORD3>FunctionType</KEYWORD3>
  213. <KEYWORD3>GeneratorType</KEYWORD3>
  214. <KEYWORD3>InstanceType</KEYWORD3>
  215. <KEYWORD3>IntType</KEYWORD3>
  216. <KEYWORD3>LambdaType</KEYWORD3>
  217. <KEYWORD3>ListType</KEYWORD3>
  218. <KEYWORD3>LongType</KEYWORD3>
  219. <KEYWORD3>MethodType</KEYWORD3>
  220. <KEYWORD3>ModuleType</KEYWORD3>
  221. <KEYWORD3>NoneType</KEYWORD3>
  222. <KEYWORD3>ObjectType</KEYWORD3>
  223. <KEYWORD3>SliceType</KEYWORD3>
  224. <KEYWORD3>StringType</KEYWORD3>
  225. <KEYWORD3>StringTypes</KEYWORD3>
  226. <KEYWORD3>TracebackType</KEYWORD3>
  227. <KEYWORD3>TupleType</KEYWORD3>
  228. <KEYWORD3>TypeType</KEYWORD3>
  229. <KEYWORD3>UnboundMethodType</KEYWORD3>
  230. <KEYWORD3>UnicodeType</KEYWORD3>
  231. <KEYWORD3>XRangeType</KEYWORD3>
  232. <KEYWORD3>False</KEYWORD3>
  233. <KEYWORD3>None</KEYWORD3>
  234. <KEYWORD3>True</KEYWORD3>
  235. <KEYWORD3>__abs__</KEYWORD3>
  236. <KEYWORD3>__add__</KEYWORD3>
  237. <KEYWORD3>__all__</KEYWORD3>
  238. <KEYWORD3>__author__</KEYWORD3>
  239. <KEYWORD3>__bases__</KEYWORD3>
  240. <KEYWORD3>__builtins__</KEYWORD3>
  241. <KEYWORD3>__call__</KEYWORD3>
  242. <KEYWORD3>__class__</KEYWORD3>
  243. <KEYWORD3>__cmp__</KEYWORD3>
  244. <KEYWORD3>__coerce__</KEYWORD3>
  245. <KEYWORD3>__contains__</KEYWORD3>
  246. <KEYWORD3>__debug__</KEYWORD3>
  247. <KEYWORD3>__del__</KEYWORD3>
  248. <KEYWORD3>__delattr__</KEYWORD3>
  249. <KEYWORD3>__delitem__</KEYWORD3>
  250. <KEYWORD3>__delslice__</KEYWORD3>
  251. <KEYWORD3>__dict__</KEYWORD3>
  252. <KEYWORD3>__div__</KEYWORD3>
  253. <KEYWORD3>__divmod__</KEYWORD3>
  254. <KEYWORD3>__doc__</KEYWORD3>
  255. <KEYWORD3>__eq__</KEYWORD3>
  256. <KEYWORD3>__file__</KEYWORD3>
  257. <KEYWORD3>__float__</KEYWORD3>
  258. <KEYWORD3>__floordiv__</KEYWORD3>
  259. <KEYWORD3>__future__</KEYWORD3>
  260. <KEYWORD3>__ge__</KEYWORD3>
  261. <KEYWORD3>__getattr__</KEYWORD3>
  262. <KEYWORD3>__getattribute__</KEYWORD3>
  263. <KEYWORD3>__getitem__</KEYWORD3>
  264. <KEYWORD3>__getslice__</KEYWORD3>
  265. <KEYWORD3>__gt__</KEYWORD3>
  266. <KEYWORD3>__hash__</KEYWORD3>
  267. <KEYWORD3>__hex__</KEYWORD3>
  268. <KEYWORD3>__iadd__</KEYWORD3>
  269. <KEYWORD3>__import__</KEYWORD3>
  270. <KEYWORD3>__imul__</KEYWORD3>
  271. <KEYWORD3>__init__</KEYWORD3>
  272. <KEYWORD3>__int__</KEYWORD3>
  273. <KEYWORD3>__invert__</KEYWORD3>
  274. <KEYWORD3>__iter__</KEYWORD3>
  275. <KEYWORD3>__le__</KEYWORD3>
  276. <KEYWORD3>__len__</KEYWORD3>
  277. <KEYWORD3>__long__</KEYWORD3>
  278. <KEYWORD3>__lshift__</KEYWORD3>
  279. <KEYWORD3>__lt__</KEYWORD3>
  280. <KEYWORD3>__members__</KEYWORD3>
  281. <KEYWORD3>__metaclass__</KEYWORD3>
  282. <KEYWORD3>__mod__</KEYWORD3>
  283. <KEYWORD3>__mro__</KEYWORD3>
  284. <KEYWORD3>__mul__</KEYWORD3>
  285. <KEYWORD3>__name__</KEYWORD3>
  286. <KEYWORD3>__ne__</KEYWORD3>
  287. <KEYWORD3>__neg__</KEYWORD3>
  288. <KEYWORD3>__new__</KEYWORD3>
  289. <KEYWORD3>__nonzero__</KEYWORD3>
  290. <KEYWORD3>__oct__</KEYWORD3>
  291. <KEYWORD3>__or__</KEYWORD3>
  292. <KEYWORD3>__path__</KEYWORD3>
  293. <KEYWORD3>__pos__</KEYWORD3>
  294. <KEYWORD3>__pow__</KEYWORD3>
  295. <KEYWORD3>__radd__</KEYWORD3>
  296. <KEYWORD3>__rdiv__</KEYWORD3>
  297. <KEYWORD3>__rdivmod__</KEYWORD3>
  298. <KEYWORD3>__reduce__</KEYWORD3>
  299. <KEYWORD3>__repr__</KEYWORD3>
  300. <KEYWORD3>__rfloordiv__</KEYWORD3>
  301. <KEYWORD3>__rlshift__</KEYWORD3>
  302. <KEYWORD3>__rmod__</KEYWORD3>
  303. <KEYWORD3>__rmul__</KEYWORD3>
  304. <KEYWORD3>__ror__</KEYWORD3>
  305. <KEYWORD3>__rpow__</KEYWORD3>
  306. <KEYWORD3>__rrshift__</KEYWORD3>
  307. <KEYWORD3>__rsub__</KEYWORD3>
  308. <KEYWORD3>__rtruediv__</KEYWORD3>
  309. <KEYWORD3>__rxor__</KEYWORD3>
  310. <KEYWORD3>__setattr__</KEYWORD3>
  311. <KEYWORD3>__setitem__</KEYWORD3>
  312. <KEYWORD3>__setslice__</KEYWORD3>
  313. <KEYWORD3>__self__</KEYWORD3>
  314. <KEYWORD3>__slots__</KEYWORD3>
  315. <KEYWORD3>__str__</KEYWORD3>
  316. <KEYWORD3>__sub__</KEYWORD3>
  317. <KEYWORD3>__truediv__</KEYWORD3>
  318. <KEYWORD3>__version__</KEYWORD3>
  319. <KEYWORD3>__xor__</KEYWORD3>
  320. </KEYWORDS>
  321. </RULES>
  322. </MODE>