python.json 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. {
  2. "aliases": [
  3. "py",
  4. "gyp",
  5. "ipython"
  6. ],
  7. "keywords": {
  8. "keyword": "and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",
  9. "built_in": "Ellipsis NotImplemented",
  10. "literal": "False None True"
  11. },
  12. "illegal": "(<\\\/|->|\\?)|=>",
  13. "contains": [
  14. {
  15. "className": "meta",
  16. "begin": "^(>>>|\\.\\.\\.) "
  17. },
  18. {
  19. "className": "number",
  20. "relevance": 0,
  21. "variants": [
  22. {
  23. "begin": "\\b(0b[01]+)[lLjJ]?"
  24. },
  25. {
  26. "begin": "\\b(0o[0-7]+)[lLjJ]?"
  27. },
  28. {
  29. "begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)[lLjJ]?"
  30. }
  31. ]
  32. },
  33. {
  34. "beginKeywords": "if",
  35. "relevance": 0
  36. },
  37. {
  38. "className": "string",
  39. "contains": [
  40. {
  41. "begin": "\\\\[\\s\\S]",
  42. "relevance": 0
  43. }
  44. ],
  45. "variants": [
  46. {
  47. "begin": "(u|b)?r?'''",
  48. "end": "'''",
  49. "contains": [
  50. {
  51. "$ref": "#contains.3.contains.0"
  52. },
  53. {
  54. "$ref": "#contains.0"
  55. }
  56. ],
  57. "relevance": 10
  58. },
  59. {
  60. "begin": "(u|b)?r?\"\"\"",
  61. "end": "\"\"\"",
  62. "contains": [
  63. {
  64. "$ref": "#contains.3.contains.0"
  65. },
  66. {
  67. "$ref": "#contains.0"
  68. }
  69. ],
  70. "relevance": 10
  71. },
  72. {
  73. "begin": "(fr|rf|f)'''",
  74. "end": "'''",
  75. "contains": [
  76. {
  77. "$ref": "#contains.3.contains.0"
  78. },
  79. {
  80. "$ref": "#contains.0"
  81. },
  82. {
  83. "begin": "\\{\\{",
  84. "relevance": 0
  85. },
  86. {
  87. "className": "subst",
  88. "begin": "\\{",
  89. "end": "\\}",
  90. "keywords": {
  91. "$ref": "#keywords"
  92. },
  93. "illegal": "#",
  94. "contains": [
  95. {
  96. "$ref": "#contains.3"
  97. },
  98. {
  99. "$ref": "#contains.1"
  100. },
  101. {
  102. "$ref": "#contains.0"
  103. }
  104. ]
  105. }
  106. ]
  107. },
  108. {
  109. "begin": "(fr|rf|f)\"\"\"",
  110. "end": "\"\"\"",
  111. "contains": [
  112. {
  113. "$ref": "#contains.3.contains.0"
  114. },
  115. {
  116. "$ref": "#contains.0"
  117. },
  118. {
  119. "$ref": "#contains.3.variants.2.contains.2"
  120. },
  121. {
  122. "$ref": "#contains.3.variants.2.contains.3"
  123. }
  124. ]
  125. },
  126. {
  127. "begin": "(u|r|ur)'",
  128. "end": "'",
  129. "relevance": 10
  130. },
  131. {
  132. "begin": "(u|r|ur)\"",
  133. "end": "\"",
  134. "relevance": 10
  135. },
  136. {
  137. "begin": "(b|br)'",
  138. "end": "'"
  139. },
  140. {
  141. "begin": "(b|br)\"",
  142. "end": "\""
  143. },
  144. {
  145. "begin": "(fr|rf|f)'",
  146. "end": "'",
  147. "contains": [
  148. {
  149. "$ref": "#contains.3.contains.0"
  150. },
  151. {
  152. "$ref": "#contains.3.variants.2.contains.2"
  153. },
  154. {
  155. "$ref": "#contains.3.variants.2.contains.3"
  156. }
  157. ]
  158. },
  159. {
  160. "begin": "(fr|rf|f)\"",
  161. "end": "\"",
  162. "contains": [
  163. {
  164. "$ref": "#contains.3.contains.0"
  165. },
  166. {
  167. "$ref": "#contains.3.variants.2.contains.2"
  168. },
  169. {
  170. "$ref": "#contains.3.variants.2.contains.3"
  171. }
  172. ]
  173. },
  174. {
  175. "className": "string",
  176. "begin": "'",
  177. "end": "'",
  178. "illegal": "\\n",
  179. "contains": [
  180. {
  181. "$ref": "#contains.3.contains.0"
  182. }
  183. ]
  184. },
  185. {
  186. "className": "string",
  187. "begin": "\"",
  188. "end": "\"",
  189. "illegal": "\\n",
  190. "contains": [
  191. {
  192. "$ref": "#contains.3.contains.0"
  193. }
  194. ]
  195. }
  196. ]
  197. },
  198. {
  199. "className": "comment",
  200. "begin": "#",
  201. "end": "$",
  202. "contains": [
  203. {
  204. "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
  205. },
  206. {
  207. "className": "doctag",
  208. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  209. "relevance": 0
  210. }
  211. ]
  212. },
  213. {
  214. "variants": [
  215. {
  216. "className": "function",
  217. "beginKeywords": "def"
  218. },
  219. {
  220. "className": "class",
  221. "beginKeywords": "class"
  222. }
  223. ],
  224. "end": ":",
  225. "illegal": "[${=;\\n,]",
  226. "contains": [
  227. {
  228. "className": "title",
  229. "begin": "[a-zA-Z_]\\w*",
  230. "relevance": 0
  231. },
  232. {
  233. "className": "params",
  234. "begin": "\\(",
  235. "end": "\\)",
  236. "contains": [
  237. "self",
  238. {
  239. "$ref": "#contains.0"
  240. },
  241. {
  242. "$ref": "#contains.1"
  243. },
  244. {
  245. "$ref": "#contains.3"
  246. },
  247. {
  248. "$ref": "#contains.4"
  249. }
  250. ]
  251. },
  252. {
  253. "begin": "->",
  254. "endsWithParent": true,
  255. "keywords": "None"
  256. }
  257. ]
  258. },
  259. {
  260. "className": "meta",
  261. "begin": "^[\\t ]*@",
  262. "end": "$"
  263. },
  264. {
  265. "begin": "\\b(print|exec)\\("
  266. }
  267. ]
  268. }