Sha256: 0a3ebb2dce7cfb59ffa0c40cffacf1fb1136176b29c078a867a64ed2cf94d42b
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module SlimLint # Temple engine used to generate a {Sexp} parse tree for use by linters. # # We omit a lot of the filters that are in {Slim::Engine} because they result # in information potentially being removed from the parse tree (since some # Sexp abstractions are optimized/removed or otherwise transformed). In order # for linters to be useful, they need to operate on the original parse tree. # # The other key task this engine accomplishes is converting the Array-based # S-expressions into {SlimLint::Sexp} objects, which have a number of helper # methods that makes working with them easier. It also annotates these # {SlimLint::Sexp} objects with line numbers so it's easy to cross reference # with the original source code. class Engine < Temple::Engine filter :Encoding filter :RemoveBOM # Parse into S-expression using Slim parser use Slim::Parser # Converts Array-based S-expressions into SlimLint::Sexp objects use SlimLint::Filters::SexpConverter # Annotates Sexps with line numbers use SlimLint::Filters::InjectLineNumbers end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
slim_lint-0.2.0 | lib/slim_lint/engine.rb |
slim_lint-0.1.0 | lib/slim_lint/engine.rb |