CSSの静的解析ツールをなんか作れないかなー、ということで、SassにあるCSSのパーサーを使ったらいいんじゃね?ということで、書いてみました。
だいぶ遅いので、もっと効率的な方法あるんじゃないかなーと思いつつ、とりあえずメモ。
print_selector.rb
require 'sass/css'
require 'pp'
def print_selector(file)
css = ""
File.open(file) do |io|
css = io.read
end
css = Sass::CSS.new(css, {:filename => file})
css_tree = css.__send__(:build_tree)
css_tree.select {|n| n.is_a?(Sass::Tree::RuleNode) }.each do |rule|
pp rule.parsed_rules.members
end
end
print_selector(ARGV[0])