Sha256: f7893ac9515db512769b362ca4970a8d3aab8bcd60b0e0b392737165f7affde3

Contents?: true

Size: 1011 Bytes

Versions: 16

Compression:

Stored size: 1011 Bytes

Contents

module Redcar
  class Mirah
    class SyntaxChecker < Redcar::SyntaxCheck::Checker
      supported_grammars "Mirah"

      def check(*args)
        Mirah.load_dependencies
        check_warnings = Mirah.storage['check_for_warnings']
        path = manifest_path(doc)

        parser = MirahParser.new
        parser.filename = path

        handler = MyErrorHandler.new
        parser.errorHandler = handler

        begin
          parser.parse(IO.read(path))
        rescue
          m = $!.message
          error = m.split(" (").first
          if info = m.match(/line: ([0-9]+), char: ([0-9]+)\)/)
            SyntaxCheck::Error.new(doc, info[1].to_i-1, error).annotate
          end
        end

        if check_warnings
          handler.problems.each do |problem|
            if info = problem.match(/line: ([0-9]+), char: ([0-9]+)\)/)
              SyntaxCheck::Warning.new(doc, info[1].to_i-1, problem.split(" (").first).annotate
            end
          end
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 3 rubygems

Version Path
redcar-mirah-0.2 lib/mirah/syntax_checker.rb
redcar-mirah-0.1-java lib/mirah/syntax_checker.rb
redcar-dev-0.12.12dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.11dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.10dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.9dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.8dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.7dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.6dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.4dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.3dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.1dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-dev-0.12.0dev-java plugins/mirah/lib/mirah/syntax_checker.rb
redcar-0.11 plugins/mirah/lib/mirah/syntax_checker.rb
redcar-0.11.0dev plugins/mirah/lib/mirah/syntax_checker.rb
redcar-0.10 plugins/mirah/lib/mirah/syntax_checker.rb