Sha256: 7debc9a39300e3284d4bce9eb6db061b0d16cf1abad7f6898374b6bf757e4930
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
module Redcar module SyntaxCheck class JavaScript < Checker supported_grammars "JavaScript", "JavaScript (Rails)", "jQuery (JavaScript)", "HTML" def jslint_path File.join(File.dirname(__FILE__),'..','..','vendor','jslint.js') end def rhino_path File.join(File.expand_path('../../../vendor/rhino1_7R3.jar', __FILE__)) end def main_method "org.mozilla.javascript.tools.shell.Main" end def check(*args) path = manifest_path(doc) name = File.basename(path) if t = JavaScript.thread and t.alive? if t[:doc] and t[:doc] == doc t.exit SyntaxCheck.remove_syntax_error_annotations(doc.edit_view) end end JavaScript.thread=Thread.new do SyntaxCheck.remove_syntax_error_annotations(doc.edit_view) Thread.current[:doc] = doc begin output = `java -cp #{rhino_path} #{main_method} #{jslint_path} #{path}` output.each_line do |line| if line =~ /Lint at line (\d+) character (\d+): (.*)/ SyntaxCheck::Error.new(doc, $1.to_i-1, $3).annotate sleep 1 end end rescue Object => e SyntaxCheck.message( "An error occurred while parsing #{name}: #{e.message}",:error) end end end private def self.thread=(thread) @thread=thread end def self.thread @thread end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
redcar-javascript-0.2 | lib/syntax_check/javascript.rb |
redcar-javascript-0.1-java | lib/syntax_check/javascript.rb |