Permalink
Browse files

First commit

  • Loading branch information...
0 parents commit daa2e7f0e4273ce9a97067a96e364aef37f82600 @abhishektiwari committed Sep 29, 2011
Showing with 7,278 additions and 0 deletions.
  1. +34 −0 Python/Miscellaneous.tmPreferences
  2. BIN Python/Miscellaneous.tmPreferences.cache
  3. +9 −0 Python/New-Class.sublime-snippet
  4. +15 −0 Python/New-Property.sublime-snippet
  5. +5 −0 Python/Python.sublime-build
  6. +3 −0 Python/Python.sublime-settings
  7. +3,025 −0 Python/Python.tmLanguage
  8. BIN Python/Python.tmLanguage.cache
  9. +299 −0 Python/Regular Expressions (Python).tmLanguage
  10. BIN Python/Regular Expressions (Python).tmLanguage.cache
  11. +17 −0 Python/Symbol List Hide Decorator.tmPreferences
  12. BIN Python/Symbol List Hide Decorator.tmPreferences.cache
  13. +22 −0 Python/Symbol List.tmPreferences
  14. BIN Python/Symbol List.tmPreferences.cache
  15. +13 −0 Python/Try-Except-Else-Finally.sublime-snippet
  16. +11 −0 Python/Try-Except-Else.sublime-snippet
  17. +11 −0 Python/Try-Except-Finally.sublime-snippet
  18. +9 −0 Python/Try-Except.sublime-snippet
  19. +6 −0 Python/__magic__.sublime-snippet
  20. +16 −0 Python/decorator-fun-class.sublime-snippet
  21. +17 −0 Python/decorator-fun-fun.sublime-snippet
  22. +10 −0 Python/dic-clear.sublime-snippet
  23. +10 −0 Python/dic-comprehension-x.sublime-snippet
  24. +10 −0 Python/dic-comprehension.sublime-snippet
  25. +10 −0 Python/dic-copy.sublime-snippet
  26. +10 −0 Python/dic-del.sublime-snippet
  27. +11 −0 Python/dic-from-keys.sublime-snippet
  28. +10 −0 Python/dic-function-zip.sublime-snippet
  29. +10 −0 Python/dic-function.sublime-snippet
  30. +10 −0 Python/dic-get.sublime-snippet
  31. +10 −0 Python/dic-has_key-Py2.sublime-snippet
  32. +10 −0 Python/dic-item.sublime-snippet
  33. +10 −0 Python/dic-iter-items-Py2.sublime-snippet
  34. +10 −0 Python/dic-iter-keys-Py2.sublime-snippet
  35. +10 −0 Python/dic-iter-values-Py2.sublime-snippet
  36. +10 −0 Python/dic-keys.sublime-snippet
  37. +10 −0 Python/dic-len.sublime-snippet
  38. +10 −0 Python/dic-loop.sublime-snippet
  39. +10 −0 Python/dic-pop-item-random.sublime-snippet
  40. +10 −0 Python/dic-pop.sublime-snippet
  41. +10 −0 Python/dic-set-default.sublime-snippet
  42. +11 −0 Python/dic-update.sublime-snippet
  43. +10 −0 Python/dic-values.sublime-snippet
  44. +10 −0 Python/dic.sublime-snippet
  45. +10 −0 Python/empty-dic.sublime-snippet
  46. +10 −0 Python/empty-list.sublime-snippet
  47. +10 −0 Python/empty-set.sublime-snippet
  48. +10 −0 Python/empty-tuple.sublime-snippet
  49. +11 −0 Python/enumerate.sublime-snippet
  50. +10 −0 Python/eval-compiled.sublime-snippet
  51. +10 −0 Python/eval.sublime-snippet
  52. +10 −0 Python/exec-compiled.sublime-snippet
  53. +10 −0 Python/exec.sublime-snippet
  54. +10 −0 Python/file-close.sublime-snippet
  55. +11 −0 Python/file-loop.sublime-snippet
  56. +11 −0 Python/file-open-with.sublime-snippet
  57. +12 −0 Python/file-open.sublime-snippet
  58. +10 −0 Python/file-read-N-lines.sublime-snippet
  59. +10 −0 Python/file-read-lines.sublime-snippet
  60. +10 −0 Python/file-read-next-line.sublime-snippet
  61. +10 −0 Python/file-read.sublime-snippet
  62. +10 −0 Python/file-write-lines.sublime-snippet
  63. +10 −0 Python/file-write.sublime-snippet
  64. +10 −0 Python/filter.sublime-snippet
  65. +11 −0 Python/for.sublime-snippet
  66. +11 −0 Python/function-args-kwargs.sublime-snippet
  67. +11 −0 Python/function.sublime-snippet
  68. +12 −0 Python/hdr.sublime-snippet
  69. +10 −0 Python/if.sublime-snippet
  70. +15 −0 Python/ifelifelse.sublime-snippet
  71. +13 −0 Python/ifelse.sublime-snippet
  72. +10 −0 Python/in-dic-Py3.sublime-snippet
  73. +10 −0 Python/in-seq.sublime-snippet
  74. +10 −0 Python/in-set.sublime-snippet
  75. +10 −0 Python/input.sublime-snippet
  76. +22 −0 Python/iterable.sublime-snippet
  77. +11 −0 Python/iterator.sublime-snippet
  78. +10 −0 Python/lambda.sublime-snippet
  79. +11 −0 Python/list-append.sublime-snippet
  80. +10 −0 Python/list-count-x.sublime-snippet
  81. +10 −0 Python/list-del-i-j-k-stride.sublime-snippet
  82. +10 −0 Python/list-del-i-j.sublime-snippet
  83. +10 −0 Python/list-del-i.sublime-snippet
  84. +11 −0 Python/list-extend.sublime-snippet
  85. +10 −0 Python/list-function.sublime-snippet
  86. +11 −0 Python/list-generator.sublime-snippet
  87. +10 −0 Python/list-index-assignment.sublime-snippet
  88. +10 −0 Python/list-index.sublime-snippet
  89. +10 −0 Python/list-insert-i-x.sublime-snippet
  90. +10 −0 Python/list-pop.sublime-snippet
  91. +10 −0 Python/list-remove.sublime-snippet
  92. +11 −0 Python/list-reverse.sublime-snippet
  93. +10 −0 Python/list-slice-assignment-i-j-k-stride.sublime-snippet
  94. +10 −0 Python/list-slice-assignment-i-j.sublime-snippet
  95. +11 −0 Python/list-sort.sublime-snippet
  96. +10 −0 Python/list.sublime-snippet
  97. +55 −0 Python/main-full.sublime-snippet
  98. +6 −0 Python/main-if.sublime-snippet
  99. +10 −0 Python/map.sublime-snippet
  100. +8 −0 Python/method.sublime-snippet
  101. +10 −0 Python/not-in-seq.sublime-snippet
  102. +10 −0 Python/not-in-set.sublime-snippet
  103. +10 −0 Python/range.sublime-snippet
  104. +10 −0 Python/reduce.sublime-snippet
  105. +6 −0 Python/self.sublime-snippet
  106. +11 −0 Python/seq-comprehension.sublime-snippet
  107. +10 −0 Python/seq-concatenation.sublime-snippet
  108. +10 −0 Python/seq-index.sublime-snippet
  109. +10 −0 Python/seq-len.sublime-snippet
  110. +11 −0 Python/seq-loop-2.sublime-snippet
  111. +11 −0 Python/seq-loop-set.sublime-snippet
  112. +11 −0 Python/seq-loop-zip.sublime-snippet
  113. +11 −0 Python/seq-loop.sublime-snippet
  114. +10 −0 Python/seq-map.sublime-snippet
  115. +10 −0 Python/seq-repetition.sublime-snippet
  116. +10 −0 Python/seq-slice-i-j-k-stride.sublime-snippet
  117. +10 −0 Python/seq-slice-i-j.sublime-snippet
  118. +10 −0 Python/set-add-x.sublime-snippet
  119. +10 −0 Python/set-clear.sublime-snippet
  120. +11 −0 Python/set-comprehension.sublime-snippet
  121. +10 −0 Python/set-copy.sublime-snippet
  122. +10 −0 Python/set-difference.sublime-snippet
  123. +10 −0 Python/set-discard-x.sublime-snippet
  124. +10 −0 Python/set-frozen.sublime-snippet
  125. +10 −0 Python/set-function.sublime-snippet
  126. +10 −0 Python/set-intersection.sublime-snippet
  127. +10 −0 Python/set-issubset.sublime-snippet
  128. +10 −0 Python/set-issuperset.sublime-snippet
  129. +10 −0 Python/set-len.sublime-snippet
  130. +11 −0 Python/set-loop.sublime-snippet
  131. +10 −0 Python/set-pop.sublime-snippet
  132. +10 −0 Python/set-remove-x.sublime-snippet
  133. +10 −0 Python/set-symmetric_difference.sublime-snippet
  134. +10 −0 Python/set-union.sublime-snippet
  135. +12 −0 Python/set-update-difference.sublime-snippet
  136. +12 −0 Python/set-update-intersection.sublime-snippet
  137. +12 −0 Python/set-update.sublime-snippet
  138. +10 −0 Python/set.sublime-snippet
  139. +10 −0 Python/ternary.sublime-snippet
  140. +10 −0 Python/tuple-function.sublime-snippet
  141. +11 −0 Python/tuple-index.sublime-snippet
  142. +11 −0 Python/tuple-x-count.sublime-snippet
  143. +10 −0 Python/tuple.sublime-snippet
  144. +11 −0 Python/unzip.sublime-snippet
  145. +10 −0 Python/while.sublime-snippet
  146. +15 −0 Python/yeild-generator.sublime-snippet
  147. +11 −0 Python/zip.sublime-snippet
  148. +36 −0 Scala/Comments.tmPreferences
  149. BIN Scala/Comments.tmPreferences.cache
  150. +652 −0 Scala/Scala.tmLanguage
  151. BIN Scala/Scala.tmLanguage.cache
  152. +18 −0 Scala/Special-Return Inside parentheses.tmSnippet
  153. +17 −0 Scala/Symbols.tmPreferences
  154. BIN Scala/Symbols.tmPreferences.cache
  155. +10 −0 Scala/array-element.sublime-snippet
  156. +12 −0 Scala/by-name-parameters.sublime-snippet
  157. +29 −0 Scala/case class scaffolding.tmSnippet
  158. +18 −0 Scala/case class.tmSnippet
  159. +16 −0 Scala/case.tmSnippet
  160. +13 −0 Scala/class-abstract.sublime-snippet
  161. +10 −0 Scala/class-constructor-auxiliary.sublime-snippet
  162. +12 −0 Scala/class-constructor-extends.sublime-snippet
  163. +12 −0 Scala/class-constructor.sublime-snippet
  164. +12 −0 Scala/class-def-private.sublime-snippet
  165. +13 −0 Scala/class-def.sublime-snippet
  166. +10 −0 Scala/class-field.sublime-snippet
  167. +10 −0 Scala/class-instantiate.sublime-snippet
  168. +10 −0 Scala/class-override-def.sublime-snippet
  169. +10 −0 Scala/class-precondition.sublime-snippet
  170. +10 −0 Scala/class-private-var.sublime-snippet
  171. +18 −0 Scala/class.tmSnippet
  172. +12 −0 Scala/comment-multi.sublime-snippet
  173. +10 −0 Scala/comment.sublime-snippet
  174. +12 −0 Scala/def-by-name-parameter.sublime-snippet
  175. +12 −0 Scala/def-curried.sublime-snippet
  176. +12 −0 Scala/def-default-args.sublime-snippet
  177. +10 −0 Scala/def-named-arg-call.sublime-snippet
  178. +12 −0 Scala/def-variable-args.sublime-snippet
  179. +12 −0 Scala/def-without-return-type.sublime-snippet
  180. +12 −0 Scala/def.sublime-snippet
  181. +13 −0 Scala/do-while.sublime-snippet
  182. +11 −0 Scala/either-type.sublime-snippet
  183. +22 −0 Scala/enumeration.tmSnippet
  184. +12 −0 Scala/file.sublime-snippet
  185. +15 −0 Scala/for-filter.sublime-snippet
  186. +10 −0 Scala/for-generator.sublime-snippet
  187. +15 −0 Scala/for-nested-curly.sublime-snippet
  188. +17 −0 Scala/for-nested-filter-curly.sublime-snippet
  189. +17 −0 Scala/for-nested-filter.sublime-snippet
  190. +15 −0 Scala/for-nested.sublime-snippet
  191. +10 −0 Scala/for-range-to.sublime-snippet
  192. +10 −0 Scala/for-range-until.sublime-snippet
  193. +13 −0 Scala/for-yield-filter-curly.sublime-snippet
  194. +10 −0 Scala/for-yield.sublime-snippet
  195. +10 −0 Scala/function-literal.sublime-snippet
  196. +10 −0 Scala/function-value.sublime-snippet
  197. +15 −0 Scala/hdr-win.sublime-snippet
  198. +13 −0 Scala/hdr.sublime-snippet
  199. +18 −0 Scala/if-else-if.sublime-snippet
  200. +10 −0 Scala/if-else-ternary.sublime-snippet
  201. +15 −0 Scala/if-else.sublime-snippet
  202. +12 −0 Scala/if.sublime-snippet
  203. +19 −0 Scala/if.tmSnippet
  204. +13 −0 Scala/immutable-hashset-new.sublime-snippet
  205. +11 −0 Scala/immutable-hashset.sublime-snippet
  206. +10 −0 Scala/immutable-list-create-initialize.sublime-snippet
  207. +14 −0 Scala/immutable-map-create-initialize.sublime-snippet
  208. +11 −0 Scala/immutable-map-create.sublime-snippet
  209. +10 −0 Scala/immutable-set-create-initialize.sublime-snippet
  210. +10 −0 Scala/immutable-tuple.sublime-snippet
  211. +16 −0 Scala/import mutable immutable.tmSnippet
  212. +10 −0 Scala/import-all.sublime-snippet
  213. +10 −0 Scala/import-multiple.sublime-snippet
  214. +10 −0 Scala/import-rename.sublime-snippet
  215. +10 −0 Scala/info.plist
  216. +18 −0 Scala/lambda.tmSnippet
  217. +16 −0 Scala/left arrow.tmSnippet
  218. +10 −0 Scala/left-arrow.sublime-snippet
  219. +10 −0 Scala/list-chaining.sublime-snippet
  220. +10 −0 Scala/list-concatenation.sublime-snippet
  221. +10 −0 Scala/list-element.sublime-snippet
  222. +10 −0 Scala/list-empty-nil.sublime-snippet
  223. +10 −0 Scala/list-empty-prepend.sublime-snippet
  224. +10 −0 Scala/list-empty.sublime-snippet
  225. +10 −0 Scala/list-length.sublime-snippet
  226. +10 −0 Scala/list-new-nill.sublime-snippet
  227. +10 −0 Scala/list-prepend.sublime-snippet
  228. +10 −0 Scala/list-remove-duplicates.sublime-snippet
  229. +10 −0 Scala/list-remove.sublime-snippet
  230. +10 −0 Scala/loop-foreach.sublime-snippet
  231. +14 −0 Scala/main-no-unit-object.sublime-snippet
  232. +12 −0 Scala/main-no-unit.sublime-snippet
  233. +12 −0 Scala/main-object-application.sublime-snippet
  234. +14 −0 Scala/main-object.sublime-snippet
  235. +12 −0 Scala/main.sublime-snippet
  236. +19 −0 Scala/match.tmSnippet
  237. +10 −0 Scala/multiple-assignment.sublime-snippet
  238. +10 −0 Scala/mutable-array-create-initialize.sublime-snippet
  239. +10 −0 Scala/mutable-array-create.sublime-snippet
  240. +11 −0 Scala/mutable-hashset.sublime-snippet
  241. +12 −0 Scala/mutable-map-create.sublime-snippet
  242. +11 −0 Scala/mutable-set-create-initialize.sublime-snippet
  243. +13 −0 Scala/notes-cmd.sublime-snippet
  244. +18 −0 Scala/object.tmSnippet
  245. +10 −0 Scala/pair-assignment.sublime-snippet
  246. +10 −0 Scala/print.sublime-snippet
  247. +10 −0 Scala/println.sublime-snippet
  248. +10 −0 Scala/range-to-by.sublime-snippet
  249. +10 −0 Scala/range-to-force.sublime-snippet
  250. +10 −0 Scala/range-to.sublime-snippet
  251. +10 −0 Scala/range-until-by.sublime-snippet
  252. +10 −0 Scala/range-until-force.sublime-snippet
  253. +10 −0 Scala/range-until.sublime-snippet
  254. +16 −0 Scala/right arrow.tmSnippet
  255. +10 −0 Scala/seq-chaining.sublime-snippet
  256. +10 −0 Scala/seq-count.sublime-snippet
  257. +10 −0 Scala/seq-drop-right.sublime-snippet
  258. +10 −0 Scala/seq-drop.sublime-snippet
  259. +10 −0 Scala/seq-exists.sublime-snippet
  260. +10 −0 Scala/seq-filter.sublime-snippet
  261. +10 −0 Scala/seq-forall.sublime-snippet
  262. +10 −0 Scala/seq-foreach.sublime-snippet
  263. +10 −0 Scala/seq-head-element.sublime-snippet
  264. +10 −0 Scala/seq-init-elements.sublime-snippet
  265. +10 −0 Scala/seq-intersect.sublime-snippet
  266. +10 −0 Scala/seq-is-empty.sublime-snippet
  267. +10 −0 Scala/seq-last-element.sublime-snippet
  268. +10 −0 Scala/seq-length.sublime-snippet
  269. +10 −0 Scala/seq-make-string.sublime-snippet
  270. +10 −0 Scala/seq-map.sublime-snippet
  271. +10 −0 Scala/seq-reverse.sublime-snippet
  272. +10 −0 Scala/seq-sort.sublime-snippet
  273. +10 −0 Scala/seq-tail.sublime-snippet
  274. +10 −0 Scala/seq-union.sublime-snippet
  275. +16 −0 Scala/shortcut - case class.tmSnippet
  276. +16 −0 Scala/shortcut - class.tmSnippet
  277. +16 −0 Scala/shortcut - enumeration.tmSnippet
  278. +16 −0 Scala/shortcut - match.tmSnippet
  279. +16 −0 Scala/shortcut - object.tmSnippet
  280. +16 −0 Scala/shortcut - trait.tmSnippet
  281. +17 −0 Scala/toString.tmSnippet
  282. +18 −0 Scala/trait.tmSnippet
  283. +20 −0 Scala/try catch.tmSnippet
  284. +10 −0 Scala/tuple-element.sublime-snippet
  285. +10 −0 Scala/tuple-length.sublime-snippet
  286. +11 −0 Scala/type.sublime-snippet
  287. +10 −0 Scala/unit-value.sublime-snippet
  288. +11 −0 Scala/variable-val-typed.sublime-snippet
  289. +11 −0 Scala/variable-val.sublime-snippet
  290. +11 −0 Scala/variable-var-typed.sublime-snippet
  291. +11 −0 Scala/variable-var.sublime-snippet
  292. +12 −0 Scala/while.sublime-snippet
  293. +16 −0 Scala/with.tmSnippet
34 Python/Miscellaneous.tmPreferences
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Miscellaneous</string>
+ <key>scope</key>
+ <string>source.python</string>
+ <key>settings</key>
+ <dict>
+ <key>decreaseIndentPattern</key>
+ <string>^\s*(elif|else|except|finally)\b.*:</string>
+ <key>increaseIndentPattern</key>
+ <string>^\s*(class|def|elif|else|except|finally|for|if|try|with|while)\b.*:\s*$</string>
+ <key>shellVariables</key>
+ <array>
+ <dict>
+ <key>name</key>
+ <string>TM_COMMENT_START</string>
+ <key>value</key>
+ <string># </string>
+ </dict>
+ <dict>
+ <key>name</key>
+ <string>TM_LINE_TERMINATOR</string>
+ <key>value</key>
+ <string>:</string>
+ </dict>
+ </array>
+ </dict>
+ <key>uuid</key>
+ <string>33877934-69D3-4773-8786-9B5211012A9A</string>
+</dict>
+</plist>
BIN Python/Miscellaneous.tmPreferences.cache
Binary file not shown.
9 Python/New-Class.sublime-snippet
@@ -0,0 +1,9 @@
+<snippet>
+ <content><![CDATA[class ${1:ClassName}(${2:object}):
+ ${3/.+/"""/}${3:docstring for $1}${3/.+/"""\n/}${3/.+/\t/}def __init__(self${4/([^,])?(.*)/(?1:, )/}${4:arg}):
+ ${5:super($1, self).__init__()}
+${4/(\A\s*,\s*\Z)|,?\s*([A-Za-z_][a-zA-Z0-9_]*)\s*(=[^,]*)?(,\s*|$)/(?2:\t\tself.$2 = $2\n)/g} $0]]></content>
+ <tabTrigger>class</tabTrigger>
+ <scope>source.python</scope>
+ <description>New Class</description>
+</snippet>
15 Python/New-Property.sublime-snippet
@@ -0,0 +1,15 @@
+<snippet>
+ <content><![CDATA[def ${1:foo}():
+ doc = "${2:The $1 property.}"
+ def fget(self):
+ ${3:return self._$1}
+ def fset(self, value):
+ ${4:self._$1 = value}
+ def fdel(self):
+ ${5:del self._$1}
+ return locals()
+$1 = property(**$1())$0]]></content>
+ <tabTrigger>property</tabTrigger>
+ <scope>source.python</scope>
+ <description>New Property</description>
+</snippet>
5 Python/Python.sublime-build
@@ -0,0 +1,5 @@
+{
+ "cmd": ["python", "-u", "$file"],
+ "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
+ "selector": "source.python"
+}
3 Python/Python.sublime-settings
@@ -0,0 +1,3 @@
+{
+ "word_wrap": false
+}
3,025 Python/Python.tmLanguage
3,025 additions, 0 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
BIN Python/Python.tmLanguage.cache
Binary file not shown.
299 Python/Regular Expressions (Python).tmLanguage
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>comment</key>
+ <string>Matches Python's regular expression syntax.</string>
+ <key>fileTypes</key>
+ <array>
+ <string>re</string>
+ </array>
+ <key>foldingStartMarker</key>
+ <string>(/\*|\{|\()</string>
+ <key>foldingStopMarker</key>
+ <string>(\*/|\}|\))</string>
+ <key>name</key>
+ <string>Regular Expressions (Python)</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[bBAZzG]|\^|\$</string>
+ <key>name</key>
+ <string>keyword.control.anchor.regexp</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\\[1-9][0-9]?</string>
+ <key>name</key>
+ <string>keyword.other.back-reference.regexp</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>[?+*][?+]?|\{(\d+,\d+|\d+,|,\d+|\d+)\}\??</string>
+ <key>name</key>
+ <string>keyword.operator.quantifier.regexp</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\|</string>
+ <key>name</key>
+ <string>keyword.operator.or.regexp</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\(\?\#</string>
+ <key>end</key>
+ <string>\)</string>
+ <key>name</key>
+ <string>comment.block.regexp</string>
+ </dict>
+ <dict>
+ <key>comment</key>
+ <string>We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.</string>
+ <key>match</key>
+ <string>(?&lt;=^|\s)#\s[[a-zA-Z0-9,. \t?!-:][^\x{00}-\x{7F}]]*$</string>
+ <key>name</key>
+ <string>comment.line.number-sign.regexp</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\(\?[iLmsux]+\)</string>
+ <key>name</key>
+ <string>keyword.other.option-toggle.regexp</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>(\()(\?P=([a-zA-Z_][a-zA-Z_0-9]*\w*))(\))</string>
+ <key>name</key>
+ <string>keyword.other.back-reference.named.regexp</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(\()((\?=)|(\?!)|(\?&lt;=)|(\?&lt;!))</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.regexp</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.assertion.regexp</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>meta.assertion.look-ahead.regexp</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>meta.assertion.negative-look-ahead.regexp</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>meta.assertion.look-behind.regexp</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>meta.assertion.negative-look-behind.regexp</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.regexp</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.group.assertion.regexp</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>$self</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(\()(\?\(([1-9][0-9]?|[a-zA-Z_][a-zA-Z_0-9]*)\))</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.regexp</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.assertion.conditional.regexp</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.section.back-reference.regexp</string>
+ </dict>
+ </dict>
+ <key>comment</key>
+ <string>we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.</string>
+ <key>end</key>
+ <string>(\))</string>
+ <key>name</key>
+ <string>meta.group.assertion.conditional.regexp</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>$self</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(\()((\?P&lt;)([a-z]\w*)(&gt;)|(\?:))?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.regexp</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.capture.regexp</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.section.group.regexp</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.capture.regexp</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.no-capture.regexp</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.group.regexp</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.group.regexp</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>$self</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#character-class</string>
+ </dict>
+ </array>
+ <key>repository</key>
+ <dict>
+ <key>character-class</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\[wWsSdDhH]|\.</string>
+ <key>name</key>
+ <string>constant.character.character-class.regexp</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\\.</string>
+ <key>name</key>
+ <string>constant.character.escape.backslash.regexp</string>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(\[)(\^)?</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.character-class.regexp</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.negation.regexp</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\])</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>punctuation.definition.character-class.regexp</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>constant.other.character-class.set.regexp</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#character-class</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>constant.character.escape.backslash.regexp</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>constant.character.escape.backslash.regexp</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>((\\.)|.)\-((\\.)|[^\]])</string>
+ <key>name</key>
+ <string>constant.other.character-class.range.regexp</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ </dict>
+ <key>scopeName</key>
+ <string>source.regexp.python</string>
+ <key>uuid</key>
+ <string>DD867ABF-1EC6-415D-B047-687F550A1D51</string>
+</dict>
+</plist>
BIN Python/Regular Expressions (Python).tmLanguage.cache
Binary file not shown.
17 Python/Symbol List Hide Decorator.tmPreferences
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Symbol List: Hide Decorator</string>
+ <key>scope</key>
+ <string>source.python meta.function.decorator.python entity.name.function.decorator.python</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>0</integer>
+ </dict>
+ <key>uuid</key>
+ <string>F5CE4B1B-6167-4693-A49B-021D97C18F5A</string>
+</dict>
+</plist>
BIN Python/Symbol List Hide Decorator.tmPreferences.cache
Binary file not shown.
22 Python/Symbol List.tmPreferences
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Symbol List</string>
+ <key>scope</key>
+ <string>source.python meta.function.python, source.python meta.class.python</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>
+ s/class\s+([A-Za-z_][A-Za-z0-9_]*.+?\)?)(\:|$)/$1/g;
+ s/def\s+([A-Za-z_][A-Za-z0-9_]*\()(?:(.{0,40}?\))|((.{40}).+?\)))(\:)/$1(?2:$2)(?3:$4…\))/g;
+ </string>
+ </dict>
+ <key>uuid</key>
+ <string>005BE156-8D74-4036-AF38-283708645115</string>
+</dict>
+</plist>
BIN Python/Symbol List.tmPreferences.cache
Binary file not shown.
13 Python/Try-Except-Else-Finally.sublime-snippet
@@ -0,0 +1,13 @@
+<snippet>
+ <content><![CDATA[try:
+ ${1:pass}
+except${2: ${3:Exception}, ${4:e}}:
+ ${5:raise}
+else:
+ ${6:pass}
+finally:
+ ${7:pass}]]></content>
+ <tabTrigger>try</tabTrigger>
+ <scope>source.python</scope>
+ <description>Try/Except/Else/Finally</description>
+</snippet>
11 Python/Try-Except-Else.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+ <content><![CDATA[try:
+ ${1:pass}
+except ${2:Exception}, ${3:e}:
+ ${4:raise $3}
+else:
+ ${5:pass}]]></content>
+ <tabTrigger>try</tabTrigger>
+ <scope>source.python</scope>
+ <description>Try/Except/Else</description>
+</snippet>
11 Python/Try-Except-Finally.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+ <content><![CDATA[try:
+ ${1:pass}
+except ${2:Exception}, ${3:e}:
+ ${4:raise $3}
+finally:
+ ${5:pass}]]></content>
+ <tabTrigger>try</tabTrigger>
+ <scope>source.python</scope>
+ <description>Try/Except/Finally</description>
+</snippet>
9 Python/Try-Except.sublime-snippet
@@ -0,0 +1,9 @@
+<snippet>
+ <content><![CDATA[try:
+ ${1:pass}
+except ${2:Exception}, ${3:e}:
+ ${4:raise $3}]]></content>
+ <tabTrigger>try</tabTrigger>
+ <scope>source.python</scope>
+ <description>Try/Except</description>
+</snippet>
6 Python/__magic__.sublime-snippet
@@ -0,0 +1,6 @@
+<snippet>
+ <content><![CDATA[__${1:init}__]]></content>
+ <tabTrigger>__</tabTrigger>
+ <scope>source.python</scope>
+ <description>__magic__</description>
+</snippet>
16 Python/decorator-fun-class.sublime-snippet
@@ -0,0 +1,16 @@
+<snippet>
+<content>
+<![CDATA[
+def decorator(${1:cls}):
+ class Wrapper:
+ def __init__(self, *args, **kwargs):
+ self.wrapped = ${1:cls}(*args, **kwargs)
+ ${2: Use function to manipulate self.wrapped and return something}
+ return Wrapper
+]]>
+</content>
+ <tabTrigger>decorator</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>Function as Class Decorator</description>
+</snippet>
17 Python/decorator-fun-fun.sublime-snippet
@@ -0,0 +1,17 @@
+<snippet>
+<content>
+<![CDATA[
+def ${1:decorator}(${2:myfun}):
+ def wrapper(*args, **kwargs):
+ # Use ${2:myfun}, args, kwargs
+ # ${2:myfun}(*args, **kwargs) calls original function
+ $3
+ return $4
+ return wrapper
+]]>
+</content>
+ <tabTrigger>decorator</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>Function as Function Decorator</description>
+</snippet>
10 Python/dic-clear.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.clear()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-comprehension-x.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+dict((${1:x-expr1}, ${2:x-expr2}) for ${3:x} in ${5:iterable})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-comprehension.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+dict((${1:key-expr}, ${2:val-expr}) for (${3:key}, ${4:val}) in ${5:2-item-iterable})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-copy.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.copy()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-del.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+del ${1:adict}['${2:key}']
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/dic-from-keys.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.fromkeys(${2:seq}${3:, ${4:value}})
+
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-function-zip.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adic} = dict(zip(${2:iterable with keys}, ${3:iterable with values}))
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-function.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adic} = dict(${2:key1}=${3:value1},${4:key2}=${5:value2}${6:,})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-get.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.get(${2:key}${3:, ${4:default}})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-has_key-Py2.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.has_key(${2:key})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-item.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.items()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-iter-items-Py2.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.iteritems()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-iter-keys-Py2.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.iterkeys()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-iter-values-Py2.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.itervalues()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-keys.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.keys()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-len.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+len(${1:adic})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-loop.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+del ${1:adict}['${2:key}']
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-pop-item-random.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.pop()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-pop.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.pop(${2:key}${3:, ${4:default}})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic-set-default.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.setdefault(${2:key}${3:, ${4:default}})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/dic-update.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:dict1}.update(${2:dict2})
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>Merge two dic</description>
+</snippet>
10 Python/dic-values.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adict}.values()
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/dic.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adic} = {'${2:key1}':${3:value1}, '${4:key2}':${5:value2}${6:}}
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/empty-dic.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:adic} = {}
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/empty-list.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist} = []
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/empty-set.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:aset} = set()
+]]>
+</content>
+ <tabTrigger>set</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/empty-tuple.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:atuple} = ()
+]]>
+</content>
+ <tabTrigger>tuple</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/enumerate.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+enumerate(${1:iterable or iterator}${2:, start=${3:0}})
+# Use for loop or next or list to see index and value
+]]>
+</content>
+ <tabTrigger>enum</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/eval-compiled.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+eval(${1:compiled code object from compile function})
+]]>
+</content>
+ <tabTrigger>eval</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/eval.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+eval('${1:expression to evaluate}'')
+]]>
+</content>
+ <tabTrigger>eval</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/exec-compiled.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+exec(${1:compiled code object from compile function})
+]]>
+</content>
+ <tabTrigger>exec</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/exec.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+exec('${1:statements to evaluate}'')
+]]>
+</content>
+ <tabTrigger>exec</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-close.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.close()
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/file-loop.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+for ${1:line} in ${2:file_object}:
+ $3
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/file-open-with.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+with open('${1:/path/file_name}', '${2:r|w|a|rb|wb}') as ${3:file_object}:
+ $4
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
12 Python/file-open.sublime-snippet
@@ -0,0 +1,12 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object} = open('${2:/path/file_name}', '${3:r|w|a|rb|wb}')
+$4
+${1:file_object}.close()
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-read-N-lines.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.read(N)
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-read-lines.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.readlines()
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-read-next-line.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.readline()
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-read.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.read()
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-write-lines.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.writelines(${2:list})
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/file-write.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:file_object}.write(${2:string})
+]]>
+</content>
+ <tabTrigger>file</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/filter.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+filter(${1:lambda/function returning True/False}, ${2:iterable1})
+]]>
+</content>
+ <tabTrigger>filter</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/for.sublime-snippet
@@ -0,0 +1,11 @@
+<!-- See http://www.sublimetext.com/docs/snippets for more information -->
+<snippet>
+ <tabTrigger>for</tabTrigger>
+ <scope>source.python</scope>
+ <description>For Loop</description>
+
+ <content><![CDATA[
+for ${1:x} in ${2:xrange(1,10)}:
+ ${0:pass}
+]]></content>
+</snippet>
11 Python/function-args-kwargs.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+def ${1:function}($2${3:, ${4:arg}=${5:value}}${6:, *args}${7:, **kwargs}):
+ ${0:pass}
+]]>
+</content>
+ <tabTrigger>def</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/function.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+def ${1:function}($2):
+ ${0:pass}
+]]>
+</content>
+ <tabTrigger>def</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
12 Python/hdr.sublime-snippet
@@ -0,0 +1,12 @@
+<snippet>
+<content>
+<![CDATA[
+#! /usr/bin/env python
+# -*- coding: utf8 -*-
+$0
+]]>
+</content>
+ <tabTrigger>hdr</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/if.sublime-snippet
@@ -0,0 +1,10 @@
+<!-- See http://www.sublimetext.com/docs/snippets for more information -->
+<snippet>
+ <tabTrigger>if</tabTrigger>
+ <scope>source.python</scope>
+ <description>If Condition</description>
+ <content><![CDATA[
+if ${1:$SELECTION}:
+ ${0:pass}
+]]></content>
+</snippet>
15 Python/ifelifelse.sublime-snippet
@@ -0,0 +1,15 @@
+<snippet>
+<content>
+<![CDATA[
+if $1:
+ $2
+elif $3:
+ $4
+else:
+ $5
+]]>
+</content>
+ <tabTrigger>ifelse</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
13 Python/ifelse.sublime-snippet
@@ -0,0 +1,13 @@
+<snippet>
+<content>
+<![CDATA[
+if $1:
+ $2
+else:
+ $3
+]]>
+</content>
+ <tabTrigger>ifelse</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/in-dic-Py3.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:key} in ${2:adict}
+]]>
+</content>
+ <tabTrigger>dic</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/in-seq.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:X} in ${2:Sequence}
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/in-set.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:X} in ${2:Set}
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/input.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+raw_input(${1:'Prompt message'})
+]]>
+</content>
+ <tabTrigger>input</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
22 Python/iterable.sublime-snippet
@@ -0,0 +1,22 @@
+<snippet>
+<content>
+<![CDATA[
+# An iterable object can be iterated over multiple times
+# -a sequence such as list, tuple, string etc
+# -a mapping such as Disctionary
+# -s set
+
+# An iterator object can only be iterated over once using next().
+# Get iterator for a Sequence using iter() function.
+
+# A generator is a function/expression that creates, or generates, an iterator.
+# Generator function: Uses yield in function call
+# Generator expression: list comprehension with ()
+# Every generator is an iterator, but not vice versa.
+# A Generator returns a generator object which follows iterator protocol.
+]]>
+</content>
+ <tabTrigger>notes</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/iterator.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:iterator} = iter(${2:Sequence})
+${1:iterator}.next()
+]]>
+</content>
+ <tabTrigger>iterator</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/lambda.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+lambda ${1:arg}, ${2:arg}${3:,${4:...}}: ${5:expression}
+]]>
+</content>
+ <tabTrigger>lambda</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/list-append.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.append(${2:x})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>append x at the end</description>
+</snippet>
10 Python/list-count-x.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.count(${2:X})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-del-i-j-k-stride.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+del ${1:MutableSequence}[${2:i}:${3:j}:${4:k}]
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-del-i-j.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+del ${1:MutableSequence}[${2:i}:${3:j}]
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-del-i.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+del ${1:MutableSequence}[${2:i}]
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/list-extend.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.extend(${2:iterable})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>append iterable at the end</description>
+</snippet>
10 Python/list-function.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist} = list(${2:iterable})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/list-generator.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:iterator} = (${2:expression} for ${3:expr} in ${4:iterable} ${5:if condi})
+${1:iterator}.next()
+]]>
+</content>
+ <tabTrigger>iterator</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-index-assignment.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:MutableSequence}[${2:i}] = ${3:X}
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-index.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.index(${2:X} ${3:, ${4:i} ${5:, ${6:j}}})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-insert-i-x.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.insert(${2:i},${3:X})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-pop.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.pop([${2:i}])
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-remove.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.remove(${2:X})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/list-reverse.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.reverse()
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>reverse the list</description>
+</snippet>
10 Python/list-slice-assignment-i-j-k-stride.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:MutableSequence}[${2:i}:${3:j}:${4:j}] = ${5:Sequence}
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/list-slice-assignment-i-j.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:MutableSequence}[${2:i}:${3:j}] = ${4:Sequence}
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/list-sort.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist}.sort(${2:Key=${3:None}}${4:, reverse=${5:False}})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+ <description>reverse the list</description>
+</snippet>
10 Python/list.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist} = [$2, $3, $4, $5]
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
55 Python/main-full.sublime-snippet
@@ -0,0 +1,55 @@
+<snippet>
+<content>
+<![CDATA[
+import sys
+import getopt
+
+class Usage(Exception):
+ """
+ Usage() exception class, which we catch in an except clause at the
+ end of main()
+ """
+ def __init__(self, msg):
+ self.msg = msg
+
+def main(argv = None):
+ """
+ Description of main() function, if required collect the command line
+ arguments, and activate further anlysis.
+ """
+ # An optional 'argv' argument, which allows us to call it from the
+ # interactive Python prompt
+ if argv is None:
+ argv = sys.argv
+ try:
+ try:
+ opts, args = getopt.getopt(argv[1:], "h", ["help"])
+ except getopt.error, msg:
+ raise Usage(msg)
+ # Option processing
+ for option, value in opts:
+ if option in ("-h","--help"):
+ raise Usage(__doc__)
+ sys.exit(0)
+ ${1:}
+ # Argument processing
+ for argument in args:
+ argument.strip()
+ ${2:}
+ except Usage, err:
+ print >>sys.stderr, err.msg
+ print >>sys.stderr, "for help use --help"
+ return 2
+
+
+if __name__ == "__main__":
+ """
+ The main program collected into function main()
+ """
+ sys.exit(main())
+]]>
+</content>
+ <tabTrigger>main</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
6 Python/main-if.sublime-snippet
@@ -0,0 +1,6 @@
+<snippet>
+ <content><![CDATA[if __name__ == '__main__':
+ ${1:main()}$0]]></content>
+ <tabTrigger>main</tabTrigger>
+ <scope>source.python</scope>
+</snippet>
10 Python/map.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+map(${1:lambda/function}, ${2:iterable1}${3:, ${4:iterable2}})
+]]>
+</content>
+ <tabTrigger>map</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
8 Python/method.sublime-snippet
@@ -0,0 +1,8 @@
+<snippet>
+ <tabTrigger>defs</tabTrigger>
+ <scope>source.python</scope>
+ <description>Method</description>
+
+ <content><![CDATA[def ${1:function}(self${2}):
+ ${0:pass}]]></content>
+</snippet>
10 Python/not-in-seq.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:X} not in ${2:Sequence}
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/not-in-set.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:X} not in ${2:Set}
+]]>
+</content>
+ <tabTrigger>set</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/range.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:alist} = range(${2:Integer})
+]]>
+</content>
+ <tabTrigger>list</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/reduce.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+reduce(${1:lambda/function with 2 args}, ${2:iterable}${3:, ${4:initializer}})
+]]>
+</content>
+ <tabTrigger>reduce</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
6 Python/self.sublime-snippet
@@ -0,0 +1,6 @@
+<snippet>
+ <content><![CDATA[self.]]></content>
+ <tabTrigger>.</tabTrigger>
+ <scope>source.python</scope>
+ <description>self</description>
+</snippet>
11 Python/seq-comprehension.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+[${1:expression} for ${2:expr1} in ${3:Sequence1} ${4:if ${5:condition1}}
+ ${6:for ${7:expr2} in ${8:Sequence2} ${10:if ${11:condition2}}}]
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/seq-concatenation.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:Sequence1} + ${2:Sequence2}
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/seq-index.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+${1:Sequence}[${2:i}]
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
10 Python/seq-len.sublime-snippet
@@ -0,0 +1,10 @@
+<snippet>
+<content>
+<![CDATA[
+len(${1:Sequence})
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/seq-loop-2.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+for ${1:index}, ${2:value} in enumerate(${3:Sequence}):
+ $4
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/seq-loop-set.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+for ${1:X} in sorted(set(${2:Sequence})):
+ $3
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/seq-loop-zip.sublime-snippet
@@ -0,0 +1,11 @@
+<snippet>
+<content>
+<![CDATA[
+for ${1:X}, ${2:Y} in zip(${3:Sequence1},${4:Sequence1}):
+ $5
+]]>
+</content>
+ <tabTrigger>seq</tabTrigger>
+ <!-- Optional: Set a scope to limit where the snippet will trigger -->
+ <scope>source.python</scope>
+</snippet>
11 Python/seq-loop.sublime-snippet
@@ -0,0 +1,11 @@