A annoyance with the insert todo -macro and ruby is that if the cursor is indended when using it it places the =begin and =end tags at the current level. The problem is that ruby only regognizes them at the start of the line.
So this works:
if true puts "foo" =begin TODO: =end end
But this doesn't work:
if true puts "foo" =begin TODO: =end end
I haven't had the time to look at the insert-todo code too much so I can't provide a patch, but the correct behaviour would be to make sure that there is no whitespace before the comment block tags.
(IMO is rather silly of ruby that block comments can't have whitespace before the =begin and =end tags...)
On 21 Jun 2008, at 03:29, Vesa-Pekka Palmu wrote:
A annoyance with the insert todo -macro and ruby is that if the cursor is indended when using it it places the =begin and =end tags at the current level. The problem is that ruby only regognizes them at the start of the line. [...] I haven't had the time to look at the insert-todo code too much so I can't provide a patch, but the correct behaviour would be to make sure that there is no whitespace before the comment block tags.
The command is language neutral and I didn’t allow for any way to communicate “must be at begin of line”, which is not something you always want (e.g. in C it makes perfect sense to keep the comment indented).
So there is no simple fix, rather, it will have to be made more complex just to special-case Ruby¹, and only when the user starts a to- do not at column 0.
Personally not going to make that change, sorry ;)
¹ I think also Perl.