Regular Expressions (JavaScript).tmLanguage 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>fileTypes</key>
  6. <array/>
  7. <key>hideFromUser</key>
  8. <true/>
  9. <key>name</key>
  10. <string>Regular Expressions (JavaScript)</string>
  11. <key>patterns</key>
  12. <array>
  13. <dict>
  14. <key>include</key>
  15. <string>#regexp</string>
  16. </dict>
  17. </array>
  18. <key>repository</key>
  19. <dict>
  20. <key>regex-character-class</key>
  21. <dict>
  22. <key>patterns</key>
  23. <array>
  24. <dict>
  25. <key>match</key>
  26. <string>\\[wWsSdD]|\.</string>
  27. <key>name</key>
  28. <string>constant.character.character-class.regexp</string>
  29. </dict>
  30. <dict>
  31. <key>match</key>
  32. <string>\\([0-7]{3}|x\h\h|u\h\h\h\h)</string>
  33. <key>name</key>
  34. <string>constant.character.numeric.regexp</string>
  35. </dict>
  36. <dict>
  37. <key>match</key>
  38. <string>\\c[A-Z]</string>
  39. <key>name</key>
  40. <string>constant.character.control.regexp</string>
  41. </dict>
  42. <dict>
  43. <key>match</key>
  44. <string>\\.</string>
  45. <key>name</key>
  46. <string>constant.character.escape.backslash.regexp</string>
  47. </dict>
  48. </array>
  49. </dict>
  50. <key>regexp</key>
  51. <dict>
  52. <key>patterns</key>
  53. <array>
  54. <dict>
  55. <key>match</key>
  56. <string>\\[bB]|\^|\$</string>
  57. <key>name</key>
  58. <string>keyword.control.anchor.regexp</string>
  59. </dict>
  60. <dict>
  61. <key>match</key>
  62. <string>\\[1-9]\d*</string>
  63. <key>name</key>
  64. <string>keyword.other.back-reference.regexp</string>
  65. </dict>
  66. <dict>
  67. <key>match</key>
  68. <string>[?+*]|\{(\d+,\d+|\d+,|,\d+|\d+)\}\??</string>
  69. <key>name</key>
  70. <string>keyword.operator.quantifier.regexp</string>
  71. </dict>
  72. <dict>
  73. <key>match</key>
  74. <string>\|</string>
  75. <key>name</key>
  76. <string>keyword.operator.or.regexp</string>
  77. </dict>
  78. <dict>
  79. <key>begin</key>
  80. <string>(\()((\?=)|(\?!))</string>
  81. <key>beginCaptures</key>
  82. <dict>
  83. <key>1</key>
  84. <dict>
  85. <key>name</key>
  86. <string>punctuation.definition.group.regexp</string>
  87. </dict>
  88. <key>3</key>
  89. <dict>
  90. <key>name</key>
  91. <string>meta.assertion.look-ahead.regexp</string>
  92. </dict>
  93. <key>4</key>
  94. <dict>
  95. <key>name</key>
  96. <string>meta.assertion.negative-look-ahead.regexp</string>
  97. </dict>
  98. </dict>
  99. <key>end</key>
  100. <string>(\))</string>
  101. <key>endCaptures</key>
  102. <dict>
  103. <key>1</key>
  104. <dict>
  105. <key>name</key>
  106. <string>punctuation.definition.group.regexp</string>
  107. </dict>
  108. </dict>
  109. <key>name</key>
  110. <string>meta.group.assertion.regexp</string>
  111. <key>patterns</key>
  112. <array>
  113. <dict>
  114. <key>include</key>
  115. <string>#regexp</string>
  116. </dict>
  117. </array>
  118. </dict>
  119. <dict>
  120. <key>begin</key>
  121. <string>\((\?:)?</string>
  122. <key>beginCaptures</key>
  123. <dict>
  124. <key>0</key>
  125. <dict>
  126. <key>name</key>
  127. <string>punctuation.definition.group.regexp</string>
  128. </dict>
  129. </dict>
  130. <key>end</key>
  131. <string>\)</string>
  132. <key>endCaptures</key>
  133. <dict>
  134. <key>0</key>
  135. <dict>
  136. <key>name</key>
  137. <string>punctuation.definition.group.regexp</string>
  138. </dict>
  139. </dict>
  140. <key>name</key>
  141. <string>meta.group.regexp</string>
  142. <key>patterns</key>
  143. <array>
  144. <dict>
  145. <key>include</key>
  146. <string>#regexp</string>
  147. </dict>
  148. </array>
  149. </dict>
  150. <dict>
  151. <key>begin</key>
  152. <string>(\[)(\^)?</string>
  153. <key>beginCaptures</key>
  154. <dict>
  155. <key>1</key>
  156. <dict>
  157. <key>name</key>
  158. <string>punctuation.definition.character-class.regexp</string>
  159. </dict>
  160. <key>2</key>
  161. <dict>
  162. <key>name</key>
  163. <string>keyword.operator.negation.regexp</string>
  164. </dict>
  165. </dict>
  166. <key>end</key>
  167. <string>(\])</string>
  168. <key>endCaptures</key>
  169. <dict>
  170. <key>1</key>
  171. <dict>
  172. <key>name</key>
  173. <string>punctuation.definition.character-class.regexp</string>
  174. </dict>
  175. </dict>
  176. <key>name</key>
  177. <string>constant.other.character-class.set.regexp</string>
  178. <key>patterns</key>
  179. <array>
  180. <dict>
  181. <key>captures</key>
  182. <dict>
  183. <key>1</key>
  184. <dict>
  185. <key>name</key>
  186. <string>constant.character.numeric.regexp</string>
  187. </dict>
  188. <key>2</key>
  189. <dict>
  190. <key>name</key>
  191. <string>constant.character.control.regexp</string>
  192. </dict>
  193. <key>3</key>
  194. <dict>
  195. <key>name</key>
  196. <string>constant.character.escape.backslash.regexp</string>
  197. </dict>
  198. <key>4</key>
  199. <dict>
  200. <key>name</key>
  201. <string>constant.character.numeric.regexp</string>
  202. </dict>
  203. <key>5</key>
  204. <dict>
  205. <key>name</key>
  206. <string>constant.character.control.regexp</string>
  207. </dict>
  208. <key>6</key>
  209. <dict>
  210. <key>name</key>
  211. <string>constant.character.escape.backslash.regexp</string>
  212. </dict>
  213. </dict>
  214. <key>match</key>
  215. <string>(?:.|(\\(?:[0-7]{3}|x\h\h|u\h\h\h\h))|(\\c[A-Z])|(\\.))\-(?:[^\]\\]|(\\(?:[0-7]{3}|x\h\h|u\h\h\h\h))|(\\c[A-Z])|(\\.))</string>
  216. <key>name</key>
  217. <string>constant.other.character-class.range.regexp</string>
  218. </dict>
  219. <dict>
  220. <key>include</key>
  221. <string>#regex-character-class</string>
  222. </dict>
  223. </array>
  224. </dict>
  225. <dict>
  226. <key>include</key>
  227. <string>#regex-character-class</string>
  228. </dict>
  229. </array>
  230. </dict>
  231. </dict>
  232. <key>scopeName</key>
  233. <string>source.js.regexp</string>
  234. <key>uuid</key>
  235. <string>AC8679DE-3AC7-4056-84F9-69A7ADC29DDD</string>
  236. </dict>
  237. </plist>