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}"