lib/review/preprocessor.rb in review-1.0.0 vs lib/review/preprocessor.rb in review-1.1.0

- old
+ new

@@ -86,11 +86,15 @@ @f.lineno end def gets while line = @f.gets - return line unless /\A\#@/ =~ line + if /\A\#@/ =~ line + return "\#@\#\n" + else + return line + end end nil end def each @@ -190,17 +194,17 @@ elsif @param["inencoding"] =~ /^UTF\-8$/i ine = "-W," end if @param["outencoding"] =~ /^EUC$/i - NKF.nkf("#{ine} -e", *s) + NKF.nkf("#{ine} -m0x -e", *s) elsif @param["outencoding"] =~ /^SJIS$/i - NKF.nkf("#{ine} -s", *s) + NKF.nkf("#{ine} -m0x -s", *s) elsif @param["outencoding"] =~ /^JIS$/i - NKF.nkf("#{ine} -j", *s) + NKF.nkf("#{ine} -m0x -j", *s) else - NKF.nkf("#{ine} -w", *s) + NKF.nkf("#{ine} -m0x -w", *s) end end def replace_block(f, directive_line, newlines, with_lineno) @f.print directive_line @@ -410,12 +414,13 @@ class Repository include TextUtils include ErrorUtils - def initialize + def initialize(param) @repository = {} + @param = param end def fetch_file(file) file_descripter(file)['file'] end @@ -530,10 +535,18 @@ repo end def canonical(line) - detab(line).rstrip + "\n" + tabwidth = 8 + if @param['tabwidth'] + tabwidth = @param['tabwidth'] + end + if tabwidth > 0 + detab(line, tabwidth).rstrip + "\n" + else + line + end end def check_type(type) unless Preprocessor::TYPES.index(type) error "wrong type: #{type.inspect}"