Advertisement
Guest User

asm8080.tmLanguage

a guest
Aug 30th, 2012
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 5.92 KB | None | 0 0
  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. <string>asm</string>
  8. </array>
  9. <key>name</key>
  10. <string>8080 Assembly</string>
  11. <key>patterns</key>
  12. <array>
  13. <dict>
  14. <key>match</key>
  15. <string>;.*$</string>
  16. <key>name</key>
  17. <string>comment.line</string>
  18. </dict>
  19. <dict>
  20. <key>begin</key>
  21. <string>^\s*\#\s*if\s+0\b</string>
  22. <key>end</key>
  23. <string>^\s*\#\s*endif\b</string>
  24. <key>name</key>
  25. <string>comment.preprocessor</string>
  26. </dict>
  27. <dict>
  28. <key>begin</key>
  29. <string>/\*</string>
  30. <key>end</key>
  31. <string>\*/</string>
  32. <key>name</key>
  33. <string>comment.block</string>
  34. </dict>
  35. <dict>
  36. <key>begin</key>
  37. <string>(?x)
  38.          ^\s*\#\s*(define)\s+ # define
  39.          ((?&lt;id&gt;[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
  40.          (?: # and optionally:
  41.          (\() # an open parenthesis
  42.          (
  43.          \s* \g&lt;id&gt; \s* # first argument
  44.          ((,) \s* \g&lt;id&gt; \s*)* # additional arguments
  45.          (?:\.\.\.)? # varargs ellipsis?
  46.          )
  47.          (\)) # a close parenthesis
  48.          )?
  49.          </string>
  50. <key>beginCaptures</key>
  51. <dict>
  52. <key>1</key>
  53. <dict>
  54. <key>name</key>
  55. <string>keyword.control.import.define.c</string>
  56. </dict>
  57. <key>2</key>
  58. <dict>
  59. <key>name</key>
  60. <string>entity.name.function.preprocessor.c</string>
  61. </dict>
  62. <key>4</key>
  63. <dict>
  64. <key>name</key>
  65. <string>punctuation.definition.parameters.c</string>
  66. </dict>
  67. <key>5</key>
  68. <dict>
  69. <key>name</key>
  70. <string>variable.parameter.preprocessor.c</string>
  71. </dict>
  72. <key>7</key>
  73. <dict>
  74. <key>name</key>
  75. <string>punctuation.separator.parameters.c</string>
  76. </dict>
  77. <key>8</key>
  78. <dict>
  79. <key>name</key>
  80. <string>punctuation.definition.parameters.c</string>
  81. </dict>
  82. </dict>
  83. <key>end</key>
  84. <string>(?=(?://|/\*))|$</string>
  85. <key>name</key>
  86. <string>meta.preprocessor.macro.c</string>
  87. <key>patterns</key>
  88. <array>
  89. <dict>
  90. <key>match</key>
  91. <string>(?&gt;\\\s*\n)</string>
  92. <key>name</key>
  93. <string>punctuation.separator.continuation.c</string>
  94. </dict>
  95. <dict>
  96. <key>include</key>
  97. <string>$base</string>
  98. </dict>
  99. </array>
  100. </dict>
  101. <dict>
  102. <key>begin</key>
  103. <string>^\s*#\s*(error|warning)\b</string>
  104. <key>captures</key>
  105. <dict>
  106. <key>1</key>
  107. <dict>
  108. <key>name</key>
  109. <string>keyword.control.import.error.c</string>
  110. </dict>
  111. </dict>
  112. <key>end</key>
  113. <string>$</string>
  114. <key>name</key>
  115. <string>meta.preprocessor.diagnostic.c</string>
  116. <key>patterns</key>
  117. <array>
  118. <dict>
  119. <key>match</key>
  120. <string>(?&gt;\\\s*\n)</string>
  121. <key>name</key>
  122. <string>punctuation.separator.continuation.c</string>
  123. </dict>
  124. </array>
  125. </dict>
  126. <dict>
  127. <key>begin</key>
  128. <string>^\s*#\s*(include|import)\b\s+</string>
  129. <key>captures</key>
  130. <dict>
  131. <key>1</key>
  132. <dict>
  133. <key>name</key>
  134. <string>keyword.control.import.include.c</string>
  135. </dict>
  136. </dict>
  137. <key>end</key>
  138. <string>(?=(?://|/\*))|$</string>
  139. <key>name</key>
  140. <string>meta.preprocessor.c.include</string>
  141. <key>patterns</key>
  142. <array>
  143. <dict>
  144. <key>match</key>
  145. <string>(?&gt;\\\s*\n)</string>
  146. <key>name</key>
  147. <string>punctuation.separator.continuation.c</string>
  148. </dict>
  149. <dict>
  150. <key>begin</key>
  151. <string>"</string>
  152. <key>beginCaptures</key>
  153. <dict>
  154. <key>0</key>
  155. <dict>
  156. <key>name</key>
  157. <string>punctuation.definition.string.begin.c</string>
  158. </dict>
  159. </dict>
  160. <key>end</key>
  161. <string>"</string>
  162. <key>endCaptures</key>
  163. <dict>
  164. <key>0</key>
  165. <dict>
  166. <key>name</key>
  167. <string>punctuation.definition.string.end.c</string>
  168. </dict>
  169. </dict>
  170. <key>name</key>
  171. <string>string.quoted.double.include.c</string>
  172. </dict>
  173. <dict>
  174. <key>begin</key>
  175. <string>&lt;</string>
  176. <key>beginCaptures</key>
  177. <dict>
  178. <key>0</key>
  179. <dict>
  180. <key>name</key>
  181. <string>punctuation.definition.string.begin.c</string>
  182. </dict>
  183. </dict>
  184. <key>end</key>
  185. <string>&gt;</string>
  186. <key>endCaptures</key>
  187. <dict>
  188. <key>0</key>
  189. <dict>
  190. <key>name</key>
  191. <string>punctuation.definition.string.end.c</string>
  192. </dict>
  193. </dict>
  194. <key>name</key>
  195. <string>string.quoted.other.lt-gt.include.c</string>
  196. </dict>
  197. </array>
  198. </dict>
  199. <dict>
  200.    <key>begin</key>
  201.    <string>^\s*.\s*(include)\b</string>
  202.    <key>captures</key>
  203.    <dict>
  204.       <key>1</key>
  205.    <dict>
  206.       <key>name</key>
  207.       <string>keyword.control.import.c</string>
  208.    </dict>
  209. </dict>
  210. <key>end</key>
  211. <string>(?=(?://|/\*))|$</string>
  212. <key>name</key>
  213. <string>meta.preprocessor.c</string>
  214. <key>patterns</key>
  215. <array>
  216. <dict>
  217. <key>match</key>
  218. <string>(?&gt;\\\s*\n)</string>
  219. <key>name</key>
  220. <string>punctuation.separator.continuation.c</string>
  221. </dict>
  222. </array>
  223. </dict>
  224. <dict>
  225. <key>match</key>
  226.  <string>\b(nop|hlt|ei|di|sphl|xchg|xthl|daa|cma|stc|cmc|rlc|rrc|ral|rar|pchl|ret|rnz|rz|rnc|rc|rpo|rpe|rp|rm|lda|sta|lhld|shld|jmp|jnz|jz|jnc|jc|jpo|jpe|jp|jm|call|cnz|cz|cnc|cc|cpo|cpe|cp|cm|lxi|adi|aci|sui|sbi|ani|xri|ori|cpi|in"|out|mvi|mov|add|adc|sub|sbb|ana|xra|ora|cmp|inr|dcr|ldax|stax|dad|inx|dcx|push|pop|dw|db|equ)\b</string>
  227. <key>name</key>
  228. <string>keyword.mnemonic</string>
  229. </dict>
  230. <dict>
  231.    <key>match</key>
  232.    <string>\b(a|b|c|d|e|h|l|m|psw|bc|de|hl|sp)\b</string>
  233.    <key>name</key>
  234.    <string>storage.register</string>
  235. </dict>
  236. <dict>
  237.    <key>match</key>
  238.    <string>^\S+:</string>
  239.    <key>name</key>
  240.    <string>entity.name.label</string>
  241. </dict>
  242. <dict>
  243.    <key>match</key>
  244.    <string>\$[0-9a-f]+\b</string>
  245.    <key>name</key>
  246.    <string>constant.numeric.literal</string>
  247. </dict>
  248. <dict>
  249.    <key>match</key>
  250.    <string>\b[0-9]+\b</string>
  251.    <key>name</key>
  252.    <string>constant.numeric.dec</string>
  253. </dict>
  254. <dict>
  255.    <key>match</key>
  256.    <string>\b[0-9a-f]+h?\b</string>
  257.    <key>name</key>
  258.    <string>constant.numeric.hex</string>
  259. </dict>
  260. <dict>
  261.    <key>match</key>
  262.    <string>^\.(equ|org|include)\b</string>
  263.    <key>name</key>
  264.    <string>entity.directive</string>
  265. </dict>
  266. </array>
  267. <key>scopeName</key>
  268. <string>source.asm.8080</string>
  269. <key>uuid</key>
  270. <string>1a1a7d90-e32e-11e1-9b23-0800200c9a66</string>
  271. </dict>
  272. </plist>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement