spacecheck
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:1k
源码类别:

Ajax

开发平台:

Others

  1. #!/usr/bin/env ruby
  2. require 'fileutils'
  3. def filelint(filename, fix = false)
  4.   newfile = ''
  5.   File.open(filename) do |file|
  6.     file.readlines.each_with_index do |line, lineno|
  7.       # do some checking so we can print warnings
  8.       if line =~ /[ t]$/
  9.         puts "#{filename}:#{lineno+1} Trailing whitespace"
  10.       end
  11.       if line =~ /rn?$/
  12.         puts "#{filename}:#{lineno+1} Incorrect line ending"
  13.       elsif line[-1] != ?n
  14.         puts "#{filename}:#{lineno+1} No trailing newline"
  15.       end
  16.       # now just rstrip the line and shove it in the array
  17.       # this will strip trailing whitespace and normalize line endings for us
  18.       # the above stuff is simply so you know when you screwed up
  19.       newfile << line.rstrip << "n"
  20.     end
  21.   end
  22.   if fix && File.read(filename) != newfile
  23.     newname = ".#{filename}.new"
  24.     File::unlink("#{filename}~") rescue nil
  25.     File.open(newname,'w') { |f| f.write(newfile) }
  26.     stat = File.stat(filename)
  27.     File.chmod(stat.mode, newname)
  28.     FileUtils.ln filename, "#{filename}~"
  29.     FileUtils.ln newname, filename, :force => true
  30.     File::unlink(newname)
  31.   end
  32. end
  33. ARGV.each do |f|
  34.   filelint(f,true)
  35. end