Created
August 30, 2011 01:31
-
-
Save NARKOZ/1179915 to your computer and use it in GitHub Desktop.
Whitespaaaaaaaace! WHITESPAAAAAAAACE!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# requires BSD sed | |
namespace :whitespace do | |
desc 'Removes trailing whitespace' | |
task :cleanup do | |
sh %{for f in `find . -type f | grep -v .git | grep -v ./vendor | grep -v ./tmp | egrep ".(rb|js|haml|html|css|sass)"`; | |
do sed -i '' 's/ *$//g' "$f"; | |
done}, {:verbose => false} | |
puts "Task cleanup done" | |
end | |
desc 'Converts hard-tabs into two-space soft-tabs' | |
task :retab do | |
sh %{for f in `find . -type f | grep -v .git | grep -v ./vendor | grep -v ./tmp | egrep ".(rb|js|haml|html|css|sass)"`; | |
do sed -i '' 's/\t/ /g' "$f"; | |
done}, {:verbose => false} | |
puts "Task retab done" | |
end | |
desc 'Remove consecutive blank lines' | |
task :scrub_gratuitous_newlines do | |
sh %{for f in `find . -type f | grep -v .git | grep -v ./vendor | grep -v ./tmp | egrep ".(rb|js|haml|html|css|sass)"`; | |
do sed -i '' '/./,/^$/!d' "$f"; | |
done}, {:verbose => false} | |
puts "Task scrub_gratuitous_newlines done" | |
end | |
desc 'Execute all WHITESPACE tasks' | |
task :all do | |
Rake::Task['whitespace:cleanup'].execute | |
Rake::Task['whitespace:retab'].execute | |
Rake::Task['whitespace:scrub_gratuitous_newlines'].execute | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# requires GNU sed | |
namespace :whitespace do | |
desc 'Removes trailing whitespace' | |
task :cleanup do | |
sh %{for f in `find . -type f | grep -v .git | grep -v ./vendor | grep -v ./tmp | egrep ".(rb|js|haml|html|css|sass)"`; | |
do sed -i 's/[ \t]*$//' $f; | |
done}, {:verbose => false} | |
puts "Task cleanup done" | |
end | |
desc 'Converts hard-tabs into two-space soft-tabs' | |
task :retab do | |
sh %{for f in `find . -type f | grep -v .git | grep -v ./vendor | grep -v ./tmp | egrep ".(rb|js|haml|html|css|sass)"`; | |
do sed -i 's/\t/ /g' $f; | |
done}, {:verbose => false} | |
puts "Task retab done" | |
end | |
desc 'Remove consecutive blank lines' | |
task :scrub_gratuitous_newlines do | |
sh %{for f in `find . -type f | grep -v .git | grep -v ./vendor | grep -v ./tmp | egrep ".(rb|js|haml|html|css|sass)"`; | |
do sed -i '/./,/^$/!d' $f; | |
done}, {:verbose => false} | |
puts "Task scrub_gratuitous_newlines done" | |
end | |
desc 'Execute all WHITESPACE tasks' | |
task :all do | |
Rake::Task['whitespace:cleanup'].execute | |
Rake::Task['whitespace:retab'].execute | |
Rake::Task['whitespace:scrub_gratuitous_newlines'].execute | |
end | |
end |
Thanks mate. Saved my day!
I'm getting a lot of errors when I run $ rake whitespace:all task:
Like this:
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
sed: RE error: illegal byte sequence
I'm on Mac. Is this normal?
Still incredibly useful. Thanks!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Dude, this is fantastic! Thanks!