haml 3.2.0.alpha.10 → 3.2.0.alpha.13

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of haml might be problematic. Click here for more details.

Files changed (389) hide show
  1. data/.yardopts +19 -7
  2. data/CHANGELOG.md +1224 -0
  3. data/FAQ.md +157 -0
  4. data/README.md +99 -62
  5. data/REFERENCE.md +1404 -0
  6. data/Rakefile +52 -341
  7. data/init.rb +1 -18
  8. data/lib/haml.rb +6 -30
  9. data/lib/haml/buffer.rb +37 -16
  10. data/lib/haml/compiler.rb +52 -13
  11. data/lib/haml/engine.rb +61 -44
  12. data/lib/haml/exec.rb +21 -4
  13. data/lib/haml/filters.rb +136 -166
  14. data/lib/haml/helpers.rb +37 -10
  15. data/lib/haml/helpers/action_view_extensions.rb +2 -1
  16. data/lib/haml/helpers/action_view_mods.rb +67 -181
  17. data/lib/haml/helpers/rails_323_textarea_fix.rb +39 -0
  18. data/lib/haml/helpers/xss_mods.rb +9 -11
  19. data/lib/haml/html.rb +22 -9
  20. data/lib/haml/html/erb.rb +1 -1
  21. data/lib/haml/parser.rb +22 -15
  22. data/lib/haml/railtie.rb +2 -13
  23. data/lib/haml/template.rb +18 -85
  24. data/lib/haml/template/options.rb +1 -1
  25. data/lib/haml/template/plugin.rb +15 -101
  26. data/lib/haml/util.rb +120 -603
  27. data/lib/haml/version.rb +1 -107
  28. data/test/{haml/engine_test.rb → engine_test.rb} +137 -143
  29. data/test/{haml/erb → erb}/_av_partial_1.erb +1 -1
  30. data/test/{haml/erb → erb}/_av_partial_2.erb +1 -1
  31. data/test/{haml/erb → erb}/action_view.erb +1 -1
  32. data/test/{haml/erb → erb}/standard.erb +0 -0
  33. data/test/filters_test.rb +141 -0
  34. data/test/gemfiles/Gemfile.rails-3.0.x +4 -6
  35. data/test/gemfiles/Gemfile.rails-3.1.x +5 -6
  36. data/test/gemfiles/Gemfile.rails-3.2.x +6 -0
  37. data/test/haml-spec/LICENSE +14 -0
  38. data/test/{haml/spec → haml-spec}/README.md +26 -17
  39. data/test/haml-spec/lua_haml_spec.lua +38 -0
  40. data/test/haml-spec/perl_haml_test.pl +81 -0
  41. data/test/haml-spec/ruby_haml_test.rb +23 -0
  42. data/test/{haml/spec → haml-spec}/tests.json +132 -54
  43. data/test/{haml/helper_test.rb → helper_test.rb} +50 -36
  44. data/test/{haml/html2haml → html2haml}/erb_tests.rb +0 -0
  45. data/test/{haml/html2haml_test.rb → html2haml_test.rb} +11 -5
  46. data/test/{haml/markaby → markaby}/standard.mab +0 -0
  47. data/test/{haml/mocks → mocks}/article.rb +0 -0
  48. data/test/{haml/results → results}/content_for_layout.xhtml +0 -0
  49. data/test/{haml/results → results}/eval_suppressed.xhtml +0 -0
  50. data/test/{haml/results → results}/helpers.xhtml +0 -0
  51. data/test/{haml/results → results}/helpful.xhtml +0 -0
  52. data/test/{haml/results → results}/just_stuff.xhtml +0 -0
  53. data/test/{haml/results → results}/list.xhtml +0 -0
  54. data/test/{haml/results → results}/nuke_inner_whitespace.xhtml +0 -0
  55. data/test/{haml/results → results}/nuke_outer_whitespace.xhtml +0 -0
  56. data/test/{haml/results → results}/original_engine.xhtml +0 -0
  57. data/test/{haml/results → results}/partial_layout.xhtml +0 -0
  58. data/test/{haml/results → results}/partials.xhtml +0 -0
  59. data/test/{haml/results → results}/render_layout.xhtml +0 -0
  60. data/test/{haml/results → results}/silent_script.xhtml +1 -1
  61. data/test/{haml/results → results}/standard.xhtml +0 -0
  62. data/test/{haml/results → results}/tag_parsing.xhtml +0 -0
  63. data/test/{haml/results → results}/very_basic.xhtml +0 -0
  64. data/test/{haml/results → results}/whitespace_handling.xhtml +46 -50
  65. data/test/{haml/template_test.rb → template_test.rb} +20 -81
  66. data/test/{haml/templates → templates}/_av_partial_1.haml +1 -1
  67. data/test/{haml/templates → templates}/_av_partial_1_ugly.haml +1 -1
  68. data/test/{haml/templates → templates}/_av_partial_2.haml +1 -1
  69. data/test/{haml/templates → templates}/_av_partial_2_ugly.haml +1 -1
  70. data/test/{haml/templates → templates}/_layout.erb +0 -0
  71. data/test/{haml/templates → templates}/_layout_for_partial.haml +0 -0
  72. data/test/{haml/templates → templates}/_partial.haml +0 -0
  73. data/test/{haml/templates → templates}/_text_area.haml +0 -0
  74. data/test/{haml/templates → templates}/action_view.haml +1 -1
  75. data/test/{haml/templates → templates}/action_view_ugly.haml +1 -1
  76. data/test/{haml/templates → templates}/breakage.haml +0 -0
  77. data/test/{haml/templates → templates}/content_for_layout.haml +0 -0
  78. data/test/{haml/templates → templates}/eval_suppressed.haml +0 -0
  79. data/test/{haml/templates → templates}/helpers.haml +0 -0
  80. data/test/{haml/templates → templates}/helpful.haml +0 -0
  81. data/test/{haml/templates → templates}/just_stuff.haml +0 -0
  82. data/test/{haml/templates → templates}/list.haml +0 -0
  83. data/test/{haml/templates → templates}/nuke_inner_whitespace.haml +0 -0
  84. data/test/{haml/templates → templates}/nuke_outer_whitespace.haml +0 -0
  85. data/test/{haml/templates → templates}/original_engine.haml +0 -0
  86. data/test/templates/partial_layout.haml +3 -0
  87. data/test/{haml/templates → templates}/partialize.haml +0 -0
  88. data/test/{haml/templates → templates}/partials.haml +0 -0
  89. data/test/{haml/templates → templates}/render_layout.haml +0 -0
  90. data/test/{haml/templates → templates}/silent_script.haml +2 -2
  91. data/test/{haml/templates → templates}/standard.haml +0 -0
  92. data/test/{haml/templates → templates}/standard_ugly.haml +0 -0
  93. data/test/{haml/templates → templates}/tag_parsing.haml +0 -0
  94. data/test/{haml/templates → templates}/very_basic.haml +0 -0
  95. data/test/{haml/templates → templates}/whitespace_handling.haml +0 -0
  96. data/test/test_helper.rb +42 -34
  97. data/test/util_test.rb +80 -0
  98. metadata +259 -427
  99. data/CONTRIBUTING +0 -3
  100. data/REVISION +0 -1
  101. data/VERSION +0 -1
  102. data/VERSION_NAME +0 -1
  103. data/extra/update_watch.rb +0 -13
  104. data/lib/haml/root.rb +0 -7
  105. data/lib/haml/shared.rb +0 -78
  106. data/lib/haml/template/patch.rb +0 -58
  107. data/lib/sass.rb +0 -8
  108. data/lib/sass/plugin.rb +0 -10
  109. data/lib/sass/rails2_shim.rb +0 -9
  110. data/lib/sass/rails3_shim.rb +0 -16
  111. data/test/benchmark.rb +0 -91
  112. data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
  113. data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
  114. data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
  115. data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
  116. data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
  117. data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
  118. data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
  119. data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
  120. data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
  121. data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -98
  122. data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
  123. data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
  124. data/test/haml/results/filters.xhtml +0 -62
  125. data/test/haml/spec/lua_haml_spec.lua +0 -30
  126. data/test/haml/spec/ruby_haml_test.rb +0 -19
  127. data/test/haml/spec_test.rb +0 -44
  128. data/test/haml/templates/filters.haml +0 -66
  129. data/test/haml/templates/partial_layout.haml +0 -10
  130. data/test/haml/util_test.rb +0 -300
  131. data/test/linked_rails.rb +0 -42
  132. data/vendor/sass/CONTRIBUTING +0 -3
  133. data/vendor/sass/MIT-LICENSE +0 -20
  134. data/vendor/sass/README.md +0 -201
  135. data/vendor/sass/Rakefile +0 -339
  136. data/vendor/sass/TODO +0 -39
  137. data/vendor/sass/VERSION +0 -1
  138. data/vendor/sass/VERSION_NAME +0 -1
  139. data/vendor/sass/bin/sass +0 -8
  140. data/vendor/sass/bin/sass-convert +0 -7
  141. data/vendor/sass/bin/scss +0 -8
  142. data/vendor/sass/doc-src/FAQ.md +0 -35
  143. data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
  144. data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
  145. data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
  146. data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  147. data/vendor/sass/ext/extconf.rb +0 -10
  148. data/vendor/sass/extra/update_watch.rb +0 -13
  149. data/vendor/sass/init.rb +0 -18
  150. data/vendor/sass/lib/sass.rb +0 -73
  151. data/vendor/sass/lib/sass/cache_stores.rb +0 -15
  152. data/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
  153. data/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
  154. data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
  155. data/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
  156. data/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
  157. data/vendor/sass/lib/sass/callbacks.rb +0 -66
  158. data/vendor/sass/lib/sass/css.rb +0 -295
  159. data/vendor/sass/lib/sass/engine.rb +0 -878
  160. data/vendor/sass/lib/sass/environment.rb +0 -166
  161. data/vendor/sass/lib/sass/error.rb +0 -201
  162. data/vendor/sass/lib/sass/exec.rb +0 -672
  163. data/vendor/sass/lib/sass/importers.rb +0 -22
  164. data/vendor/sass/lib/sass/importers/base.rb +0 -139
  165. data/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
  166. data/vendor/sass/lib/sass/less.rb +0 -382
  167. data/vendor/sass/lib/sass/logger.rb +0 -15
  168. data/vendor/sass/lib/sass/logger/base.rb +0 -32
  169. data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
  170. data/vendor/sass/lib/sass/plugin.rb +0 -132
  171. data/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
  172. data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
  173. data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
  174. data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
  175. data/vendor/sass/lib/sass/plugin/rack.rb +0 -60
  176. data/vendor/sass/lib/sass/plugin/rails.rb +0 -47
  177. data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
  178. data/vendor/sass/lib/sass/railtie.rb +0 -9
  179. data/vendor/sass/lib/sass/repl.rb +0 -58
  180. data/vendor/sass/lib/sass/root.rb +0 -7
  181. data/vendor/sass/lib/sass/script.rb +0 -40
  182. data/vendor/sass/lib/sass/script/bool.rb +0 -18
  183. data/vendor/sass/lib/sass/script/color.rb +0 -480
  184. data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
  185. data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
  186. data/vendor/sass/lib/sass/script/funcall.rb +0 -175
  187. data/vendor/sass/lib/sass/script/functions.rb +0 -1386
  188. data/vendor/sass/lib/sass/script/interpolation.rb +0 -79
  189. data/vendor/sass/lib/sass/script/lexer.rb +0 -339
  190. data/vendor/sass/lib/sass/script/list.rb +0 -83
  191. data/vendor/sass/lib/sass/script/literal.rb +0 -250
  192. data/vendor/sass/lib/sass/script/node.rb +0 -99
  193. data/vendor/sass/lib/sass/script/number.rb +0 -452
  194. data/vendor/sass/lib/sass/script/operation.rb +0 -99
  195. data/vendor/sass/lib/sass/script/parser.rb +0 -474
  196. data/vendor/sass/lib/sass/script/string.rb +0 -51
  197. data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
  198. data/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
  199. data/vendor/sass/lib/sass/script/variable.rb +0 -59
  200. data/vendor/sass/lib/sass/scss.rb +0 -17
  201. data/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
  202. data/vendor/sass/lib/sass/scss/parser.rb +0 -960
  203. data/vendor/sass/lib/sass/scss/rx.rb +0 -128
  204. data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
  205. data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
  206. data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
  207. data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
  208. data/vendor/sass/lib/sass/selector.rb +0 -361
  209. data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
  210. data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
  211. data/vendor/sass/lib/sass/selector/sequence.rb +0 -233
  212. data/vendor/sass/lib/sass/selector/simple.rb +0 -113
  213. data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
  214. data/vendor/sass/lib/sass/shared.rb +0 -78
  215. data/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
  216. data/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
  217. data/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
  218. data/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
  219. data/vendor/sass/lib/sass/tree/each_node.rb +0 -24
  220. data/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
  221. data/vendor/sass/lib/sass/tree/for_node.rb +0 -36
  222. data/vendor/sass/lib/sass/tree/function_node.rb +0 -27
  223. data/vendor/sass/lib/sass/tree/if_node.rb +0 -52
  224. data/vendor/sass/lib/sass/tree/import_node.rb +0 -68
  225. data/vendor/sass/lib/sass/tree/media_node.rb +0 -32
  226. data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
  227. data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
  228. data/vendor/sass/lib/sass/tree/node.rb +0 -201
  229. data/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
  230. data/vendor/sass/lib/sass/tree/return_node.rb +0 -18
  231. data/vendor/sass/lib/sass/tree/root_node.rb +0 -28
  232. data/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
  233. data/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
  234. data/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
  235. data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
  236. data/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
  237. data/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
  238. data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
  239. data/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
  240. data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
  241. data/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
  242. data/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
  243. data/vendor/sass/lib/sass/tree/while_node.rb +0 -18
  244. data/vendor/sass/lib/sass/util.rb +0 -721
  245. data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
  246. data/vendor/sass/lib/sass/version.rb +0 -112
  247. data/vendor/sass/rails/init.rb +0 -1
  248. data/vendor/sass/sass.gemspec +0 -33
  249. data/vendor/sass/test/Gemfile +0 -4
  250. data/vendor/sass/test/Gemfile.lock +0 -19
  251. data/vendor/sass/test/sass/cache_test.rb +0 -89
  252. data/vendor/sass/test/sass/callbacks_test.rb +0 -61
  253. data/vendor/sass/test/sass/conversion_test.rb +0 -1199
  254. data/vendor/sass/test/sass/css2sass_test.rb +0 -373
  255. data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
  256. data/vendor/sass/test/sass/engine_test.rb +0 -2567
  257. data/vendor/sass/test/sass/extend_test.rb +0 -1348
  258. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  259. data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  260. data/vendor/sass/test/sass/functions_test.rb +0 -1038
  261. data/vendor/sass/test/sass/importer_test.rb +0 -192
  262. data/vendor/sass/test/sass/less_conversion_test.rb +0 -653
  263. data/vendor/sass/test/sass/logger_test.rb +0 -58
  264. data/vendor/sass/test/sass/mock_importer.rb +0 -49
  265. data/vendor/sass/test/sass/more_results/more1.css +0 -9
  266. data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
  267. data/vendor/sass/test/sass/more_results/more_import.css +0 -29
  268. data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
  269. data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
  270. data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
  271. data/vendor/sass/test/sass/plugin_test.rb +0 -472
  272. data/vendor/sass/test/sass/results/alt.css +0 -4
  273. data/vendor/sass/test/sass/results/basic.css +0 -9
  274. data/vendor/sass/test/sass/results/compact.css +0 -5
  275. data/vendor/sass/test/sass/results/complex.css +0 -86
  276. data/vendor/sass/test/sass/results/compressed.css +0 -1
  277. data/vendor/sass/test/sass/results/expanded.css +0 -19
  278. data/vendor/sass/test/sass/results/if.css +0 -3
  279. data/vendor/sass/test/sass/results/import.css +0 -31
  280. data/vendor/sass/test/sass/results/import_charset.css +0 -4
  281. data/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
  282. data/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
  283. data/vendor/sass/test/sass/results/line_numbers.css +0 -49
  284. data/vendor/sass/test/sass/results/mixins.css +0 -95
  285. data/vendor/sass/test/sass/results/multiline.css +0 -24
  286. data/vendor/sass/test/sass/results/nested.css +0 -22
  287. data/vendor/sass/test/sass/results/options.css +0 -1
  288. data/vendor/sass/test/sass/results/parent_ref.css +0 -13
  289. data/vendor/sass/test/sass/results/script.css +0 -16
  290. data/vendor/sass/test/sass/results/scss_import.css +0 -31
  291. data/vendor/sass/test/sass/results/scss_importee.css +0 -2
  292. data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  293. data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
  294. data/vendor/sass/test/sass/results/units.css +0 -11
  295. data/vendor/sass/test/sass/results/warn.css +0 -0
  296. data/vendor/sass/test/sass/results/warn_imported.css +0 -0
  297. data/vendor/sass/test/sass/script_conversion_test.rb +0 -285
  298. data/vendor/sass/test/sass/script_test.rb +0 -514
  299. data/vendor/sass/test/sass/scss/css_test.rb +0 -922
  300. data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
  301. data/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
  302. data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
  303. data/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  304. data/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
  305. data/vendor/sass/test/sass/templates/_partial.sass +0 -2
  306. data/vendor/sass/test/sass/templates/alt.sass +0 -16
  307. data/vendor/sass/test/sass/templates/basic.sass +0 -23
  308. data/vendor/sass/test/sass/templates/bork1.sass +0 -2
  309. data/vendor/sass/test/sass/templates/bork2.sass +0 -2
  310. data/vendor/sass/test/sass/templates/bork3.sass +0 -2
  311. data/vendor/sass/test/sass/templates/bork4.sass +0 -2
  312. data/vendor/sass/test/sass/templates/bork5.sass +0 -3
  313. data/vendor/sass/test/sass/templates/compact.sass +0 -17
  314. data/vendor/sass/test/sass/templates/complex.sass +0 -305
  315. data/vendor/sass/test/sass/templates/compressed.sass +0 -15
  316. data/vendor/sass/test/sass/templates/expanded.sass +0 -17
  317. data/vendor/sass/test/sass/templates/if.sass +0 -11
  318. data/vendor/sass/test/sass/templates/import.sass +0 -12
  319. data/vendor/sass/test/sass/templates/import_charset.sass +0 -7
  320. data/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
  321. data/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
  322. data/vendor/sass/test/sass/templates/importee.less +0 -2
  323. data/vendor/sass/test/sass/templates/importee.sass +0 -19
  324. data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
  325. data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
  326. data/vendor/sass/test/sass/templates/mixins.sass +0 -76
  327. data/vendor/sass/test/sass/templates/multiline.sass +0 -20
  328. data/vendor/sass/test/sass/templates/nested.sass +0 -25
  329. data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
  330. data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
  331. data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
  332. data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
  333. data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
  334. data/vendor/sass/test/sass/templates/nested_import.sass +0 -2
  335. data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
  336. data/vendor/sass/test/sass/templates/options.sass +0 -2
  337. data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
  338. data/vendor/sass/test/sass/templates/script.sass +0 -101
  339. data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
  340. data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
  341. data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  342. data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  343. data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
  344. data/vendor/sass/test/sass/templates/units.sass +0 -11
  345. data/vendor/sass/test/sass/templates/warn.sass +0 -3
  346. data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
  347. data/vendor/sass/test/sass/test_helper.rb +0 -8
  348. data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
  349. data/vendor/sass/test/sass/util_test.rb +0 -266
  350. data/vendor/sass/test/test_helper.rb +0 -69
  351. data/vendor/sass/vendor/fssm/Gemfile +0 -3
  352. data/vendor/sass/vendor/fssm/LICENSE +0 -20
  353. data/vendor/sass/vendor/fssm/README.markdown +0 -83
  354. data/vendor/sass/vendor/fssm/Rakefile +0 -11
  355. data/vendor/sass/vendor/fssm/example.rb +0 -12
  356. data/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
  357. data/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
  358. data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
  359. data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
  360. data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
  361. data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
  362. data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
  363. data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
  364. data/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
  365. data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
  366. data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
  367. data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
  368. data/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
  369. data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
  370. data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
  371. data/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
  372. data/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
  373. data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
  374. data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
  375. data/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
  376. data/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
  377. data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
  378. data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
  379. data/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
  380. data/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
  381. data/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
  382. data/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
  383. data/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
  384. data/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
  385. data/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
  386. data/vendor/sass/yard/callbacks.rb +0 -29
  387. data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
  388. data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
  389. data/vendor/sass/yard/inherited_hash.rb +0 -41
@@ -1,134 +0,0 @@
1
- module Sass
2
- module Selector
3
- # A unseparated sequence of selectors
4
- # that all apply to a single element.
5
- # For example, `.foo#bar[attr=baz]` is a simple sequence
6
- # of the selectors `.foo`, `#bar`, and `[attr=baz]`.
7
- class SimpleSequence < AbstractSequence
8
- # The array of individual selectors.
9
- #
10
- # @return [Array<Simple>]
11
- attr_reader :members
12
-
13
- # Returns the element or universal selector in this sequence,
14
- # if it exists.
15
- #
16
- # @return [Element, Universal, nil]
17
- def base
18
- @base ||= (members.first if members.first.is_a?(Element) || members.first.is_a?(Universal))
19
- end
20
-
21
- # Returns the non-base selectors in this sequence.
22
- #
23
- # @return [Set<Simple>]
24
- def rest
25
- @rest ||= Set.new(base ? members[1..-1] : members)
26
- end
27
-
28
- # @param selectors [Array<Simple>] See \{#members}
29
- def initialize(selectors)
30
- @members = selectors
31
- end
32
-
33
- # Resolves the {Parent} selectors within this selector
34
- # by replacing them with the given parent selector,
35
- # handling commas appropriately.
36
- #
37
- # @param super_seq [Sequence] The parent selector sequence
38
- # @return [Array<SimpleSequence>] This selector, with parent references resolved.
39
- # This is an array because the parent selector is itself a {Sequence}
40
- # @raise [Sass::SyntaxError] If a parent selector is invalid
41
- def resolve_parent_refs(super_seq)
42
- # Parent selector only appears as the first selector in the sequence
43
- return [self] unless @members.first.is_a?(Parent)
44
-
45
- return super_seq.members if @members.size == 1
46
- unless super_seq.members.last.is_a?(SimpleSequence)
47
- raise Sass::SyntaxError.new("Invalid parent selector: " + super_seq.to_a.join)
48
- end
49
-
50
- super_seq.members[0...-1] +
51
- [SimpleSequence.new(super_seq.members.last.members + @members[1..-1])]
52
- end
53
-
54
- # Non-destrucively extends this selector with the extensions specified in a hash
55
- # (which should come from {Sass::Tree::Visitors::Cssize}).
56
- #
57
- # @overload def do_extend(extends)
58
- # @param extends [{Selector::Simple => Selector::Sequence}]
59
- # The extensions to perform on this selector
60
- # @return [Array<Sequence>] A list of selectors generated
61
- # by extending this selector with `extends`.
62
- # @see CommaSequence#do_extend
63
- def do_extend(extends, seen = Set.new)
64
- extends.get(members.to_set).map do |seq, sels|
65
- # If A {@extend B} and C {...},
66
- # seq is A, sels is B, and self is C
67
-
68
- self_without_sel = self.members - sels
69
- next unless unified = seq.members.last.unify(self_without_sel)
70
- [sels, seq.members[0...-1] + [unified]]
71
- end.compact.map do |sels, seq|
72
- seq = Sequence.new(seq)
73
- seen.include?(sels) ? [] : seq.do_extend(extends, seen + [sels])
74
- end.flatten.uniq
75
- end
76
-
77
- # Unifies this selector with another {SimpleSequence}'s {SimpleSequence#members members array},
78
- # returning another `SimpleSequence`
79
- # that matches both this selector and the input selector.
80
- #
81
- # @param sels [Array<Simple>] A {SimpleSequence}'s {SimpleSequence#members members array}
82
- # @return [SimpleSequence, nil] A {SimpleSequence} matching both `sels` and this selector,
83
- # or `nil` if this is impossible (e.g. unifying `#foo` and `#bar`)
84
- # @raise [Sass::SyntaxError] If this selector cannot be unified.
85
- # This will only ever occur when a dynamic selector,
86
- # such as {Parent} or {Interpolation}, is used in unification.
87
- # Since these selectors should be resolved
88
- # by the time extension and unification happen,
89
- # this exception will only ever be raised as a result of programmer error
90
- def unify(sels)
91
- return unless sseq = members.inject(sels) do |sseq, sel|
92
- return unless sseq
93
- sel.unify(sseq)
94
- end
95
- SimpleSequence.new(sseq)
96
- end
97
-
98
- # Returns whether or not this selector matches all elements
99
- # that the given selector matches (as well as possibly more).
100
- #
101
- # @example
102
- # (.foo).superselector?(.foo.bar) #=> true
103
- # (.foo).superselector?(.bar) #=> false
104
- # @param sseq [SimpleSequence]
105
- # @return [Boolean]
106
- def superselector?(sseq)
107
- (base.nil? || base.eql?(sseq.base)) && rest.subset?(sseq.rest)
108
- end
109
-
110
- # @see Simple#to_a
111
- def to_a
112
- @members.map {|sel| sel.to_a}.flatten
113
- end
114
-
115
- # Returns a string representation of the sequence.
116
- # This is basically the selector string.
117
- #
118
- # @return [String]
119
- def inspect
120
- members.map {|m| m.inspect}.join
121
- end
122
-
123
- private
124
-
125
- def _hash
126
- [base, Sass::Util.set_hash(rest)].hash
127
- end
128
-
129
- def _eql?(other)
130
- other.base.eql?(self.base) && Sass::Util.set_eql?(other.rest, self.rest)
131
- end
132
- end
133
- end
134
- end
@@ -1,78 +0,0 @@
1
- require 'strscan'
2
-
3
- module Sass
4
- # This module contains functionality that's shared between Haml and Sass.
5
- module Shared
6
- extend self
7
-
8
- # Scans through a string looking for the interoplation-opening `#{`
9
- # and, when it's found, yields the scanner to the calling code
10
- # so it can handle it properly.
11
- #
12
- # The scanner will have any backslashes immediately in front of the `#{`
13
- # as the second capture group (`scan[2]`),
14
- # and the text prior to that as the first (`scan[1]`).
15
- #
16
- # @yieldparam scan [StringScanner] The scanner scanning through the string
17
- # @return [String] The text remaining in the scanner after all `#{`s have been processed
18
- def handle_interpolation(str)
19
- scan = StringScanner.new(str)
20
- yield scan while scan.scan(/(.*?)(\\*)\#\{/m)
21
- scan.rest
22
- end
23
-
24
- # Moves a scanner through a balanced pair of characters.
25
- # For example:
26
- #
27
- # Foo (Bar (Baz bang) bop) (Bang (bop bip))
28
- # ^ ^
29
- # from to
30
- #
31
- # @param scanner [StringScanner] The string scanner to move
32
- # @param start [Character] The character opening the balanced pair.
33
- # A `Fixnum` in 1.8, a `String` in 1.9
34
- # @param finish [Character] The character closing the balanced pair.
35
- # A `Fixnum` in 1.8, a `String` in 1.9
36
- # @param count [Fixnum] The number of opening characters matched
37
- # before calling this method
38
- # @return [(String, String)] The string matched within the balanced pair
39
- # and the rest of the string.
40
- # `["Foo (Bar (Baz bang) bop)", " (Bang (bop bip))"]` in the example above.
41
- def balance(scanner, start, finish, count = 0)
42
- str = ''
43
- scanner = StringScanner.new(scanner) unless scanner.is_a? StringScanner
44
- regexp = Regexp.new("(.*?)[\\#{start.chr}\\#{finish.chr}]", Regexp::MULTILINE)
45
- while scanner.scan(regexp)
46
- str << scanner.matched
47
- count += 1 if scanner.matched[-1] == start
48
- count -= 1 if scanner.matched[-1] == finish
49
- return [str.strip, scanner.rest] if count == 0
50
- end
51
- end
52
-
53
- # Formats a string for use in error messages about indentation.
54
- #
55
- # @param indentation [String] The string used for indentation
56
- # @param was [Boolean] Whether or not to add `"was"` or `"were"`
57
- # (depending on how many characters were in `indentation`)
58
- # @return [String] The name of the indentation (e.g. `"12 spaces"`, `"1 tab"`)
59
- def human_indentation(indentation, was = false)
60
- if !indentation.include?(?\t)
61
- noun = 'space'
62
- elsif !indentation.include?(?\s)
63
- noun = 'tab'
64
- else
65
- return indentation.inspect + (was ? ' was' : '')
66
- end
67
-
68
- singular = indentation.length == 1
69
- if was
70
- was = singular ? ' was' : ' were'
71
- else
72
- was = ''
73
- end
74
-
75
- "#{indentation.length} #{noun}#{'s' unless singular}#{was}"
76
- end
77
- end
78
- end
@@ -1,22 +0,0 @@
1
- module Sass::Tree
2
- # A static node representing an unproccessed Sass `@charset` directive.
3
- #
4
- # @see Sass::Tree
5
- class CharsetNode < Node
6
- # The name of the charset.
7
- #
8
- # @return [String]
9
- attr_accessor :name
10
-
11
- # @param name [String] see \{#name}
12
- def initialize(name)
13
- @name = name
14
- super()
15
- end
16
-
17
- # @see Node#invisible?
18
- def invisible?
19
- !Sass::Util.ruby1_8?
20
- end
21
- end
22
- end
@@ -1,90 +0,0 @@
1
- require 'sass/tree/node'
2
-
3
- module Sass::Tree
4
- # A static node representing a Sass comment (silent or loud).
5
- #
6
- # @see Sass::Tree
7
- class CommentNode < Node
8
- # The text of the comment, not including `/*` and `*/`.
9
- # Interspersed with {Sass::Script::Node}s representing `#{}`-interpolation
10
- # if this is a loud comment.
11
- #
12
- # @return [Array<String, Sass::Script::Node>]
13
- attr_accessor :value
14
-
15
- # The text of the comment
16
- # after any interpolated SassScript has been resolved.
17
- # Only set once \{Tree::Visitors::Perform} has been run.
18
- #
19
- # @return [String]
20
- attr_accessor :resolved_value
21
-
22
- # Whether the comment is loud.
23
- #
24
- # Loud comments start with ! and force the comment to be generated
25
- # irrespective of compilation settings or the comment syntax used.
26
- #
27
- # @return [Boolean]
28
- attr_accessor :loud
29
-
30
- # Whether or not the comment is silent (that is, doesn't output to CSS).
31
- #
32
- # @return [Boolean]
33
- attr_accessor :silent
34
-
35
- # @param value [Array<String, Sass::Script::Node>] See \{#value}
36
- # @param silent [Boolean] See \{#silent}
37
- # @param loud [Boolean] See \{#loud}
38
- def initialize(value, silent, loud)
39
- @value = Sass::Util.with_extracted_values(value) {|str| normalize_indentation str}
40
- @silent = silent
41
- @loud = loud
42
- super()
43
- end
44
-
45
- # Compares the contents of two comments.
46
- #
47
- # @param other [Object] The object to compare with
48
- # @return [Boolean] Whether or not this node and the other object
49
- # are the same
50
- def ==(other)
51
- self.class == other.class && value == other.value && silent == other.silent && loud == other.loud
52
- end
53
-
54
- # Returns `true` if this is a silent comment
55
- # or the current style doesn't render comments.
56
- #
57
- # Comments starting with ! are never invisible (and the ! is removed from the output.)
58
- #
59
- # @return [Boolean]
60
- def invisible?
61
- if @loud
62
- return false
63
- else
64
- @silent || (style == :compressed)
65
- end
66
- end
67
-
68
- # Returns the number of lines in the comment.
69
- #
70
- # @return [Fixnum]
71
- def lines
72
- @value.inject(0) do |s, e|
73
- next s + e.count("\n") if e.is_a?(String)
74
- next s
75
- end
76
- end
77
-
78
- private
79
-
80
- def normalize_indentation(str)
81
- pre = str.split("\n").inject(str[/^[ \t]*/].split("")) do |pre, line|
82
- line[/^[ \t]*/].split("").zip(pre).inject([]) do |arr, (a, b)|
83
- break arr if a != b
84
- arr + [a]
85
- end
86
- end.join
87
- str.gsub(/^#{pre}/, '')
88
- end
89
- end
90
- end
@@ -1,18 +0,0 @@
1
- module Sass
2
- module Tree
3
- # A dynamic node representing a Sass `@debug` statement.
4
- #
5
- # @see Sass::Tree
6
- class DebugNode < Node
7
- # The expression to print.
8
- # @return [Script::Node]
9
- attr_accessor :expr
10
-
11
- # @param expr [Script::Node] The expression to print
12
- def initialize(expr)
13
- @expr = expr
14
- super()
15
- end
16
- end
17
- end
18
- end
@@ -1,23 +0,0 @@
1
- module Sass::Tree
2
- # A static node representing an unproccessed Sass `@`-directive.
3
- # Directives known to Sass, like `@for` and `@debug`,
4
- # are handled by their own nodes;
5
- # only CSS directives like `@media` and `@font-face` become {DirectiveNode}s.
6
- #
7
- # `@import` and `@charset` are special cases;
8
- # they become {ImportNode}s and {CharsetNode}s, respectively.
9
- #
10
- # @see Sass::Tree
11
- class DirectiveNode < Node
12
- # The text of the directive, `@` and all.
13
- #
14
- # @return [String]
15
- attr_accessor :value
16
-
17
- # @param value [String] See \{#value}
18
- def initialize(value)
19
- @value = value
20
- super()
21
- end
22
- end
23
- end
@@ -1,24 +0,0 @@
1
- require 'sass/tree/node'
2
-
3
- module Sass::Tree
4
- # A dynamic node representing a Sass `@each` loop.
5
- #
6
- # @see Sass::Tree
7
- class EachNode < Node
8
- # The name of the loop variable.
9
- # @return [String]
10
- attr_reader :var
11
-
12
- # The parse tree for the list.
13
- # @param [Script::Node]
14
- attr_accessor :list
15
-
16
- # @param var [String] The name of the loop variable
17
- # @param list [Script::Node] The parse tree for the list
18
- def initialize(var, list)
19
- @var = var
20
- @list = list
21
- super()
22
- end
23
- end
24
- end
@@ -1,29 +0,0 @@
1
- require 'sass/tree/node'
2
-
3
- module Sass::Tree
4
- # A static node reprenting an `@extend` directive.
5
- #
6
- # @see Sass::Tree
7
- class ExtendNode < Node
8
- # The parsed selector after interpolation has been resolved.
9
- # Only set once {Tree::Visitors::Perform} has been run.
10
- #
11
- # @return [Selector::CommaSequence]
12
- attr_accessor :resolved_selector
13
-
14
- # The CSS selector to extend, interspersed with {Sass::Script::Node}s
15
- # representing `#{}`-interpolation.
16
- #
17
- # @return [Array<String, Sass::Script::Node>]
18
- attr_accessor :selector
19
-
20
- # @param selector [Array<String, Sass::Script::Node>]
21
- # The CSS selector to extend,
22
- # interspersed with {Sass::Script::Node}s
23
- # representing `#{}`-interpolation.
24
- def initialize(selector)
25
- @selector = selector
26
- super()
27
- end
28
- end
29
- end
@@ -1,36 +0,0 @@
1
- require 'sass/tree/node'
2
-
3
- module Sass::Tree
4
- # A dynamic node representing a Sass `@for` loop.
5
- #
6
- # @see Sass::Tree
7
- class ForNode < Node
8
- # The name of the loop variable.
9
- # @return [String]
10
- attr_reader :var
11
-
12
- # The parse tree for the initial expression.
13
- # @return [Script::Node]
14
- attr_accessor :from
15
-
16
- # The parse tree for the final expression.
17
- # @return [Script::Node]
18
- attr_accessor :to
19
-
20
- # Whether to include `to` in the loop or stop just before.
21
- # @return [Boolean]
22
- attr_reader :exclusive
23
-
24
- # @param var [String] See \{#var}
25
- # @param from [Script::Node] See \{#from}
26
- # @param to [Script::Node] See \{#to}
27
- # @param exclusive [Boolean] See \{#exclusive}
28
- def initialize(var, from, to, exclusive)
29
- @var = var
30
- @from = from
31
- @to = to
32
- @exclusive = exclusive
33
- super()
34
- end
35
- end
36
- end