Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wrote that bot!

https://github.com/Miserlou/WhitespaceBot

Feel free to fork it to do whatever you want, that's why I made it.



Hey, some of us actually use trailing whitespace! :-)

I use it to create useful indentation guides in Komodo. If the whitespace is stripped away, the indentation guides have gaps where there's a blank line in an indented block.

Maybe Komodo could use a different method to decide where to draw the lines that didn't depend on trailing whitespace. It looks like Sublime Text 2 has a different approach for its indentation guides - maybe the Komodo guys should look at that. But in the meantime I'm using Komodo as it actually works today, so the whitespace on blank lines is important. Let me keep it, please? :-)

I wouldn't mind stripping out trailing whitespace on nonblank lines - that wouldn't affect my precious indentation guides.

But wait a minute, what about Markdown? Two spaces at the end of a line to get a <br>, right? Does the bot skip Markdown files?

Finally, for the folks who have automatic whitespace removal in their editor settings... Please be careful: With this setting, you'll be very likely to make a commit that includes both significant code changes and a mass of whitespace changes in the came commit.

Those kinds of changes should be separated: one commit for the code itself, and a separate commit for the whitespace with a comment like "Whitespace cleanup, no code changes."

This allows people who diff the revision history to diff with whitespace significant most of the time, the only exception being when reviewing a whitespace-only change.

(Edited for friendlier tone...)


From a quick look at the source, WhitespaceBot already excludes Markdown files:

    banned = ['.git', '.py', '.yaml', '.patch', '.hs', '.occ', '.md', '.markdown', '.mdown']


If you create a JS macro that is triggered on file open, with the contents "komodo.view.scimoz.indentationGuides = komodo.view.scimoz.SC_IV_LOOKBOTH", it should give you the indentation guides without the whitespace actually there. http://www.scintilla.org/ScintillaDoc.html#SCI_SETINDENTATIO... has some explanation of the possible values.


Is there any equivalent of the robots.txt standard for public code repositories? Being able to opt-in to certain bots might be helpful (opt-out being the default, of course).


That's a really cool suggestion and I would love to see some sudo-standard on this.


Ah, aggressive trailing whitespace removal. That I can completely get behind. I've already got command-s bound to a custom macro that strips trailing whitespace in TextMate for myself and my co-workers; but this would be an even more inclusive solution.


Fantastic. If you use vim, you should have this in your .vimrc:

" Remove any trailing whitespace that is in the file

autocmd BufRead,BufWrite * if ! &bin | silent! %s/\s\+$//ge | endif


I prefer using the vim-trailing-whitespace plugin and fixing it manually: https://github.com/bronson/vim-trailing-whitespace


Or you can use my competing plugin: https://github.com/bitc/vim-bad-whitespace

which has some advantages (described in the README)


One advantage taken from the readme:

  This plugin is better than using the builtin vim 'list' command because it
  doesn't show an annoying highlight while you are typing in insert mode at the
  end of a line.


Or, if you prefer a more manual approach (ie. my fellow paranoid developers) simply use `list` and `listchars`:

    set list
    set listchars=trail:•
In other people's code, use `set nolist` to prevent hyperventilation.

In general, explore `help list`.


Uhm. Why is this annoying, other than the fact that it shows up in your git commits?


If you use Vim from the terminal to edit text (which I do), trailing whitespace shows up as big white blocks. It's slightly visually distracting, but it's really just an OCD thing.


No.

Absence or presence of trailing whitespaces is sometime significant, such as in big ereg in re.VERBOSE mode in Python.

Therefore, it must be visible, and if it is visible it must be removed when it has no use.


I prefer to have my editor strip that whenever I save a file without any manual action.


I should clarify that command-s is the save command. My macro overrides the standard behavior.


in my 10-years old project, removing all trailing whitespace would produce a 1000+ lines commit, and make many contributors' lives harder.

so, thanks, but I'll keep my whitespace.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: