Sha256: 50fa1b44d9c2cda308bc4048526add0d9711dc82bb829a2c85c4eeecfd2dfda0
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
require 'sass' module SCSSLint class Linter::PropertyFormatLinter < Linter include LinterRegistry class << self def run(engine) lints = [] engine.tree.each do |node| if node.is_a?(Sass::Tree::PropNode) lints << check_property_format(node, engine.lines[node.line - 1]) if node.line end end lints.compact end def description 'Property declarations should always be on one line of the form ' << '`name: value;` or `name: [value] {` ' << '(are you missing a trailing semi-colon?)' end private VALUE_RE = %r{(\S+\s)*\S+} # eg. "10px", "10px normal" PROPERTY_RE = %r{ ^\s*[\w-]+:\s # property name, colon, one space ( # followed by #{VALUE_RE}; # property and terminating semi-colon eg. a b c; | # or ((#{VALUE_RE}\s)?\{) # nested property, optional value, trailing curly ) }x def check_property_format(prop_node, line) return create_lint(prop_node) unless line =~ PROPERTY_RE end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scss-lint-0.6 | lib/scss_lint/linter/property_format_linter.rb |