radiant 1.0.0.rc1 → 1.0.0.rc2

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

Potentially problematic release.


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

Files changed (623) hide show
  1. data/app/controllers/admin/resource_controller.rb +1 -0
  2. data/app/controllers/application_controller.rb +1 -1
  3. data/app/models/deprecated_tags.rb +5 -48
  4. data/app/models/user_action_observer.rb +8 -2
  5. data/app/views/layouts/application.html.haml +1 -1
  6. data/config/boot.rb +2 -2
  7. data/config/environment.rb +5 -3
  8. data/config/initializers/compass.rb +5 -0
  9. data/config/locales/en.yml +2 -2
  10. data/features/step_definitions/admin/pages_management_steps.rb +6 -1
  11. data/features/support/paths.rb +13 -0
  12. data/lib/generators/extension/templates/cucumber_env.rb +5 -1
  13. data/lib/generators/extension/templates/cucumber_paths.rb +20 -12
  14. data/lib/generators/extension/templates/gemspec.rb +10 -5
  15. data/lib/generators/instance/templates/instance_environment.rb +4 -2
  16. data/lib/radiant.rb +1 -1
  17. data/lib/radiant/gem_dependency_fix.rb +1 -1
  18. data/lib/radiant/taggable.rb +42 -3
  19. data/lib/tasks/framework.rake +6 -6
  20. data/{vendor/plugins/haml/test/sass/results/warn.css → log/.keep} +0 -0
  21. data/radiant.gemspec +3 -2
  22. data/script/console +2 -2
  23. data/spec/controllers/admin/pages_controller_spec.rb +1 -1
  24. data/spec/lib/radiant/taggable_spec.rb +53 -0
  25. data/vendor/extensions/archive/Rakefile +3 -3
  26. data/vendor/extensions/archive/features/support/env.rb +5 -1
  27. data/vendor/extensions/archive/features/support/paths.rb +20 -12
  28. data/vendor/extensions/archive/radiant-archive-extension.gemspec +10 -5
  29. data/vendor/extensions/archive/tmp/cache/meta/0e/da69d02186242cdfda62e46044566f2bc50f3a +0 -0
  30. data/vendor/extensions/{assets → clipped}/LICENSE +0 -0
  31. data/vendor/extensions/{assets → clipped}/README.md +21 -21
  32. data/vendor/extensions/{assets → clipped}/Rakefile +29 -31
  33. data/vendor/extensions/{assets → clipped}/app/controllers/admin/assets_controller.rb +16 -11
  34. data/vendor/extensions/clipped/app/controllers/admin/page_attachments_controller.rb +18 -0
  35. data/vendor/extensions/clipped/app/helpers/admin/assets_helper.rb +16 -0
  36. data/vendor/extensions/{assets → clipped}/app/models/asset.rb +12 -9
  37. data/vendor/extensions/{assets → clipped}/app/models/asset_tags.rb +36 -53
  38. data/vendor/extensions/{assets → clipped}/app/models/asset_type.rb +1 -7
  39. data/vendor/extensions/{assets → clipped}/app/models/old_page_attachment.rb +0 -0
  40. data/vendor/extensions/clipped/app/models/page_attachment.rb +21 -0
  41. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/_asset.html.haml +2 -2
  42. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/_asset_table.html.haml +4 -4
  43. data/vendor/extensions/clipped/app/views/admin/assets/_errors.html.haml +3 -0
  44. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/_form.html.haml +2 -2
  45. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/_page_assets.html.haml +1 -1
  46. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/_search.html.haml +0 -0
  47. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/_search_results.html.haml +1 -1
  48. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/edit.html.haml +7 -8
  49. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/index.html.haml +3 -2
  50. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/new.html.haml +2 -2
  51. data/vendor/extensions/clipped/app/views/admin/assets/refresh.html.haml +14 -0
  52. data/vendor/extensions/{assets → clipped}/app/views/admin/assets/remove.html.haml +3 -3
  53. data/vendor/extensions/{assets → clipped}/app/views/admin/configuration/_edit.html.haml +1 -1
  54. data/vendor/extensions/{assets → clipped}/app/views/admin/configuration/_show.html.haml +1 -1
  55. data/vendor/extensions/clipped/app/views/admin/page_attachments/_attachment.html.haml +25 -0
  56. data/vendor/extensions/{assets → clipped}/app/views/admin/page_parts/_page_part.html.haml +3 -2
  57. data/vendor/extensions/{assets → clipped}/app/views/admin/pages/_asset_popups.html.haml +7 -7
  58. data/vendor/extensions/clipped/app/views/admin/pages/_assets.html.haml +11 -0
  59. data/vendor/extensions/{assets → clipped}/app/views/admin/removed/_assets_bucket.html.haml +1 -1
  60. data/vendor/extensions/{assets → clipped}/app/views/admin/removed/_assets_container.html.haml +9 -9
  61. data/vendor/extensions/{assets → clipped}/app/views/admin/removed/_bucket.html.haml +1 -1
  62. data/vendor/extensions/{assets → clipped}/app/views/admin/removed/_bucket_asset.html.haml +2 -2
  63. data/vendor/extensions/clipped/app/views/admin/removed/_show_bucket_link.html.haml +4 -0
  64. data/vendor/extensions/{assets → clipped}/app/views/admin/removed/_upload_to_page.html.haml +2 -2
  65. data/vendor/extensions/{assets → clipped}/app/views/admin/removed/bucket/_iframe.html.haml +0 -0
  66. data/vendor/extensions/{assets → clipped}/artwork/icons.png +0 -0
  67. data/vendor/extensions/{assets/assets_extension.rb → clipped/clipped_extension.rb} +10 -10
  68. data/vendor/extensions/{assets → clipped}/config/initializers/interpolation.rb +0 -0
  69. data/vendor/extensions/clipped/config/initializers/processors.rb +12 -0
  70. data/vendor/extensions/{assets → clipped}/config/initializers/radiant_config.rb +5 -4
  71. data/vendor/extensions/{assets → clipped}/config/locales/en.yml +6 -3
  72. data/vendor/extensions/{assets → clipped}/config/locales/nl.yml +1 -1
  73. data/vendor/extensions/{assets → clipped}/config/routes.rb +2 -2
  74. data/vendor/extensions/clipped/cucumber.yml +1 -0
  75. data/vendor/extensions/{assets → clipped}/db/migrate/001_create_assets.rb +0 -0
  76. data/vendor/extensions/{assets → clipped}/db/migrate/002_create_paperclip_attributes.rb +0 -0
  77. data/vendor/extensions/{assets → clipped}/db/migrate/003_create_user_observer.rb +0 -0
  78. data/vendor/extensions/{assets → clipped}/db/migrate/004_create_page_attachments.rb +0 -0
  79. data/vendor/extensions/{assets → clipped}/db/migrate/005_rename_users.rb +0 -0
  80. data/vendor/extensions/{assets → clipped}/db/migrate/20090316132151_disable_file_types.rb +0 -0
  81. data/vendor/extensions/{assets → clipped}/db/migrate/20110513205050_asset_uuid.rb +0 -0
  82. data/vendor/extensions/clipped/features/support/env.rb +11 -0
  83. data/vendor/extensions/clipped/features/support/paths.rb +22 -0
  84. data/vendor/extensions/{assets/lib/assets_admin_ui.rb → clipped/lib/clipped_admin_ui.rb} +1 -1
  85. data/vendor/extensions/{assets → clipped}/lib/page_asset_associations.rb +1 -1
  86. data/vendor/extensions/{assets → clipped}/lib/paperclip/frame_grab.rb +0 -0
  87. data/vendor/extensions/clipped/lib/radiant-clipped-extension.rb +2 -0
  88. data/vendor/extensions/clipped/lib/radiant-clipped-extension/version.rb +3 -0
  89. data/vendor/extensions/{assets/lib/tasks/assets_extension_tasks.rake → clipped/lib/tasks/clipped_extension_tasks.rake} +22 -16
  90. data/vendor/extensions/{assets → clipped}/lib/tasks/paperclip_tasks.rake +0 -0
  91. data/{public → vendor/extensions/clipped/public}/flash/ZeroClipboard.swf +0 -0
  92. data/{public → vendor/extensions/clipped/public}/images/admin/assets/add.png +0 -0
  93. data/{public → vendor/extensions/clipped/public}/images/admin/assets/archive_icon.png +0 -0
  94. data/{public → vendor/extensions/clipped/public}/images/admin/assets/audio_icon.png +0 -0
  95. data/{public → vendor/extensions/clipped/public}/images/admin/assets/audio_thumbnail.png +0 -0
  96. data/{public → vendor/extensions/clipped/public}/images/admin/assets/c_icon.png +0 -0
  97. data/{public → vendor/extensions/clipped/public}/images/admin/assets/copy.png +0 -0
  98. data/{public → vendor/extensions/clipped/public}/images/admin/assets/css_icon.png +0 -0
  99. data/{public → vendor/extensions/clipped/public}/images/admin/assets/database_icon.png +0 -0
  100. data/{public → vendor/extensions/clipped/public}/images/admin/assets/delete.png +0 -0
  101. data/{public → vendor/extensions/clipped/public}/images/admin/assets/document_icon.png +0 -0
  102. data/{public → vendor/extensions/clipped/public}/images/admin/assets/document_thumbnail.png +0 -0
  103. data/{public → vendor/extensions/clipped/public}/images/admin/assets/flash_icon.png +0 -0
  104. data/{public → vendor/extensions/clipped/public}/images/admin/assets/flash_thumbnail.png +0 -0
  105. data/{public → vendor/extensions/clipped/public}/images/admin/assets/font_icon.png +0 -0
  106. data/{public → vendor/extensions/clipped/public}/images/admin/assets/gzip_icon.png +0 -0
  107. data/{public → vendor/extensions/clipped/public}/images/admin/assets/html_icon.png +0 -0
  108. data/{public → vendor/extensions/clipped/public}/images/admin/assets/image_icon.png +0 -0
  109. data/{public → vendor/extensions/clipped/public}/images/admin/assets/image_thumbnail.png +0 -0
  110. data/{public → vendor/extensions/clipped/public}/images/admin/assets/java_icon.png +0 -0
  111. data/{public → vendor/extensions/clipped/public}/images/admin/assets/page_edit.png +0 -0
  112. data/{public → vendor/extensions/clipped/public}/images/admin/assets/perl_icon.png +0 -0
  113. data/{public → vendor/extensions/clipped/public}/images/admin/assets/php_icon.png +0 -0
  114. data/{public → vendor/extensions/clipped/public}/images/admin/assets/presentation_icon.png +0 -0
  115. data/{public → vendor/extensions/clipped/public}/images/admin/assets/python_icon.png +0 -0
  116. data/{public → vendor/extensions/clipped/public}/images/admin/assets/reorder_assets.png +0 -0
  117. data/{public → vendor/extensions/clipped/public}/images/admin/assets/ruby_icon.png +0 -0
  118. data/{public → vendor/extensions/clipped/public}/images/admin/assets/script_icon.png +0 -0
  119. data/{public → vendor/extensions/clipped/public}/images/admin/assets/spreadsheet_icon.png +0 -0
  120. data/{public → vendor/extensions/clipped/public}/images/admin/assets/tar_icon.png +0 -0
  121. data/{public → vendor/extensions/clipped/public}/images/admin/assets/unknown_icon.png +0 -0
  122. data/{public → vendor/extensions/clipped/public}/images/admin/assets/unknown_thumbnail.png +0 -0
  123. data/{public → vendor/extensions/clipped/public}/images/admin/assets/video_icon.png +0 -0
  124. data/{public → vendor/extensions/clipped/public}/images/admin/assets/video_thumbnail.png +0 -0
  125. data/{public → vendor/extensions/clipped/public}/images/admin/assets/xml_icon.png +0 -0
  126. data/{public → vendor/extensions/clipped/public}/images/admin/assets/zip_icon.png +0 -0
  127. data/vendor/extensions/{assets → clipped}/public/javascripts/admin/assets.js +66 -8
  128. data/vendor/extensions/{assets → clipped}/public/stylesheets/sass/admin/assets.sass +12 -6
  129. data/vendor/extensions/clipped/radiant-clipped-extension.gemspec +33 -0
  130. data/vendor/extensions/{assets → clipped}/spec/controllers/admin/assets_controller_spec.rb +0 -0
  131. data/vendor/extensions/clipped/spec/controllers/admin/page_attachments_controller_spec.rb +50 -0
  132. data/vendor/extensions/{assets → clipped}/spec/datasets/assets_dataset.rb +2 -1
  133. data/vendor/extensions/{assets/spec/lib/tag_deprecation_spec.rb → clipped/spec/lib/asset_tags_spec.rb} +3 -15
  134. data/vendor/extensions/{assets → clipped}/spec/models/asset_spec.rb +3 -2
  135. data/vendor/extensions/{assets → clipped}/spec/models/asset_type_spec.rb +0 -0
  136. data/vendor/extensions/{assets → clipped}/spec/spec.opts +0 -0
  137. data/vendor/extensions/{assets → clipped}/spec/spec_helper.rb +0 -0
  138. data/vendor/extensions/{assets → clipped}/wireframes/edit-page-assets-2.bmml +0 -0
  139. data/vendor/extensions/{assets → clipped}/wireframes/edit-page-assets-2.png +0 -0
  140. data/vendor/extensions/{assets → clipped}/wireframes/edit-page-assets-3.bmml +0 -0
  141. data/vendor/extensions/{assets → clipped}/wireframes/edit-page-assets-3.png +0 -0
  142. data/vendor/extensions/{assets → clipped}/wireframes/edit-page-assets.bmml +0 -0
  143. data/vendor/extensions/{assets → clipped}/wireframes/edit-page-assets.png +0 -0
  144. data/vendor/extensions/{assets → clipped}/wireframes/edit-page.bmml +0 -0
  145. data/vendor/extensions/{assets → clipped}/wireframes/edit-page.png +0 -0
  146. data/vendor/extensions/sheets/Rakefile +30 -18
  147. data/vendor/extensions/sheets/app/controllers/admin/sheet_resource_controller.rb +1 -1
  148. data/vendor/extensions/sheets/app/models/sheet.rb +4 -0
  149. data/vendor/extensions/sheets/app/views/admin/scripts/index.html.haml +9 -5
  150. data/vendor/extensions/sheets/app/views/admin/styles/index.html.haml +1 -1
  151. data/vendor/extensions/sheets/config/locales/en.yml +3 -1
  152. data/vendor/extensions/sheets/features/admin/managing_javascripts.feature +65 -0
  153. data/vendor/extensions/sheets/features/admin/managing_stylesheets.feature +65 -0
  154. data/vendor/extensions/sheets/features/support/env.rb +2 -7
  155. data/vendor/extensions/sheets/features/support/paths.rb +9 -12
  156. data/vendor/extensions/sheets/lib/radiant-sheets-extension/version.rb +1 -1
  157. data/vendor/extensions/sheets/radiant-sheets-extension.gemspec +9 -4
  158. data/vendor/extensions/sheets/spec/datasets/javascripts_dataset.rb +3 -1
  159. data/vendor/extensions/sheets/spec/datasets/stylesheets_dataset.rb +3 -1
  160. data/vendor/extensions/sheets/spec/lib/javascript_tags_spec.rb +4 -4
  161. data/vendor/extensions/sheets/spec/lib/stylesheet_tags_spec.rb +4 -4
  162. metadata +189 -599
  163. data/Gemfile +0 -3
  164. data/lib/generators/extension/templates/cucumber_datasets_loader.rb +0 -3
  165. data/public/assets/1/2375_1115822414591_1197894784_30347214_1109_n.jpg +0 -0
  166. data/public/assets/1/2375_1115822414591_1197894784_30347214_1109_n_icon.png +0 -0
  167. data/public/assets/1/2375_1115822414591_1197894784_30347214_1109_n_normal.jpg +0 -0
  168. data/public/assets/1/2375_1115822414591_1197894784_30347214_1109_n_thumbnail.png +0 -0
  169. data/public/images/roasters/banner.jpg +0 -0
  170. data/public/images/roasters/closelabel.gif +0 -0
  171. data/public/images/roasters/comment.png +0 -0
  172. data/public/images/roasters/gallery1.jpg +0 -0
  173. data/public/images/roasters/gallery2.jpg +0 -0
  174. data/public/images/roasters/gallery3.jpg +0 -0
  175. data/public/images/roasters/gallery4.jpg +0 -0
  176. data/public/images/roasters/gift.gif +0 -0
  177. data/public/images/roasters/green.gif +0 -0
  178. data/public/images/roasters/nav-background.gif +0 -0
  179. data/public/images/roasters/nav-divider.gif +0 -0
  180. data/public/images/roasters/nextlabel.gif +0 -0
  181. data/public/images/roasters/open.gif +0 -0
  182. data/public/images/roasters/preview-1.jpg +0 -0
  183. data/public/images/roasters/preview.jpg +0 -0
  184. data/public/images/roasters/prevlabel.gif +0 -0
  185. data/public/images/roasters/prize.gif +0 -0
  186. data/public/images/roasters/recycle.gif +0 -0
  187. data/public/images/roasters/rss.gif +0 -0
  188. data/public/images/roasters/thumb-grinder.jpg +0 -0
  189. data/public/images/roasters/thumb-grower.jpg +0 -0
  190. data/public/images/roasters/thumb-roaster.jpg +0 -0
  191. data/public/images/roasters/truck.gif +0 -0
  192. data/vendor/extensions/assets/HELP_admin.markdown +0 -69
  193. data/vendor/extensions/assets/VERSION +0 -1
  194. data/vendor/extensions/assets/app/controllers/admin/page_attachments_controller.rb +0 -45
  195. data/vendor/extensions/assets/app/helpers/admin/assets_helper.rb +0 -11
  196. data/vendor/extensions/assets/app/models/page_attachment.rb +0 -14
  197. data/vendor/extensions/assets/app/views/admin/assets/_errors.html.haml +0 -3
  198. data/vendor/extensions/assets/app/views/admin/page_attachments/_attachment.html.haml +0 -22
  199. data/vendor/extensions/assets/app/views/admin/page_attachments/_new_attachment.html.haml +0 -18
  200. data/vendor/extensions/assets/app/views/admin/pages/_assets.html.haml +0 -13
  201. data/vendor/extensions/assets/app/views/admin/removed/_show_bucket_link.html.haml +0 -4
  202. data/vendor/extensions/assets/lib/tag_deprecation.rb +0 -73
  203. data/vendor/extensions/assets/public/flash/ZeroClipboard.swf +0 -0
  204. data/vendor/extensions/assets/public/images/admin/assets/add.png +0 -0
  205. data/vendor/extensions/assets/public/images/admin/assets/archive_icon.png +0 -0
  206. data/vendor/extensions/assets/public/images/admin/assets/audio_icon.png +0 -0
  207. data/vendor/extensions/assets/public/images/admin/assets/audio_thumbnail.png +0 -0
  208. data/vendor/extensions/assets/public/images/admin/assets/c_icon.png +0 -0
  209. data/vendor/extensions/assets/public/images/admin/assets/copy.png +0 -0
  210. data/vendor/extensions/assets/public/images/admin/assets/css_icon.png +0 -0
  211. data/vendor/extensions/assets/public/images/admin/assets/database_icon.png +0 -0
  212. data/vendor/extensions/assets/public/images/admin/assets/delete.png +0 -0
  213. data/vendor/extensions/assets/public/images/admin/assets/document_icon.png +0 -0
  214. data/vendor/extensions/assets/public/images/admin/assets/document_thumbnail.png +0 -0
  215. data/vendor/extensions/assets/public/images/admin/assets/flash_icon.png +0 -0
  216. data/vendor/extensions/assets/public/images/admin/assets/flash_thumbnail.png +0 -0
  217. data/vendor/extensions/assets/public/images/admin/assets/font_icon.png +0 -0
  218. data/vendor/extensions/assets/public/images/admin/assets/gzip_icon.png +0 -0
  219. data/vendor/extensions/assets/public/images/admin/assets/html_icon.png +0 -0
  220. data/vendor/extensions/assets/public/images/admin/assets/image_icon.png +0 -0
  221. data/vendor/extensions/assets/public/images/admin/assets/image_thumbnail.png +0 -0
  222. data/vendor/extensions/assets/public/images/admin/assets/java_icon.png +0 -0
  223. data/vendor/extensions/assets/public/images/admin/assets/page_edit.png +0 -0
  224. data/vendor/extensions/assets/public/images/admin/assets/perl_icon.png +0 -0
  225. data/vendor/extensions/assets/public/images/admin/assets/php_icon.png +0 -0
  226. data/vendor/extensions/assets/public/images/admin/assets/presentation_icon.png +0 -0
  227. data/vendor/extensions/assets/public/images/admin/assets/python_icon.png +0 -0
  228. data/vendor/extensions/assets/public/images/admin/assets/reorder_assets.png +0 -0
  229. data/vendor/extensions/assets/public/images/admin/assets/ruby_icon.png +0 -0
  230. data/vendor/extensions/assets/public/images/admin/assets/script_icon.png +0 -0
  231. data/vendor/extensions/assets/public/images/admin/assets/spreadsheet_icon.png +0 -0
  232. data/vendor/extensions/assets/public/images/admin/assets/tar_icon.png +0 -0
  233. data/vendor/extensions/assets/public/images/admin/assets/unknown_icon.png +0 -0
  234. data/vendor/extensions/assets/public/images/admin/assets/unknown_thumbnail.png +0 -0
  235. data/vendor/extensions/assets/public/images/admin/assets/video_icon.png +0 -0
  236. data/vendor/extensions/assets/public/images/admin/assets/video_thumbnail.png +0 -0
  237. data/vendor/extensions/assets/public/images/admin/assets/xml_icon.png +0 -0
  238. data/vendor/extensions/assets/public/images/admin/assets/zip_icon.png +0 -0
  239. data/vendor/extensions/assets/spec/controllers/admin/page_attachment_controller_spec.rb +0 -51
  240. data/vendor/extensions/assets/spec/lib/asset_tags_spec.rb +0 -9
  241. data/vendor/plugins/haml/CONTRIBUTING +0 -4
  242. data/vendor/plugins/haml/MIT-LICENSE +0 -20
  243. data/vendor/plugins/haml/README.md +0 -298
  244. data/vendor/plugins/haml/Rakefile +0 -436
  245. data/vendor/plugins/haml/TODO +0 -53
  246. data/vendor/plugins/haml/VERSION +0 -1
  247. data/vendor/plugins/haml/VERSION_NAME +0 -1
  248. data/vendor/plugins/haml/bin/css2sass +0 -13
  249. data/vendor/plugins/haml/bin/haml +0 -9
  250. data/vendor/plugins/haml/bin/html2haml +0 -7
  251. data/vendor/plugins/haml/bin/sass +0 -8
  252. data/vendor/plugins/haml/bin/sass-convert +0 -7
  253. data/vendor/plugins/haml/doc-src/FAQ.md +0 -187
  254. data/vendor/plugins/haml/doc-src/HAML_CHANGELOG.md +0 -1091
  255. data/vendor/plugins/haml/doc-src/HAML_REFERENCE.md +0 -1344
  256. data/vendor/plugins/haml/doc-src/INDENTED_SYNTAX.md +0 -210
  257. data/vendor/plugins/haml/doc-src/SASS_CHANGELOG.md +0 -1914
  258. data/vendor/plugins/haml/doc-src/SASS_REFERENCE.md +0 -1680
  259. data/vendor/plugins/haml/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  260. data/vendor/plugins/haml/ext/extconf.rb +0 -10
  261. data/vendor/plugins/haml/extra/haml-mode.el +0 -753
  262. data/vendor/plugins/haml/extra/sass-mode.el +0 -207
  263. data/vendor/plugins/haml/extra/update_watch.rb +0 -13
  264. data/vendor/plugins/haml/haml.gemspec +0 -35
  265. data/vendor/plugins/haml/init.rb +0 -18
  266. data/vendor/plugins/haml/init.rbc +0 -404
  267. data/vendor/plugins/haml/lib/haml.rb +0 -44
  268. data/vendor/plugins/haml/lib/haml.rbc +0 -569
  269. data/vendor/plugins/haml/lib/haml/buffer.rb +0 -320
  270. data/vendor/plugins/haml/lib/haml/buffer.rbc +0 -4048
  271. data/vendor/plugins/haml/lib/haml/engine.rb +0 -308
  272. data/vendor/plugins/haml/lib/haml/engine.rbc +0 -3852
  273. data/vendor/plugins/haml/lib/haml/error.rb +0 -22
  274. data/vendor/plugins/haml/lib/haml/error.rbc +0 -339
  275. data/vendor/plugins/haml/lib/haml/exec.rb +0 -862
  276. data/vendor/plugins/haml/lib/haml/filters.rb +0 -371
  277. data/vendor/plugins/haml/lib/haml/filters.rbc +0 -5617
  278. data/vendor/plugins/haml/lib/haml/helpers.rb +0 -605
  279. data/vendor/plugins/haml/lib/haml/helpers.rbc +0 -7086
  280. data/vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rb +0 -57
  281. data/vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rbc +0 -522
  282. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +0 -244
  283. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rbc +0 -5515
  284. data/vendor/plugins/haml/lib/haml/helpers/xss_mods.rb +0 -165
  285. data/vendor/plugins/haml/lib/haml/html.rb +0 -428
  286. data/vendor/plugins/haml/lib/haml/html/erb.rb +0 -141
  287. data/vendor/plugins/haml/lib/haml/precompiler.rb +0 -1104
  288. data/vendor/plugins/haml/lib/haml/precompiler.rbc +0 -22247
  289. data/vendor/plugins/haml/lib/haml/railtie.rb +0 -21
  290. data/vendor/plugins/haml/lib/haml/railtie.rbc +0 -409
  291. data/vendor/plugins/haml/lib/haml/root.rb +0 -7
  292. data/vendor/plugins/haml/lib/haml/root.rbc +0 -160
  293. data/vendor/plugins/haml/lib/haml/shared.rb +0 -78
  294. data/vendor/plugins/haml/lib/haml/shared.rbc +0 -1137
  295. data/vendor/plugins/haml/lib/haml/template.rb +0 -97
  296. data/vendor/plugins/haml/lib/haml/template.rbc +0 -1838
  297. data/vendor/plugins/haml/lib/haml/template/options.rb +0 -16
  298. data/vendor/plugins/haml/lib/haml/template/options.rbc +0 -235
  299. data/vendor/plugins/haml/lib/haml/template/patch.rb +0 -58
  300. data/vendor/plugins/haml/lib/haml/template/plugin.rb +0 -122
  301. data/vendor/plugins/haml/lib/haml/template/plugin.rbc +0 -2720
  302. data/vendor/plugins/haml/lib/haml/util.rb +0 -809
  303. data/vendor/plugins/haml/lib/haml/util.rbc +0 -12059
  304. data/vendor/plugins/haml/lib/haml/util/subset_map.rb +0 -101
  305. data/vendor/plugins/haml/lib/haml/util/subset_map.rbc +0 -1316
  306. data/vendor/plugins/haml/lib/haml/version.rb +0 -102
  307. data/vendor/plugins/haml/lib/haml/version.rbc +0 -1671
  308. data/vendor/plugins/haml/lib/sass.rb +0 -29
  309. data/vendor/plugins/haml/lib/sass.rbc +0 -492
  310. data/vendor/plugins/haml/lib/sass/callbacks.rb +0 -52
  311. data/vendor/plugins/haml/lib/sass/callbacks.rbc +0 -388
  312. data/vendor/plugins/haml/lib/sass/css.rb +0 -294
  313. data/vendor/plugins/haml/lib/sass/engine.rb +0 -720
  314. data/vendor/plugins/haml/lib/sass/engine.rbc +0 -17020
  315. data/vendor/plugins/haml/lib/sass/environment.rb +0 -143
  316. data/vendor/plugins/haml/lib/sass/environment.rbc +0 -1751
  317. data/vendor/plugins/haml/lib/sass/error.rb +0 -198
  318. data/vendor/plugins/haml/lib/sass/error.rbc +0 -2801
  319. data/vendor/plugins/haml/lib/sass/files.rb +0 -160
  320. data/vendor/plugins/haml/lib/sass/files.rbc +0 -3118
  321. data/vendor/plugins/haml/lib/sass/less.rb +0 -382
  322. data/vendor/plugins/haml/lib/sass/plugin.rb +0 -276
  323. data/vendor/plugins/haml/lib/sass/plugin.rbc +0 -4356
  324. data/vendor/plugins/haml/lib/sass/plugin/configuration.rb +0 -221
  325. data/vendor/plugins/haml/lib/sass/plugin/configuration.rbc +0 -1343
  326. data/vendor/plugins/haml/lib/sass/plugin/generic.rb +0 -15
  327. data/vendor/plugins/haml/lib/sass/plugin/merb.rb +0 -37
  328. data/vendor/plugins/haml/lib/sass/plugin/rack.rb +0 -47
  329. data/vendor/plugins/haml/lib/sass/plugin/rack.rbc +0 -446
  330. data/vendor/plugins/haml/lib/sass/plugin/rails.rb +0 -32
  331. data/vendor/plugins/haml/lib/sass/plugin/rails.rbc +0 -879
  332. data/vendor/plugins/haml/lib/sass/plugin/staleness_checker.rb +0 -123
  333. data/vendor/plugins/haml/lib/sass/plugin/staleness_checker.rbc +0 -2019
  334. data/vendor/plugins/haml/lib/sass/repl.rb +0 -58
  335. data/vendor/plugins/haml/lib/sass/script.rb +0 -63
  336. data/vendor/plugins/haml/lib/sass/script.rbc +0 -1188
  337. data/vendor/plugins/haml/lib/sass/script/bool.rb +0 -18
  338. data/vendor/plugins/haml/lib/sass/script/bool.rbc +0 -366
  339. data/vendor/plugins/haml/lib/sass/script/color.rb +0 -491
  340. data/vendor/plugins/haml/lib/sass/script/color.rbc +0 -8148
  341. data/vendor/plugins/haml/lib/sass/script/css_lexer.rb +0 -29
  342. data/vendor/plugins/haml/lib/sass/script/css_lexer.rbc +0 -809
  343. data/vendor/plugins/haml/lib/sass/script/css_parser.rb +0 -31
  344. data/vendor/plugins/haml/lib/sass/script/css_parser.rbc +0 -628
  345. data/vendor/plugins/haml/lib/sass/script/funcall.rb +0 -77
  346. data/vendor/plugins/haml/lib/sass/script/funcall.rbc +0 -1805
  347. data/vendor/plugins/haml/lib/sass/script/functions.rb +0 -861
  348. data/vendor/plugins/haml/lib/sass/script/functions.rbc +0 -8418
  349. data/vendor/plugins/haml/lib/sass/script/interpolation.rb +0 -70
  350. data/vendor/plugins/haml/lib/sass/script/interpolation.rbc +0 -1225
  351. data/vendor/plugins/haml/lib/sass/script/lexer.rb +0 -337
  352. data/vendor/plugins/haml/lib/sass/script/lexer.rbc +0 -7231
  353. data/vendor/plugins/haml/lib/sass/script/literal.rb +0 -236
  354. data/vendor/plugins/haml/lib/sass/script/literal.rbc +0 -3365
  355. data/vendor/plugins/haml/lib/sass/script/node.rb +0 -112
  356. data/vendor/plugins/haml/lib/sass/script/node.rbc +0 -1418
  357. data/vendor/plugins/haml/lib/sass/script/number.rb +0 -423
  358. data/vendor/plugins/haml/lib/sass/script/number.rbc +0 -6024
  359. data/vendor/plugins/haml/lib/sass/script/operation.rb +0 -95
  360. data/vendor/plugins/haml/lib/sass/script/operation.rbc +0 -1856
  361. data/vendor/plugins/haml/lib/sass/script/parser.rb +0 -401
  362. data/vendor/plugins/haml/lib/sass/script/parser.rbc +0 -8418
  363. data/vendor/plugins/haml/lib/sass/script/string.rb +0 -67
  364. data/vendor/plugins/haml/lib/sass/script/string.rbc +0 -1357
  365. data/vendor/plugins/haml/lib/sass/script/string_interpolation.rb +0 -93
  366. data/vendor/plugins/haml/lib/sass/script/string_interpolation.rbc +0 -1643
  367. data/vendor/plugins/haml/lib/sass/script/unary_operation.rb +0 -57
  368. data/vendor/plugins/haml/lib/sass/script/unary_operation.rbc +0 -1144
  369. data/vendor/plugins/haml/lib/sass/script/variable.rb +0 -48
  370. data/vendor/plugins/haml/lib/sass/script/variable.rbc +0 -844
  371. data/vendor/plugins/haml/lib/sass/scss.rb +0 -17
  372. data/vendor/plugins/haml/lib/sass/scss.rbc +0 -242
  373. data/vendor/plugins/haml/lib/sass/scss/css_parser.rb +0 -46
  374. data/vendor/plugins/haml/lib/sass/scss/css_parser.rbc +0 -1106
  375. data/vendor/plugins/haml/lib/sass/scss/parser.rb +0 -846
  376. data/vendor/plugins/haml/lib/sass/scss/parser.rbc +0 -19348
  377. data/vendor/plugins/haml/lib/sass/scss/rx.rb +0 -126
  378. data/vendor/plugins/haml/lib/sass/scss/rx.rbc +0 -2849
  379. data/vendor/plugins/haml/lib/sass/scss/sass_parser.rb +0 -11
  380. data/vendor/plugins/haml/lib/sass/scss/sass_parser.rbc +0 -287
  381. data/vendor/plugins/haml/lib/sass/scss/script_lexer.rb +0 -15
  382. data/vendor/plugins/haml/lib/sass/scss/script_lexer.rbc +0 -439
  383. data/vendor/plugins/haml/lib/sass/scss/script_parser.rb +0 -25
  384. data/vendor/plugins/haml/lib/sass/scss/script_parser.rbc +0 -482
  385. data/vendor/plugins/haml/lib/sass/scss/static_parser.rb +0 -40
  386. data/vendor/plugins/haml/lib/sass/scss/static_parser.rbc +0 -971
  387. data/vendor/plugins/haml/lib/sass/selector.rb +0 -361
  388. data/vendor/plugins/haml/lib/sass/selector.rbc +0 -4193
  389. data/vendor/plugins/haml/lib/sass/selector/abstract_sequence.rb +0 -62
  390. data/vendor/plugins/haml/lib/sass/selector/abstract_sequence.rbc +0 -798
  391. data/vendor/plugins/haml/lib/sass/selector/comma_sequence.rb +0 -82
  392. data/vendor/plugins/haml/lib/sass/selector/comma_sequence.rbc +0 -1814
  393. data/vendor/plugins/haml/lib/sass/selector/sequence.rb +0 -237
  394. data/vendor/plugins/haml/lib/sass/selector/sequence.rbc +0 -4928
  395. data/vendor/plugins/haml/lib/sass/selector/simple.rb +0 -113
  396. data/vendor/plugins/haml/lib/sass/selector/simple.rbc +0 -1553
  397. data/vendor/plugins/haml/lib/sass/selector/simple_sequence.rb +0 -136
  398. data/vendor/plugins/haml/lib/sass/selector/simple_sequence.rbc +0 -2346
  399. data/vendor/plugins/haml/lib/sass/tree/charset_node.rb +0 -37
  400. data/vendor/plugins/haml/lib/sass/tree/charset_node.rbc +0 -606
  401. data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +0 -128
  402. data/vendor/plugins/haml/lib/sass/tree/comment_node.rbc +0 -2397
  403. data/vendor/plugins/haml/lib/sass/tree/debug_node.rb +0 -36
  404. data/vendor/plugins/haml/lib/sass/tree/debug_node.rbc +0 -740
  405. data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +0 -75
  406. data/vendor/plugins/haml/lib/sass/tree/directive_node.rbc +0 -1302
  407. data/vendor/plugins/haml/lib/sass/tree/extend_node.rb +0 -65
  408. data/vendor/plugins/haml/lib/sass/tree/extend_node.rbc +0 -1276
  409. data/vendor/plugins/haml/lib/sass/tree/for_node.rb +0 -67
  410. data/vendor/plugins/haml/lib/sass/tree/for_node.rbc +0 -1145
  411. data/vendor/plugins/haml/lib/sass/tree/if_node.rb +0 -81
  412. data/vendor/plugins/haml/lib/sass/tree/if_node.rbc +0 -1119
  413. data/vendor/plugins/haml/lib/sass/tree/import_node.rb +0 -102
  414. data/vendor/plugins/haml/lib/sass/tree/import_node.rbc +0 -2242
  415. data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rb +0 -60
  416. data/vendor/plugins/haml/lib/sass/tree/mixin_def_node.rbc +0 -1001
  417. data/vendor/plugins/haml/lib/sass/tree/mixin_node.rb +0 -123
  418. data/vendor/plugins/haml/lib/sass/tree/mixin_node.rbc +0 -3355
  419. data/vendor/plugins/haml/lib/sass/tree/node.rb +0 -465
  420. data/vendor/plugins/haml/lib/sass/tree/node.rbc +0 -5533
  421. data/vendor/plugins/haml/lib/sass/tree/prop_node.rb +0 -220
  422. data/vendor/plugins/haml/lib/sass/tree/prop_node.rbc +0 -3949
  423. data/vendor/plugins/haml/lib/sass/tree/root_node.rb +0 -157
  424. data/vendor/plugins/haml/lib/sass/tree/root_node.rbc +0 -3112
  425. data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +0 -273
  426. data/vendor/plugins/haml/lib/sass/tree/rule_node.rbc +0 -5636
  427. data/vendor/plugins/haml/lib/sass/tree/variable_node.rb +0 -39
  428. data/vendor/plugins/haml/lib/sass/tree/variable_node.rbc +0 -845
  429. data/vendor/plugins/haml/lib/sass/tree/warn_node.rb +0 -42
  430. data/vendor/plugins/haml/lib/sass/tree/warn_node.rbc +0 -1043
  431. data/vendor/plugins/haml/lib/sass/tree/while_node.rb +0 -48
  432. data/vendor/plugins/haml/lib/sass/tree/while_node.rbc +0 -722
  433. data/vendor/plugins/haml/rails/init.rb +0 -1
  434. data/vendor/plugins/haml/test/benchmark.rb +0 -99
  435. data/vendor/plugins/haml/test/haml/engine_test.rb +0 -1805
  436. data/vendor/plugins/haml/test/haml/erb/_av_partial_1.erb +0 -12
  437. data/vendor/plugins/haml/test/haml/erb/_av_partial_2.erb +0 -8
  438. data/vendor/plugins/haml/test/haml/erb/action_view.erb +0 -62
  439. data/vendor/plugins/haml/test/haml/erb/standard.erb +0 -54
  440. data/vendor/plugins/haml/test/haml/helper_test.rb +0 -450
  441. data/vendor/plugins/haml/test/haml/html2haml/erb_tests.rb +0 -426
  442. data/vendor/plugins/haml/test/haml/html2haml_test.rb +0 -336
  443. data/vendor/plugins/haml/test/haml/markaby/standard.mab +0 -52
  444. data/vendor/plugins/haml/test/haml/mocks/article.rb +0 -6
  445. data/vendor/plugins/haml/test/haml/results/content_for_layout.xhtml +0 -12
  446. data/vendor/plugins/haml/test/haml/results/eval_suppressed.xhtml +0 -9
  447. data/vendor/plugins/haml/test/haml/results/filters.xhtml +0 -62
  448. data/vendor/plugins/haml/test/haml/results/helpers.xhtml +0 -70
  449. data/vendor/plugins/haml/test/haml/results/helpful.xhtml +0 -10
  450. data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +0 -70
  451. data/vendor/plugins/haml/test/haml/results/list.xhtml +0 -12
  452. data/vendor/plugins/haml/test/haml/results/nuke_inner_whitespace.xhtml +0 -40
  453. data/vendor/plugins/haml/test/haml/results/nuke_outer_whitespace.xhtml +0 -148
  454. data/vendor/plugins/haml/test/haml/results/original_engine.xhtml +0 -20
  455. data/vendor/plugins/haml/test/haml/results/partial_layout.xhtml +0 -5
  456. data/vendor/plugins/haml/test/haml/results/partials.xhtml +0 -21
  457. data/vendor/plugins/haml/test/haml/results/render_layout.xhtml +0 -3
  458. data/vendor/plugins/haml/test/haml/results/silent_script.xhtml +0 -74
  459. data/vendor/plugins/haml/test/haml/results/standard.xhtml +0 -162
  460. data/vendor/plugins/haml/test/haml/results/tag_parsing.xhtml +0 -23
  461. data/vendor/plugins/haml/test/haml/results/very_basic.xhtml +0 -5
  462. data/vendor/plugins/haml/test/haml/results/whitespace_handling.xhtml +0 -89
  463. data/vendor/plugins/haml/test/haml/spec/LICENSE +0 -14
  464. data/vendor/plugins/haml/test/haml/spec/README.md +0 -106
  465. data/vendor/plugins/haml/test/haml/spec/lua_haml_spec.lua +0 -38
  466. data/vendor/plugins/haml/test/haml/spec/perl_haml_test.pl +0 -81
  467. data/vendor/plugins/haml/test/haml/spec/ruby_haml_test.rb +0 -19
  468. data/vendor/plugins/haml/test/haml/spec/tests.json +0 -603
  469. data/vendor/plugins/haml/test/haml/spec_test.rb +0 -44
  470. data/vendor/plugins/haml/test/haml/template_test.rb +0 -417
  471. data/vendor/plugins/haml/test/haml/templates/_av_partial_1.haml +0 -9
  472. data/vendor/plugins/haml/test/haml/templates/_av_partial_1_ugly.haml +0 -9
  473. data/vendor/plugins/haml/test/haml/templates/_av_partial_2.haml +0 -5
  474. data/vendor/plugins/haml/test/haml/templates/_av_partial_2_ugly.haml +0 -5
  475. data/vendor/plugins/haml/test/haml/templates/_layout.erb +0 -3
  476. data/vendor/plugins/haml/test/haml/templates/_layout_for_partial.haml +0 -3
  477. data/vendor/plugins/haml/test/haml/templates/_partial.haml +0 -8
  478. data/vendor/plugins/haml/test/haml/templates/_text_area.haml +0 -3
  479. data/vendor/plugins/haml/test/haml/templates/action_view.haml +0 -47
  480. data/vendor/plugins/haml/test/haml/templates/action_view_ugly.haml +0 -47
  481. data/vendor/plugins/haml/test/haml/templates/breakage.haml +0 -8
  482. data/vendor/plugins/haml/test/haml/templates/content_for_layout.haml +0 -8
  483. data/vendor/plugins/haml/test/haml/templates/eval_suppressed.haml +0 -11
  484. data/vendor/plugins/haml/test/haml/templates/filters.haml +0 -66
  485. data/vendor/plugins/haml/test/haml/templates/helpers.haml +0 -55
  486. data/vendor/plugins/haml/test/haml/templates/helpful.haml +0 -11
  487. data/vendor/plugins/haml/test/haml/templates/just_stuff.haml +0 -85
  488. data/vendor/plugins/haml/test/haml/templates/list.haml +0 -12
  489. data/vendor/plugins/haml/test/haml/templates/nuke_inner_whitespace.haml +0 -32
  490. data/vendor/plugins/haml/test/haml/templates/nuke_outer_whitespace.haml +0 -144
  491. data/vendor/plugins/haml/test/haml/templates/original_engine.haml +0 -17
  492. data/vendor/plugins/haml/test/haml/templates/partial_layout.haml +0 -7
  493. data/vendor/plugins/haml/test/haml/templates/partialize.haml +0 -1
  494. data/vendor/plugins/haml/test/haml/templates/partials.haml +0 -12
  495. data/vendor/plugins/haml/test/haml/templates/render_layout.haml +0 -2
  496. data/vendor/plugins/haml/test/haml/templates/silent_script.haml +0 -40
  497. data/vendor/plugins/haml/test/haml/templates/standard.haml +0 -42
  498. data/vendor/plugins/haml/test/haml/templates/standard_ugly.haml +0 -42
  499. data/vendor/plugins/haml/test/haml/templates/tag_parsing.haml +0 -21
  500. data/vendor/plugins/haml/test/haml/templates/very_basic.haml +0 -4
  501. data/vendor/plugins/haml/test/haml/templates/whitespace_handling.haml +0 -87
  502. data/vendor/plugins/haml/test/haml/util/subset_map_test.rb +0 -91
  503. data/vendor/plugins/haml/test/haml/util_test.rb +0 -268
  504. data/vendor/plugins/haml/test/linked_rails.rb +0 -42
  505. data/vendor/plugins/haml/test/sass/callbacks_test.rb +0 -61
  506. data/vendor/plugins/haml/test/sass/conversion_test.rb +0 -1218
  507. data/vendor/plugins/haml/test/sass/css2sass_test.rb +0 -364
  508. data/vendor/plugins/haml/test/sass/data/hsl-rgb.txt +0 -319
  509. data/vendor/plugins/haml/test/sass/engine_test.rb +0 -2263
  510. data/vendor/plugins/haml/test/sass/extend_test.rb +0 -1348
  511. data/vendor/plugins/haml/test/sass/functions_test.rb +0 -556
  512. data/vendor/plugins/haml/test/sass/less_conversion_test.rb +0 -653
  513. data/vendor/plugins/haml/test/sass/more_results/more1.css +0 -9
  514. data/vendor/plugins/haml/test/sass/more_results/more1_with_line_comments.css +0 -26
  515. data/vendor/plugins/haml/test/sass/more_results/more_import.css +0 -29
  516. data/vendor/plugins/haml/test/sass/more_templates/_more_partial.sass +0 -2
  517. data/vendor/plugins/haml/test/sass/more_templates/more1.sass +0 -23
  518. data/vendor/plugins/haml/test/sass/more_templates/more_import.sass +0 -11
  519. data/vendor/plugins/haml/test/sass/plugin_test.rb +0 -433
  520. data/vendor/plugins/haml/test/sass/results/alt.css +0 -4
  521. data/vendor/plugins/haml/test/sass/results/basic.css +0 -9
  522. data/vendor/plugins/haml/test/sass/results/compact.css +0 -5
  523. data/vendor/plugins/haml/test/sass/results/complex.css +0 -86
  524. data/vendor/plugins/haml/test/sass/results/compressed.css +0 -1
  525. data/vendor/plugins/haml/test/sass/results/expanded.css +0 -19
  526. data/vendor/plugins/haml/test/sass/results/import.css +0 -31
  527. data/vendor/plugins/haml/test/sass/results/import_charset.css +0 -4
  528. data/vendor/plugins/haml/test/sass/results/import_charset_1_8.css +0 -4
  529. data/vendor/plugins/haml/test/sass/results/import_charset_ibm866.css +0 -4
  530. data/vendor/plugins/haml/test/sass/results/line_numbers.css +0 -49
  531. data/vendor/plugins/haml/test/sass/results/mixins.css +0 -95
  532. data/vendor/plugins/haml/test/sass/results/multiline.css +0 -24
  533. data/vendor/plugins/haml/test/sass/results/nested.css +0 -22
  534. data/vendor/plugins/haml/test/sass/results/options.css +0 -1
  535. data/vendor/plugins/haml/test/sass/results/parent_ref.css +0 -13
  536. data/vendor/plugins/haml/test/sass/results/script.css +0 -16
  537. data/vendor/plugins/haml/test/sass/results/scss_import.css +0 -31
  538. data/vendor/plugins/haml/test/sass/results/scss_importee.css +0 -2
  539. data/vendor/plugins/haml/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  540. data/vendor/plugins/haml/test/sass/results/subdir/subdir.css +0 -3
  541. data/vendor/plugins/haml/test/sass/results/units.css +0 -11
  542. data/vendor/plugins/haml/test/sass/results/warn_imported.css +0 -0
  543. data/vendor/plugins/haml/test/sass/script_conversion_test.rb +0 -314
  544. data/vendor/plugins/haml/test/sass/script_test.rb +0 -470
  545. data/vendor/plugins/haml/test/sass/scss/css_test.rb +0 -916
  546. data/vendor/plugins/haml/test/sass/scss/rx_test.rb +0 -156
  547. data/vendor/plugins/haml/test/sass/scss/scss_test.rb +0 -1088
  548. data/vendor/plugins/haml/test/sass/scss/test_helper.rb +0 -37
  549. data/vendor/plugins/haml/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  550. data/vendor/plugins/haml/test/sass/templates/_imported_charset_utf8.sass +0 -4
  551. data/vendor/plugins/haml/test/sass/templates/_partial.sass +0 -2
  552. data/vendor/plugins/haml/test/sass/templates/alt.sass +0 -16
  553. data/vendor/plugins/haml/test/sass/templates/basic.sass +0 -23
  554. data/vendor/plugins/haml/test/sass/templates/bork1.sass +0 -2
  555. data/vendor/plugins/haml/test/sass/templates/bork2.sass +0 -2
  556. data/vendor/plugins/haml/test/sass/templates/bork3.sass +0 -2
  557. data/vendor/plugins/haml/test/sass/templates/bork4.sass +0 -2
  558. data/vendor/plugins/haml/test/sass/templates/compact.sass +0 -17
  559. data/vendor/plugins/haml/test/sass/templates/complex.sass +0 -305
  560. data/vendor/plugins/haml/test/sass/templates/compressed.sass +0 -15
  561. data/vendor/plugins/haml/test/sass/templates/expanded.sass +0 -17
  562. data/vendor/plugins/haml/test/sass/templates/import.sass +0 -12
  563. data/vendor/plugins/haml/test/sass/templates/import_charset.sass +0 -7
  564. data/vendor/plugins/haml/test/sass/templates/import_charset_1_8.sass +0 -4
  565. data/vendor/plugins/haml/test/sass/templates/import_charset_ibm866.sass +0 -9
  566. data/vendor/plugins/haml/test/sass/templates/importee.less +0 -2
  567. data/vendor/plugins/haml/test/sass/templates/importee.sass +0 -19
  568. data/vendor/plugins/haml/test/sass/templates/line_numbers.sass +0 -13
  569. data/vendor/plugins/haml/test/sass/templates/mixin_bork.sass +0 -5
  570. data/vendor/plugins/haml/test/sass/templates/mixins.sass +0 -76
  571. data/vendor/plugins/haml/test/sass/templates/multiline.sass +0 -20
  572. data/vendor/plugins/haml/test/sass/templates/nested.sass +0 -25
  573. data/vendor/plugins/haml/test/sass/templates/nested_bork1.sass +0 -2
  574. data/vendor/plugins/haml/test/sass/templates/nested_bork2.sass +0 -2
  575. data/vendor/plugins/haml/test/sass/templates/nested_bork3.sass +0 -2
  576. data/vendor/plugins/haml/test/sass/templates/nested_bork4.sass +0 -2
  577. data/vendor/plugins/haml/test/sass/templates/nested_mixin_bork.sass +0 -6
  578. data/vendor/plugins/haml/test/sass/templates/options.sass +0 -2
  579. data/vendor/plugins/haml/test/sass/templates/parent_ref.sass +0 -25
  580. data/vendor/plugins/haml/test/sass/templates/script.sass +0 -101
  581. data/vendor/plugins/haml/test/sass/templates/scss_import.scss +0 -11
  582. data/vendor/plugins/haml/test/sass/templates/scss_importee.scss +0 -1
  583. data/vendor/plugins/haml/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  584. data/vendor/plugins/haml/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  585. data/vendor/plugins/haml/test/sass/templates/subdir/subdir.sass +0 -6
  586. data/vendor/plugins/haml/test/sass/templates/units.sass +0 -11
  587. data/vendor/plugins/haml/test/sass/templates/warn.sass +0 -3
  588. data/vendor/plugins/haml/test/sass/templates/warn_imported.sass +0 -4
  589. data/vendor/plugins/haml/test/test_helper.rb +0 -98
  590. data/vendor/plugins/haml/vendor/fssm/LICENSE +0 -20
  591. data/vendor/plugins/haml/vendor/fssm/README.markdown +0 -55
  592. data/vendor/plugins/haml/vendor/fssm/Rakefile +0 -59
  593. data/vendor/plugins/haml/vendor/fssm/VERSION.yml +0 -5
  594. data/vendor/plugins/haml/vendor/fssm/example.rb +0 -9
  595. data/vendor/plugins/haml/vendor/fssm/fssm.gemspec +0 -77
  596. data/vendor/plugins/haml/vendor/fssm/lib/fssm.rb +0 -33
  597. data/vendor/plugins/haml/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
  598. data/vendor/plugins/haml/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
  599. data/vendor/plugins/haml/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
  600. data/vendor/plugins/haml/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
  601. data/vendor/plugins/haml/vendor/fssm/lib/fssm/monitor.rb +0 -26
  602. data/vendor/plugins/haml/vendor/fssm/lib/fssm/path.rb +0 -91
  603. data/vendor/plugins/haml/vendor/fssm/lib/fssm/pathname.rb +0 -502
  604. data/vendor/plugins/haml/vendor/fssm/lib/fssm/state/directory.rb +0 -57
  605. data/vendor/plugins/haml/vendor/fssm/lib/fssm/state/file.rb +0 -24
  606. data/vendor/plugins/haml/vendor/fssm/lib/fssm/support.rb +0 -63
  607. data/vendor/plugins/haml/vendor/fssm/lib/fssm/tree.rb +0 -176
  608. data/vendor/plugins/haml/vendor/fssm/profile/prof-cache.rb +0 -40
  609. data/vendor/plugins/haml/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
  610. data/vendor/plugins/haml/vendor/fssm/profile/prof-pathname.rb +0 -68
  611. data/vendor/plugins/haml/vendor/fssm/profile/prof-plain-pathname.html +0 -988
  612. data/vendor/plugins/haml/vendor/fssm/profile/prof.html +0 -2379
  613. data/vendor/plugins/haml/vendor/fssm/spec/path_spec.rb +0 -75
  614. data/vendor/plugins/haml/vendor/fssm/spec/root/duck/quack.txt +0 -0
  615. data/vendor/plugins/haml/vendor/fssm/spec/root/file.css +0 -0
  616. data/vendor/plugins/haml/vendor/fssm/spec/root/file.rb +0 -0
  617. data/vendor/plugins/haml/vendor/fssm/spec/root/file.yml +0 -0
  618. data/vendor/plugins/haml/vendor/fssm/spec/root/moo/cow.txt +0 -0
  619. data/vendor/plugins/haml/vendor/fssm/spec/spec_helper.rb +0 -14
  620. data/vendor/plugins/haml/yard/callbacks.rb +0 -29
  621. data/vendor/plugins/haml/yard/default/fulldoc/html/css/common.sass +0 -26
  622. data/vendor/plugins/haml/yard/default/layout/html/footer.erb +0 -12
  623. data/vendor/plugins/haml/yard/inherited_hash.rb +0 -41
@@ -1,720 +0,0 @@
1
- require 'strscan'
2
- require 'digest/sha1'
3
- require 'sass/tree/node'
4
- require 'sass/tree/root_node'
5
- require 'sass/tree/rule_node'
6
- require 'sass/tree/comment_node'
7
- require 'sass/tree/prop_node'
8
- require 'sass/tree/directive_node'
9
- require 'sass/tree/variable_node'
10
- require 'sass/tree/mixin_def_node'
11
- require 'sass/tree/mixin_node'
12
- require 'sass/tree/extend_node'
13
- require 'sass/tree/if_node'
14
- require 'sass/tree/while_node'
15
- require 'sass/tree/for_node'
16
- require 'sass/tree/debug_node'
17
- require 'sass/tree/warn_node'
18
- require 'sass/tree/import_node'
19
- require 'sass/tree/charset_node'
20
- require 'sass/selector'
21
- require 'sass/environment'
22
- require 'sass/script'
23
- require 'sass/scss'
24
- require 'sass/error'
25
- require 'sass/files'
26
- require 'haml/shared'
27
-
28
- module Sass
29
- # A Sass mixin.
30
- #
31
- # `name`: `String`
32
- # : The name of the mixin.
33
- #
34
- # `args`: `Array<(String, Script::Node)>`
35
- # : The arguments for the mixin.
36
- # Each element is a tuple containing the name of the argument
37
- # and the parse tree for the default value of the argument.
38
- #
39
- # `environment`: {Sass::Environment}
40
- # : The environment in which the mixin was defined.
41
- # This is captured so that the mixin can have access
42
- # to local variables defined in its scope.
43
- #
44
- # `tree`: {Sass::Tree::Node}
45
- # : The parse tree for the mixin.
46
- Mixin = Struct.new(:name, :args, :environment, :tree)
47
-
48
- # This class handles the parsing and compilation of the Sass template.
49
- # Example usage:
50
- #
51
- # template = File.load('stylesheets/sassy.sass')
52
- # sass_engine = Sass::Engine.new(template)
53
- # output = sass_engine.render
54
- # puts output
55
- class Engine
56
- include Haml::Util
57
-
58
- # A line of Sass code.
59
- #
60
- # `text`: `String`
61
- # : The text in the line, without any whitespace at the beginning or end.
62
- #
63
- # `tabs`: `Fixnum`
64
- # : The level of indentation of the line.
65
- #
66
- # `index`: `Fixnum`
67
- # : The line number in the original document.
68
- #
69
- # `offset`: `Fixnum`
70
- # : The number of bytes in on the line that the text begins.
71
- # This ends up being the number of bytes of leading whitespace.
72
- #
73
- # `filename`: `String`
74
- # : The name of the file in which this line appeared.
75
- #
76
- # `children`: `Array<Line>`
77
- # : The lines nested below this one.
78
- class Line < Struct.new(:text, :tabs, :index, :offset, :filename, :children)
79
- def comment?
80
- text[0] == COMMENT_CHAR && (text[1] == SASS_COMMENT_CHAR || text[1] == CSS_COMMENT_CHAR)
81
- end
82
- end
83
-
84
- # The character that begins a CSS property.
85
- PROPERTY_CHAR = ?:
86
-
87
- # The character that designates that
88
- # a property should be assigned to a SassScript expression.
89
- SCRIPT_CHAR = ?=
90
-
91
- # The character that designates the beginning of a comment,
92
- # either Sass or CSS.
93
- COMMENT_CHAR = ?/
94
-
95
- # The character that follows the general COMMENT_CHAR and designates a Sass comment,
96
- # which is not output as a CSS comment.
97
- SASS_COMMENT_CHAR = ?/
98
-
99
- # The character that follows the general COMMENT_CHAR and designates a CSS comment,
100
- # which is embedded in the CSS document.
101
- CSS_COMMENT_CHAR = ?*
102
-
103
- # The character used to denote a compiler directive.
104
- DIRECTIVE_CHAR = ?@
105
-
106
- # Designates a non-parsed rule.
107
- ESCAPE_CHAR = ?\\
108
-
109
- # Designates block as mixin definition rather than CSS rules to output
110
- MIXIN_DEFINITION_CHAR = ?=
111
-
112
- # Includes named mixin declared using MIXIN_DEFINITION_CHAR
113
- MIXIN_INCLUDE_CHAR = ?+
114
-
115
- # The regex that matches properties of the form `name: prop`.
116
- PROPERTY_NEW_MATCHER = /^[^\s:"\[]+\s*[=:](\s|$)/
117
-
118
- # The regex that matches and extracts data from
119
- # properties of the form `name: prop`.
120
- PROPERTY_NEW = /^([^\s=:"]+)\s*(=|:)(?:\s+|$)(.*)/
121
-
122
- # The regex that matches and extracts data from
123
- # properties of the form `:name prop`.
124
- PROPERTY_OLD = /^:([^\s=:"]+)\s*(=?)(?:\s+|$)(.*)/
125
-
126
- # The default options for Sass::Engine.
127
- # @api public
128
- DEFAULT_OPTIONS = {
129
- :style => :nested,
130
- :load_paths => ['.'],
131
- :cache => true,
132
- :cache_location => './.sass-cache',
133
- :syntax => :sass,
134
- }.freeze
135
-
136
- # @param template [String] The Sass template.
137
- # This template can be encoded using any encoding
138
- # that can be converted to Unicode.
139
- # If the template contains an `@charset` declaration,
140
- # that overrides the Ruby encoding
141
- # (see {file:SASS_REFERENCE.md#encodings the encoding documentation})
142
- # @param options [{Symbol => Object}] An options hash;
143
- # see {file:SASS_REFERENCE.md#sass_options the Sass options documentation}
144
- def initialize(template, options={})
145
- @options = DEFAULT_OPTIONS.merge(options.reject {|k, v| v.nil?})
146
- @template = template
147
-
148
- # Support both, because the docs said one and the other actually worked
149
- # for quite a long time.
150
- @options[:line_comments] ||= @options[:line_numbers]
151
-
152
- # Backwards compatibility
153
- @options[:property_syntax] ||= @options[:attribute_syntax]
154
- case @options[:property_syntax]
155
- when :alternate; @options[:property_syntax] = :new
156
- when :normal; @options[:property_syntax] = :old
157
- end
158
- end
159
-
160
- # Render the template to CSS.
161
- #
162
- # @return [String] The CSS
163
- # @raise [Sass::SyntaxError] if there's an error in the document
164
- # @raise [Encoding::UndefinedConversionError] if the source encoding
165
- # cannot be converted to UTF-8
166
- # @raise [ArgumentError] if the document uses an unknown encoding with `@charset`
167
- def render
168
- return _render unless @options[:quiet]
169
- Haml::Util.silence_haml_warnings {_render}
170
- end
171
- alias_method :to_css, :render
172
-
173
- # Parses the document into its parse tree.
174
- #
175
- # @return [Sass::Tree::Node] The root of the parse tree.
176
- # @raise [Sass::SyntaxError] if there's an error in the document
177
- def to_tree
178
- return _to_tree unless @options[:quiet]
179
- Haml::Util.silence_haml_warnings {_to_tree}
180
- end
181
-
182
- # Returns the original encoding of the document,
183
- # or `nil` under Ruby 1.8.
184
- #
185
- # @return [Encoding, nil]
186
- # @raise [Encoding::UndefinedConversionError] if the source encoding
187
- # cannot be converted to UTF-8
188
- # @raise [ArgumentError] if the document uses an unknown encoding with `@charset`
189
- def source_encoding
190
- check_encoding!
191
- @original_encoding
192
- end
193
-
194
- private
195
-
196
- def _render
197
- rendered = _to_tree.render
198
- return rendered if ruby1_8?
199
- begin
200
- # Try to convert the result to the original encoding,
201
- # but if that doesn't work fall back on UTF-8
202
- rendered = rendered.encode(source_encoding)
203
- rescue EncodingError
204
- end
205
- rendered.gsub(Regexp.new('\A@charset "(.*?)"'.encode(source_encoding)),
206
- "@charset \"#{source_encoding.name}\"".encode(source_encoding))
207
- end
208
-
209
- def _to_tree
210
- check_encoding!
211
-
212
- if @options[:syntax] == :scss
213
- root = Sass::SCSS::Parser.new(@template).parse
214
- else
215
- root = Tree::RootNode.new(@template)
216
- append_children(root, tree(tabulate(@template)).first, true)
217
- end
218
-
219
- root.options = @options
220
- root
221
- rescue SyntaxError => e
222
- e.modify_backtrace(:filename => @options[:filename], :line => @line)
223
- e.sass_template = @template
224
- raise e
225
- end
226
-
227
- def check_encoding!
228
- return if @checked_encoding
229
- @checked_encoding = true
230
- @template, @original_encoding = check_sass_encoding(@template) do |msg, line|
231
- raise Sass::SyntaxError.new(msg, :line => line)
232
- end
233
- end
234
-
235
- def tabulate(string)
236
- tab_str = nil
237
- comment_tab_str = nil
238
- first = true
239
- lines = []
240
- string.gsub(/\r|\n|\r\n|\r\n/, "\n").scan(/^.*?$/).each_with_index do |line, index|
241
- index += (@options[:line] || 1)
242
- if line.strip.empty?
243
- lines.last.text << "\n" if lines.last && lines.last.comment?
244
- next
245
- end
246
-
247
- line_tab_str = line[/^\s*/]
248
- unless line_tab_str.empty?
249
- if tab_str.nil?
250
- comment_tab_str ||= line_tab_str
251
- next if try_comment(line, lines.last, "", comment_tab_str, index)
252
- comment_tab_str = nil
253
- end
254
-
255
- tab_str ||= line_tab_str
256
-
257
- raise SyntaxError.new("Indenting at the beginning of the document is illegal.",
258
- :line => index) if first
259
-
260
- raise SyntaxError.new("Indentation can't use both tabs and spaces.",
261
- :line => index) if tab_str.include?(?\s) && tab_str.include?(?\t)
262
- end
263
- first &&= !tab_str.nil?
264
- if tab_str.nil?
265
- lines << Line.new(line.strip, 0, index, 0, @options[:filename], [])
266
- next
267
- end
268
-
269
- comment_tab_str ||= line_tab_str
270
- if try_comment(line, lines.last, tab_str * lines.last.tabs, comment_tab_str, index)
271
- next
272
- else
273
- comment_tab_str = nil
274
- end
275
-
276
- line_tabs = line_tab_str.scan(tab_str).size
277
- if tab_str * line_tabs != line_tab_str
278
- message = <<END.strip.gsub("\n", ' ')
279
- Inconsistent indentation: #{Haml::Shared.human_indentation line_tab_str, true} used for indentation,
280
- but the rest of the document was indented using #{Haml::Shared.human_indentation tab_str}.
281
- END
282
- raise SyntaxError.new(message, :line => index)
283
- end
284
-
285
- lines << Line.new(line.strip, line_tabs, index, tab_str.size, @options[:filename], [])
286
- end
287
- lines
288
- end
289
-
290
- def try_comment(line, last, tab_str, comment_tab_str, index)
291
- return unless last && last.comment?
292
- # Nested comment stuff must be at least one whitespace char deeper
293
- # than the normal indentation
294
- return unless line =~ /^#{tab_str}\s/
295
- unless line =~ /^(?:#{comment_tab_str})(.*)$/
296
- raise SyntaxError.new(<<MSG.strip.gsub("\n", " "), :line => index)
297
- Inconsistent indentation:
298
- previous line was indented by #{Haml::Shared.human_indentation comment_tab_str},
299
- but this line was indented by #{Haml::Shared.human_indentation line[/^\s*/]}.
300
- MSG
301
- end
302
-
303
- last.text << "\n" << $1
304
- true
305
- end
306
-
307
- def tree(arr, i = 0)
308
- return [], i if arr[i].nil?
309
-
310
- base = arr[i].tabs
311
- nodes = []
312
- while (line = arr[i]) && line.tabs >= base
313
- if line.tabs > base
314
- raise SyntaxError.new("The line was indented #{line.tabs - base} levels deeper than the previous line.",
315
- :line => line.index) if line.tabs > base + 1
316
-
317
- nodes.last.children, i = tree(arr, i)
318
- else
319
- nodes << line
320
- i += 1
321
- end
322
- end
323
- return nodes, i
324
- end
325
-
326
- def build_tree(parent, line, root = false)
327
- @line = line.index
328
- node_or_nodes = parse_line(parent, line, root)
329
-
330
- Array(node_or_nodes).each do |node|
331
- # Node is a symbol if it's non-outputting, like a variable assignment
332
- next unless node.is_a? Tree::Node
333
-
334
- node.line = line.index
335
- node.filename = line.filename
336
-
337
- append_children(node, line.children, false)
338
- end
339
-
340
- node_or_nodes
341
- end
342
-
343
- def append_children(parent, children, root)
344
- continued_rule = nil
345
- continued_comment = nil
346
- children.each do |line|
347
- child = build_tree(parent, line, root)
348
-
349
- if child.is_a?(Tree::RuleNode) && child.continued?
350
- raise SyntaxError.new("Rules can't end in commas.",
351
- :line => child.line) unless child.children.empty?
352
- if continued_rule
353
- continued_rule.add_rules child
354
- else
355
- continued_rule = child
356
- end
357
- next
358
- end
359
-
360
- if continued_rule
361
- raise SyntaxError.new("Rules can't end in commas.",
362
- :line => continued_rule.line) unless child.is_a?(Tree::RuleNode)
363
- continued_rule.add_rules child
364
- continued_rule.children = child.children
365
- continued_rule, child = nil, continued_rule
366
- end
367
-
368
- if child.is_a?(Tree::CommentNode) && child.silent
369
- if continued_comment &&
370
- child.line == continued_comment.line +
371
- continued_comment.value.count("\n") + 1
372
- continued_comment.value << "\n" << child.value
373
- next
374
- end
375
-
376
- continued_comment = child
377
- end
378
-
379
- check_for_no_children(child)
380
- validate_and_append_child(parent, child, line, root)
381
- end
382
-
383
- raise SyntaxError.new("Rules can't end in commas.",
384
- :line => continued_rule.line) if continued_rule
385
-
386
- parent
387
- end
388
-
389
- def validate_and_append_child(parent, child, line, root)
390
- case child
391
- when Array
392
- child.each {|c| validate_and_append_child(parent, c, line, root)}
393
- when Tree::Node
394
- parent << child
395
- end
396
- end
397
-
398
- def check_for_no_children(node)
399
- return unless node.is_a?(Tree::RuleNode) && node.children.empty?
400
- Haml::Util.haml_warn(<<WARNING.strip)
401
- WARNING on line #{node.line}#{" of #{node.filename}" if node.filename}:
402
- This selector doesn't have any properties and will not be rendered.
403
- WARNING
404
- end
405
-
406
- def parse_line(parent, line, root)
407
- case line.text[0]
408
- when PROPERTY_CHAR
409
- if line.text[1] == PROPERTY_CHAR ||
410
- (@options[:property_syntax] == :new &&
411
- line.text =~ PROPERTY_OLD && $3.empty?)
412
- # Support CSS3-style pseudo-elements,
413
- # which begin with ::,
414
- # as well as pseudo-classes
415
- # if we're using the new property syntax
416
- Tree::RuleNode.new(parse_interp(line.text))
417
- else
418
- name, eq, value = line.text.scan(PROPERTY_OLD)[0]
419
- raise SyntaxError.new("Invalid property: \"#{line.text}\".",
420
- :line => @line) if name.nil? || value.nil?
421
- parse_property(name, parse_interp(name), eq, value, :old, line)
422
- end
423
- when ?!, ?$
424
- parse_variable(line)
425
- when COMMENT_CHAR
426
- parse_comment(line.text)
427
- when DIRECTIVE_CHAR
428
- parse_directive(parent, line, root)
429
- when ESCAPE_CHAR
430
- Tree::RuleNode.new(parse_interp(line.text[1..-1]))
431
- when MIXIN_DEFINITION_CHAR
432
- parse_mixin_definition(line)
433
- when MIXIN_INCLUDE_CHAR
434
- if line.text[1].nil? || line.text[1] == ?\s
435
- Tree::RuleNode.new(parse_interp(line.text))
436
- else
437
- parse_mixin_include(line, root)
438
- end
439
- else
440
- parse_property_or_rule(line)
441
- end
442
- end
443
-
444
- def parse_property_or_rule(line)
445
- scanner = StringScanner.new(line.text)
446
- hack_char = scanner.scan(/[:\*\.]|\#(?!\{)/)
447
- parser = Sass::SCSS::SassParser.new(scanner, @line)
448
-
449
- unless res = parser.parse_interp_ident
450
- return Tree::RuleNode.new(parse_interp(line.text))
451
- end
452
- res.unshift(hack_char) if hack_char
453
- if comment = scanner.scan(Sass::SCSS::RX::COMMENT)
454
- res << comment
455
- end
456
-
457
- name = line.text[0...scanner.pos]
458
- if scanner.scan(/\s*([:=])(?:\s|$)/)
459
- parse_property(name, res, scanner[1], scanner.rest, :new, line)
460
- else
461
- res.pop if comment
462
- Tree::RuleNode.new(res + parse_interp(scanner.rest))
463
- end
464
- end
465
-
466
- def parse_property(name, parsed_name, eq, value, prop, line)
467
- if value.strip.empty?
468
- expr = Sass::Script::String.new("")
469
- else
470
- expr = parse_script(value, :offset => line.offset + line.text.index(value))
471
-
472
- if eq.strip[0] == SCRIPT_CHAR
473
- expr.context = :equals
474
- Script.equals_warning("properties", name,
475
- Sass::Tree::PropNode.val_to_sass(expr, @options), false,
476
- @line, line.offset + 1, @options[:filename])
477
- end
478
- end
479
- Tree::PropNode.new(parse_interp(name), expr, prop)
480
- end
481
-
482
- def parse_variable(line)
483
- name, op, value, default = line.text.scan(Script::MATCH)[0]
484
- guarded = op =~ /^\|\|/
485
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath variable declarations.",
486
- :line => @line + 1) unless line.children.empty?
487
- raise SyntaxError.new("Invalid variable: \"#{line.text}\".",
488
- :line => @line) unless name && value
489
- Script.var_warning(name, @line, line.offset + 1, @options[:filename]) if line.text[0] == ?!
490
-
491
- expr = parse_script(value, :offset => line.offset + line.text.index(value))
492
- if op =~ /=$/
493
- expr.context = :equals
494
- type = guarded ? "variable defaults" : "variables"
495
- Script.equals_warning(type, "$#{name}", expr.to_sass,
496
- guarded, @line, line.offset + 1, @options[:filename])
497
- end
498
-
499
- Tree::VariableNode.new(name, expr, default || guarded)
500
- end
501
-
502
- def parse_comment(line)
503
- if line[1] == CSS_COMMENT_CHAR || line[1] == SASS_COMMENT_CHAR
504
- silent = line[1] == SASS_COMMENT_CHAR
505
- Tree::CommentNode.new(
506
- format_comment_text(line[2..-1], silent),
507
- silent)
508
- else
509
- Tree::RuleNode.new(parse_interp(line))
510
- end
511
- end
512
-
513
- def parse_directive(parent, line, root)
514
- directive, whitespace, value = line.text[1..-1].split(/(\s+)/, 2)
515
- offset = directive.size + whitespace.size + 1 if whitespace
516
-
517
- # If value begins with url( or ",
518
- # it's a CSS @import rule and we don't want to touch it.
519
- if directive == "import"
520
- parse_import(line, value)
521
- elsif directive == "mixin"
522
- parse_mixin_definition(line)
523
- elsif directive == "include"
524
- parse_mixin_include(line, root)
525
- elsif directive == "for"
526
- parse_for(line, root, value)
527
- elsif directive == "else"
528
- parse_else(parent, line, value)
529
- elsif directive == "while"
530
- raise SyntaxError.new("Invalid while directive '@while': expected expression.") unless value
531
- Tree::WhileNode.new(parse_script(value, :offset => offset))
532
- elsif directive == "if"
533
- raise SyntaxError.new("Invalid if directive '@if': expected expression.") unless value
534
- Tree::IfNode.new(parse_script(value, :offset => offset))
535
- elsif directive == "debug"
536
- raise SyntaxError.new("Invalid debug directive '@debug': expected expression.") unless value
537
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath debug directives.",
538
- :line => @line + 1) unless line.children.empty?
539
- offset = line.offset + line.text.index(value).to_i
540
- Tree::DebugNode.new(parse_script(value, :offset => offset))
541
- elsif directive == "extend"
542
- raise SyntaxError.new("Invalid extend directive '@extend': expected expression.") unless value
543
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath extend directives.",
544
- :line => @line + 1) unless line.children.empty?
545
- offset = line.offset + line.text.index(value).to_i
546
- Tree::ExtendNode.new(parse_interp(value, offset))
547
- elsif directive == "warn"
548
- raise SyntaxError.new("Invalid warn directive '@warn': expected expression.") unless value
549
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath warn directives.",
550
- :line => @line + 1) unless line.children.empty?
551
- offset = line.offset + line.text.index(value).to_i
552
- Tree::WarnNode.new(parse_script(value, :offset => offset))
553
- elsif directive == "charset"
554
- name = value && value[/\A(["'])(.*)\1\Z/, 2] #"
555
- raise SyntaxError.new("Invalid charset directive '@charset': expected string.") unless name
556
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath charset directives.",
557
- :line => @line + 1) unless line.children.empty?
558
- Tree::CharsetNode.new(name)
559
- else
560
- Tree::DirectiveNode.new(line.text)
561
- end
562
- end
563
-
564
- def parse_for(line, root, text)
565
- var, from_expr, to_name, to_expr = text.scan(/^([^\s]+)\s+from\s+(.+)\s+(to|through)\s+(.+)$/).first
566
-
567
- if var.nil? # scan failed, try to figure out why for error message
568
- if text !~ /^[^\s]+/
569
- expected = "variable name"
570
- elsif text !~ /^[^\s]+\s+from\s+.+/
571
- expected = "'from <expr>'"
572
- else
573
- expected = "'to <expr>' or 'through <expr>'"
574
- end
575
- raise SyntaxError.new("Invalid for directive '@for #{text}': expected #{expected}.")
576
- end
577
- raise SyntaxError.new("Invalid variable \"#{var}\".") unless var =~ Script::VALIDATE
578
- if var.slice!(0) == ?!
579
- offset = line.offset + line.text.index("!" + var) + 1
580
- Script.var_warning(var, @line, offset, @options[:filename])
581
- end
582
-
583
- parsed_from = parse_script(from_expr, :offset => line.offset + line.text.index(from_expr))
584
- parsed_to = parse_script(to_expr, :offset => line.offset + line.text.index(to_expr))
585
- Tree::ForNode.new(var, parsed_from, parsed_to, to_name == 'to')
586
- end
587
-
588
- def parse_else(parent, line, text)
589
- previous = parent.children.last
590
- raise SyntaxError.new("@else must come after @if.") unless previous.is_a?(Tree::IfNode)
591
-
592
- if text
593
- if text !~ /^if\s+(.+)/
594
- raise SyntaxError.new("Invalid else directive '@else #{text}': expected 'if <expr>'.")
595
- end
596
- expr = parse_script($1, :offset => line.offset + line.text.index($1))
597
- end
598
-
599
- node = Tree::IfNode.new(expr)
600
- append_children(node, line.children, false)
601
- previous.add_else node
602
- nil
603
- end
604
-
605
- def parse_import(line, value)
606
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath import directives.",
607
- :line => @line + 1) unless line.children.empty?
608
-
609
- scanner = StringScanner.new(value)
610
- values = []
611
-
612
- loop do
613
- unless node = parse_import_arg(scanner)
614
- raise SyntaxError.new("Invalid @import: expected file to import, was #{scanner.rest.inspect}",
615
- :line => @line)
616
- end
617
- values << node
618
- break unless scanner.scan(/,\s*/)
619
- end
620
-
621
- return values
622
- end
623
-
624
- def parse_import_arg(scanner)
625
- return if scanner.eos?
626
- unless (str = scanner.scan(Sass::SCSS::RX::STRING)) ||
627
- (uri = scanner.scan(Sass::SCSS::RX::URI))
628
- return Tree::ImportNode.new(scanner.scan(/[^,]+/))
629
- end
630
-
631
- val = scanner[1] || scanner[2]
632
- scanner.scan(/\s*/)
633
- if media = scanner.scan(/[^,].*/)
634
- Tree::DirectiveNode.new("@import #{str || uri} #{media}")
635
- elsif uri
636
- Tree::DirectiveNode.new("@import #{uri}")
637
- elsif val =~ /^http:\/\//
638
- Tree::DirectiveNode.new("@import url(#{val})")
639
- else
640
- Tree::ImportNode.new(val)
641
- end
642
- end
643
-
644
- MIXIN_DEF_RE = /^(?:=|@mixin)\s*(#{Sass::SCSS::RX::IDENT})(.*)$/
645
- def parse_mixin_definition(line)
646
- name, arg_string = line.text.scan(MIXIN_DEF_RE).first
647
- raise SyntaxError.new("Invalid mixin \"#{line.text[1..-1]}\".") if name.nil?
648
-
649
- offset = line.offset + line.text.size - arg_string.size
650
- args = Script::Parser.new(arg_string.strip, @line, offset, @options).
651
- parse_mixin_definition_arglist
652
- default_arg_found = false
653
- Tree::MixinDefNode.new(name, args)
654
- end
655
-
656
- MIXIN_INCLUDE_RE = /^(?:\+|@include)\s*(#{Sass::SCSS::RX::IDENT})(.*)$/
657
- def parse_mixin_include(line, root)
658
- name, arg_string = line.text.scan(MIXIN_INCLUDE_RE).first
659
- raise SyntaxError.new("Invalid mixin include \"#{line.text}\".") if name.nil?
660
-
661
- offset = line.offset + line.text.size - arg_string.size
662
- args = Script::Parser.new(arg_string.strip, @line, offset, @options).
663
- parse_mixin_include_arglist
664
- raise SyntaxError.new("Illegal nesting: Nothing may be nested beneath mixin directives.",
665
- :line => @line + 1) unless line.children.empty?
666
- Tree::MixinNode.new(name, args)
667
- end
668
-
669
- def parse_script(script, options = {})
670
- line = options[:line] || @line
671
- offset = options[:offset] || 0
672
- Script.parse(script, line, offset, @options)
673
- end
674
-
675
- def format_comment_text(text, silent)
676
- content = text.split("\n")
677
-
678
- if content.first && content.first.strip.empty?
679
- removed_first = true
680
- content.shift
681
- end
682
-
683
- return silent ? "//" : "/* */" if content.empty?
684
- content.last.gsub!(%r{ ?\*/ *$}, '')
685
- content.map! {|l| l.gsub!(/^\*( ?)/, '\1') || (l.empty? ? "" : " ") + l}
686
- content.first.gsub!(/^ /, '') unless removed_first
687
- if silent
688
- "//" + content.join("\n//")
689
- else
690
- # The #gsub fixes the case of a trailing */
691
- "/*" + content.join("\n *").gsub(/ \*\Z/, '') + " */"
692
- end
693
- end
694
-
695
- def parse_interp(text, offset = 0)
696
- self.class.parse_interp(text, @line, offset, :filename => @filename)
697
- end
698
-
699
- # It's important that this have strings (at least)
700
- # at the beginning, the end, and between each Script::Node.
701
- #
702
- # @private
703
- def self.parse_interp(text, line, offset, options)
704
- res = []
705
- rest = Haml::Shared.handle_interpolation text do |scan|
706
- escapes = scan[2].size
707
- res << scan.matched[0...-2 - escapes]
708
- if escapes % 2 == 1
709
- res << "\\" * (escapes - 1) << '#{'
710
- else
711
- res << "\\" * [0, escapes - 1].max
712
- res << Script::Parser.new(
713
- scan, line, offset + scan.pos - scan.matched_size, options).
714
- parse_interpolated
715
- end
716
- end
717
- res << rest
718
- end
719
- end
720
- end