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,27 +0,0 @@
1
- module Sass
2
- module Tree
3
- # A dynamic node representing a function definition.
4
- #
5
- # @see Sass::Tree
6
- class FunctionNode < Node
7
- # The name of the function.
8
- # @return [String]
9
- attr_reader :name
10
-
11
- # The arguments to the function. Each element is a tuple
12
- # containing the variable for argument and the parse tree for
13
- # the default value of the argument
14
- #
15
- # @return [Array<Script::Node>]
16
- attr_accessor :args
17
-
18
- # @param name [String] The function name
19
- # @param args [Array<(Script::Node, Script::Node)>] The arguments for the function.
20
- def initialize(name, args)
21
- @name = name
22
- @args = args
23
- super()
24
- end
25
- end
26
- end
27
- end
@@ -1,52 +0,0 @@
1
- require 'sass/tree/node'
2
-
3
- module Sass::Tree
4
- # A dynamic node representing a Sass `@if` statement.
5
- #
6
- # {IfNode}s are a little odd, in that they also represent `@else` and `@else if`s.
7
- # This is done as a linked list:
8
- # each {IfNode} has a link (\{#else}) to the next {IfNode}.
9
- #
10
- # @see Sass::Tree
11
- class IfNode < Node
12
- # The conditional expression.
13
- # If this is nil, this is an `@else` node, not an `@else if`.
14
- #
15
- # @return [Script::Expr]
16
- attr_accessor :expr
17
-
18
- # The next {IfNode} in the if-else list, or `nil`.
19
- #
20
- # @return [IfNode]
21
- attr_accessor :else
22
-
23
- # @param expr [Script::Expr] See \{#expr}
24
- def initialize(expr)
25
- @expr = expr
26
- @last_else = self
27
- super()
28
- end
29
-
30
- # Append an `@else` node to the end of the list.
31
- #
32
- # @param node [IfNode] The `@else` node to append
33
- def add_else(node)
34
- @last_else.else = node
35
- @last_else = node
36
- end
37
-
38
- def _dump(f)
39
- Marshal.dump([self.expr, self.else, self.children])
40
- end
41
-
42
- def self._load(data)
43
- expr, else_, children = Marshal.load(data)
44
- node = IfNode.new(expr)
45
- node.else = else_
46
- node.children = children
47
- node.instance_variable_set('@last_else',
48
- node.else ? node.else.instance_variable_get('@last_else') : node)
49
- node
50
- end
51
- end
52
- end
@@ -1,68 +0,0 @@
1
- module Sass
2
- module Tree
3
- # A static node that wraps the {Sass::Tree} for an `@import`ed file.
4
- # It doesn't have a functional purpose other than to add the `@import`ed file
5
- # to the backtrace if an error occurs.
6
- class ImportNode < RootNode
7
- # The name of the imported file as it appears in the Sass document.
8
- #
9
- # @return [String]
10
- attr_reader :imported_filename
11
-
12
- # @param imported_filename [String] The name of the imported file
13
- def initialize(imported_filename)
14
- @imported_filename = imported_filename
15
- super(nil)
16
- end
17
-
18
- def invisible?; to_s.empty?; end
19
-
20
- # Returns the imported file.
21
- #
22
- # @return [Sass::Engine]
23
- # @raise [Sass::SyntaxError] If no file could be found to import.
24
- def imported_file
25
- @imported_file ||= import
26
- end
27
-
28
- # Returns whether or not this import should emit a CSS @import declaration
29
- #
30
- # @return [Boolean] Whether or not this is a simple CSS @import declaration.
31
- def css_import?
32
- if @imported_filename =~ /\.css$/
33
- @imported_filename
34
- elsif imported_file.is_a?(String) && imported_file =~ /\.css$/
35
- imported_file
36
- end
37
- end
38
-
39
- private
40
-
41
- def import
42
- paths = @options[:load_paths]
43
-
44
- if @options[:importer]
45
- f = @options[:importer].find_relative(
46
- @imported_filename, @options[:filename], @options.dup)
47
- return f if f
48
- end
49
-
50
- paths.each do |p|
51
- if f = p.find(@imported_filename, @options.dup)
52
- return f
53
- end
54
- end
55
-
56
- message = "File to import not found or unreadable: #{@imported_filename}.\n"
57
- if paths.size == 1
58
- message << "Load path: #{paths.first}"
59
- else
60
- message << "Load paths:\n " << paths.join("\n ")
61
- end
62
- raise SyntaxError.new(message)
63
- rescue SyntaxError => e
64
- raise SyntaxError.new(e.message, :line => self.line, :filename => @filename)
65
- end
66
- end
67
- end
68
- end
@@ -1,32 +0,0 @@
1
- module Sass::Tree
2
- # A static node representing a `@media` rule.
3
- # `@media` rules behave differently from other directives
4
- # in that when they're nested within rules,
5
- # they bubble up to top-level.
6
- #
7
- # @see Sass::Tree
8
- class MediaNode < DirectiveNode
9
- # The media query (e.g. `print` or `screen`).
10
- #
11
- # @return [String]
12
- attr_accessor :query
13
-
14
- # @see RuleNode#tabs
15
- attr_accessor :tabs
16
-
17
- # @see RuleNode#group_end
18
- attr_accessor :group_end
19
-
20
- # @param query [String] See \{#query}
21
- def initialize(query)
22
- @query = query
23
- @tabs = 0
24
- super('')
25
- end
26
-
27
- # @see DirectiveNode#value
28
- def value
29
- "@media #{query}"
30
- end
31
- end
32
- end
@@ -1,27 +0,0 @@
1
- module Sass
2
- module Tree
3
- # A dynamic node representing a mixin definition.
4
- #
5
- # @see Sass::Tree
6
- class MixinDefNode < Node
7
- # The mixin name.
8
- # @return [String]
9
- attr_reader :name
10
-
11
- # The arguments for the mixin.
12
- # Each element is a tuple containing the variable for argument
13
- # and the parse tree for the default value of the argument.
14
- #
15
- # @return [Array<(Script::Node, Script::Node)>]
16
- attr_accessor :args
17
-
18
- # @param name [String] The mixin name
19
- # @param args [Array<(Script::Node, Script::Node)>] See \{#args}
20
- def initialize(name, args)
21
- @name = name
22
- @args = args
23
- super()
24
- end
25
- end
26
- end
27
- end
@@ -1,32 +0,0 @@
1
- require 'sass/tree/node'
2
-
3
- module Sass::Tree
4
- # A static node representing a mixin include.
5
- # When in a static tree, the sole purpose is to wrap exceptions
6
- # to add the mixin to the backtrace.
7
- #
8
- # @see Sass::Tree
9
- class MixinNode < Node
10
- # The name of the mixin.
11
- # @return [String]
12
- attr_reader :name
13
-
14
- # The arguments to the mixin.
15
- # @return [Array<Script::Node>]
16
- attr_accessor :args
17
-
18
- # A hash from keyword argument names to values.
19
- # @return [{String => Script::Node}]
20
- attr_accessor :keywords
21
-
22
- # @param name [String] The name of the mixin
23
- # @param args [Array<Script::Node>] See \{#args}
24
- # @param keywords [{String => Script::Node}] See \{#keywords}
25
- def initialize(name, args, keywords)
26
- @name = name
27
- @args = args
28
- @keywords = keywords
29
- super()
30
- end
31
- end
32
- end
@@ -1,201 +0,0 @@
1
- module Sass
2
- # A namespace for nodes in the Sass parse tree.
3
- #
4
- # The Sass parse tree has three states: dynamic, static Sass, and static CSS.
5
- #
6
- # When it's first parsed, a Sass document is in the dynamic state.
7
- # It has nodes for mixin definitions and `@for` loops and so forth,
8
- # in addition to nodes for CSS rules and properties.
9
- # Nodes that only appear in this state are called **dynamic nodes**.
10
- #
11
- # {Tree::Visitors::Perform} creates a static Sass tree, which is different.
12
- # It still has nodes for CSS rules and properties
13
- # but it doesn't have any dynamic-generation-related nodes.
14
- # The nodes in this state are in the same structure as the Sass document:
15
- # rules and properties are nested beneath one another.
16
- # Nodes that can be in this state or in the dynamic state
17
- # are called **static nodes**.
18
- #
19
- # {Tree::Visitors::Cssize} is then used to create a static CSS tree.
20
- # This is like a static Sass tree,
21
- # but the structure exactly mirrors that of the generated CSS.
22
- # Rules and properties can't be nested beneath one another in this state.
23
- #
24
- # Finally, {Tree::Visitors::ToCss} can be called on a static CSS tree
25
- # to get the actual CSS code as a string.
26
- module Tree
27
- # The abstract superclass of all parse-tree nodes.
28
- class Node
29
- include Enumerable
30
-
31
- # The child nodes of this node.
32
- #
33
- # @return [Array<Tree::Node>]
34
- attr_accessor :children
35
-
36
- # Whether or not this node has child nodes.
37
- # This may be true even when \{#children} is empty,
38
- # in which case this node has an empty block (e.g. `{}`).
39
- #
40
- # @return [Boolean]
41
- attr_accessor :has_children
42
-
43
- # The line of the document on which this node appeared.
44
- #
45
- # @return [Fixnum]
46
- attr_accessor :line
47
-
48
- # The name of the document on which this node appeared.
49
- #
50
- # @return [String]
51
- attr_writer :filename
52
-
53
- # The options hash for the node.
54
- # See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
55
- #
56
- # @return [{Symbol => Object}]
57
- attr_reader :options
58
-
59
- def initialize
60
- @children = []
61
- end
62
-
63
- # Sets the options hash for the node and all its children.
64
- #
65
- # @param options [{Symbol => Object}] The options
66
- # @see #options
67
- def options=(options)
68
- Sass::Tree::Visitors::SetOptions.visit(self, options)
69
- end
70
-
71
- # @private
72
- def children=(children)
73
- self.has_children ||= !children.empty?
74
- @children = children
75
- end
76
-
77
- # The name of the document on which this node appeared.
78
- #
79
- # @return [String]
80
- def filename
81
- @filename || (@options && @options[:filename])
82
- end
83
-
84
- # Appends a child to the node.
85
- #
86
- # @param child [Tree::Node, Array<Tree::Node>] The child node or nodes
87
- # @raise [Sass::SyntaxError] if `child` is invalid
88
- def <<(child)
89
- return if child.nil?
90
- if child.is_a?(Array)
91
- child.each {|c| self << c}
92
- else
93
- self.has_children = true
94
- @children << child
95
- end
96
- end
97
-
98
- # Compares this node and another object (only other {Tree::Node}s will be equal).
99
- # This does a structural comparison;
100
- # if the contents of the nodes and all the child nodes are equivalent,
101
- # then the nodes are as well.
102
- #
103
- # Only static nodes need to override this.
104
- #
105
- # @param other [Object] The object to compare with
106
- # @return [Boolean] Whether or not this node and the other object
107
- # are the same
108
- # @see Sass::Tree
109
- def ==(other)
110
- self.class == other.class && other.children == children
111
- end
112
-
113
- # True if \{#to\_s} will return `nil`;
114
- # that is, if the node shouldn't be rendered.
115
- # Should only be called in a static tree.
116
- #
117
- # @return [Boolean]
118
- def invisible?; false; end
119
-
120
- # The output style. See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
121
- #
122
- # @return [Symbol]
123
- def style
124
- @options[:style]
125
- end
126
-
127
- # Computes the CSS corresponding to this static CSS tree.
128
- #
129
- # @return [String, nil] The resulting CSS
130
- # @see Sass::Tree
131
- def to_s
132
- Sass::Tree::Visitors::ToCss.visit(self)
133
- end
134
-
135
- # Converts a static CSS tree (e.g. the output of \{Tree::Visitors::Cssize})
136
- # into another static CSS tree,
137
- # with the given extensions applied to all relevant {RuleNode}s.
138
- #
139
- # @todo Link this to the reference documentation on `@extend`
140
- # when such a thing exists.
141
- #
142
- # @param extends [Sass::Util::SubsetMap{Selector::Simple => Selector::Sequence}]
143
- # The extensions to perform on this tree
144
- # @return [Tree::Node] The resulting tree of static CSS nodes.
145
- # @raise [Sass::SyntaxError] Only if there's a programmer error
146
- # and this is not a static CSS tree
147
- def do_extend(extends)
148
- node = dup
149
- node.children = children.map {|c| c.do_extend(extends)}
150
- node
151
- rescue Sass::SyntaxError => e
152
- e.modify_backtrace(:filename => filename, :line => line)
153
- raise e
154
- end
155
-
156
- # Iterates through each node in the tree rooted at this node
157
- # in a pre-order walk.
158
- #
159
- # @yield node
160
- # @yieldparam node [Node] a node in the tree
161
- def each(&block)
162
- yield self
163
- children.each {|c| c.each(&block)}
164
- end
165
-
166
- # Converts a node to Sass code that will generate it.
167
- #
168
- # @param options [{Symbol => Object}] An options hash (see {Sass::CSS#initialize})
169
- # @return [String] The Sass code corresponding to the node
170
- def to_sass(options = {})
171
- Sass::Tree::Visitors::Convert.visit(self, options, :sass)
172
- end
173
-
174
- # Converts a node to SCSS code that will generate it.
175
- #
176
- # @param options [{Symbol => Object}] An options hash (see {Sass::CSS#initialize})
177
- # @return [String] The Sass code corresponding to the node
178
- def to_scss(options = {})
179
- Sass::Tree::Visitors::Convert.visit(self, options, :scss)
180
- end
181
-
182
- # Return a deep clone of this node.
183
- # The child nodes are cloned, but options are not.
184
- #
185
- # @return [Node]
186
- def deep_copy
187
- Sass::Tree::Visitors::DeepCopy.visit(self)
188
- end
189
-
190
- protected
191
-
192
- # @see Sass::Shared.balance
193
- # @raise [Sass::SyntaxError] if the brackets aren't balanced
194
- def balance(*args)
195
- res = Sass::Shared.balance(*args)
196
- return res if res
197
- raise Sass::SyntaxError.new("Unbalanced brackets.", :line => line)
198
- end
199
- end
200
- end
201
- end
@@ -1,148 +0,0 @@
1
- module Sass::Tree
2
- # A static node reprenting a CSS property.
3
- #
4
- # @see Sass::Tree
5
- class PropNode < Node
6
- # The name of the property,
7
- # interspersed with {Sass::Script::Node}s
8
- # representing `#{}`-interpolation.
9
- # Any adjacent strings will be merged together.
10
- #
11
- # @return [Array<String, Sass::Script::Node>]
12
- attr_accessor :name
13
-
14
- # The name of the property
15
- # after any interpolated SassScript has been resolved.
16
- # Only set once \{Tree::Visitors::Perform} has been run.
17
- #
18
- # @return [String]
19
- attr_accessor :resolved_name
20
-
21
- # The value of the property.
22
- #
23
- # @return [Sass::Script::Node]
24
- attr_accessor :value
25
-
26
- # The value of the property
27
- # after any interpolated SassScript has been resolved.
28
- # Only set once \{Tree::Visitors::Perform} has been run.
29
- #
30
- # @return [String]
31
- attr_accessor :resolved_value
32
-
33
- # How deep this property is indented
34
- # relative to a normal property.
35
- # This is only greater than 0 in the case that:
36
- #
37
- # * This node is in a CSS tree
38
- # * The style is :nested
39
- # * This is a child property of another property
40
- # * The parent property has a value, and thus will be rendered
41
- #
42
- # @return [Fixnum]
43
- attr_accessor :tabs
44
-
45
- # @param name [Array<String, Sass::Script::Node>] See \{#name}
46
- # @param value [Sass::Script::Node] See \{#value}
47
- # @param prop_syntax [Symbol] `:new` if this property uses `a: b`-style syntax,
48
- # `:old` if it uses `:a b`-style syntax
49
- def initialize(name, value, prop_syntax)
50
- @name = Sass::Util.strip_string_array(
51
- Sass::Util.merge_adjacent_strings(name))
52
- @value = value
53
- @tabs = 0
54
- @prop_syntax = prop_syntax
55
- super()
56
- end
57
-
58
- # Compares the names and values of two properties.
59
- #
60
- # @param other [Object] The object to compare with
61
- # @return [Boolean] Whether or not this node and the other object
62
- # are the same
63
- def ==(other)
64
- self.class == other.class && name == other.name && value == other.value && super
65
- end
66
-
67
- # Returns a appropriate message indicating how to escape pseudo-class selectors.
68
- # This only applies for old-style properties with no value,
69
- # so returns the empty string if this is new-style.
70
- #
71
- # @return [String] The message
72
- def pseudo_class_selector_message
73
- return "" if @prop_syntax == :new || !value.is_a?(Sass::Script::String) || !value.value.empty?
74
- "\nIf #{declaration.dump} should be a selector, use \"\\#{declaration}\" instead."
75
- end
76
-
77
- # Computes the Sass or SCSS code for the variable declaration.
78
- # This is like \{#to\_scss} or \{#to\_sass},
79
- # except it doesn't print any child properties or a trailing semicolon.
80
- #
81
- # @param opts [{Symbol => Object}] The options hash for the tree.
82
- # @param fmt [Symbol] `:scss` or `:sass`.
83
- def declaration(opts = {:old => @prop_syntax == :old}, fmt = :sass)
84
- name = self.name.map {|n| n.is_a?(String) ? n : "\#{#{n.to_sass(opts)}}"}.join
85
- if name[0] == ?:
86
- raise Sass::SyntaxError.new("The \"#{name}: #{self.class.val_to_sass(value, opts)}\" hack is not allowed in the Sass indented syntax")
87
- end
88
-
89
- old = opts[:old] && fmt == :sass
90
- initial = old ? ':' : ''
91
- mid = old ? '' : ':'
92
- "#{initial}#{name}#{mid} #{self.class.val_to_sass(value, opts)}".rstrip
93
- end
94
-
95
- private
96
-
97
- def check!
98
- if @options[:property_syntax] && @options[:property_syntax] != @prop_syntax
99
- raise Sass::SyntaxError.new(
100
- "Illegal property syntax: can't use #{@prop_syntax} syntax when :property_syntax => #{@options[:property_syntax].inspect} is set.")
101
- elsif resolved_value.empty?
102
- raise Sass::SyntaxError.new("Invalid property: #{declaration.dump} (no value)." +
103
- pseudo_class_selector_message)
104
- end
105
- end
106
-
107
- class << self
108
- # @private
109
- def val_to_sass(value, opts)
110
- val_to_sass_comma(value, opts).to_sass(opts)
111
- end
112
-
113
- private
114
-
115
- def val_to_sass_comma(node, opts)
116
- return node unless node.is_a?(Sass::Script::Operation)
117
- return val_to_sass_concat(node, opts) unless node.operator == :comma
118
-
119
- Sass::Script::Operation.new(
120
- val_to_sass_concat(node.operand1, opts),
121
- val_to_sass_comma(node.operand2, opts),
122
- node.operator)
123
- end
124
-
125
- def val_to_sass_concat(node, opts)
126
- return node unless node.is_a?(Sass::Script::Operation)
127
- return val_to_sass_div(node, opts) unless node.operator == :space
128
-
129
- Sass::Script::Operation.new(
130
- val_to_sass_div(node.operand1, opts),
131
- val_to_sass_concat(node.operand2, opts),
132
- node.operator)
133
- end
134
-
135
- def val_to_sass_div(node, opts)
136
- unless node.is_a?(Sass::Script::Operation) && node.operator == :div &&
137
- node.operand1.is_a?(Sass::Script::Number) &&
138
- node.operand2.is_a?(Sass::Script::Number) &&
139
- (!node.operand1.original || !node.operand2.original)
140
- return node
141
- end
142
-
143
- Sass::Script::String.new("(#{node.to_sass(opts)})")
144
- end
145
-
146
- end
147
- end
148
- end