我有这个linter规则,验证每个变量都使用!default
:
module SCSSLint
# Reports the use of !default in properties.
class Linter::DefaultRule < Linter
include LinterRegistry
def visit_variable(node)
return if source_from_range(node.source_range).include?('!default')
add_lint(node, '!default should be used')
end
end
end
我希望它只检查全局变量,而不是function
或mixin
中的变量。
如何让它忽略非全局范围的变量?
答案 0 :(得分:0)
这是一个可行的解决方案:
module SCSSLint
# Reports the use of !default at the end of variable declarations.
class Linter::DefaultRule < Linter
include LinterRegistry
def visit_function(node)
return true
end
def visit_variable(node)
return if source_from_range(node.source_range).include?('!default')
return unless node_ancestor(node, 2).nil?
add_lint(node, '!default should be used')
end
end
end