

tabIndent.js - A JavaScript Library For Tab-Enabled TextAreas - Hirvesh
http://julianlam.github.com/tabIndent.js/

======
fratis
This is awesome. I'd love if the developer would add (even if it were
optional) Command+[ / Command+] functionality to indent multiple lines at a
time.

~~~
arcatek
Windows/Emacs user here. What does these shortcuts do ?

~~~
lazerwalker
If you have a block of code/text selected, Cmd+[ and Cmd+] shift the entire
textblock one tabindent to the left or right, maintaining the relative indent
level of each individual line.

~~~
arcatek
Is it different from ctrl+tab / ctrl+shift+tab ? Because these shortcuts works
in this editor ("Multi-line highlighted text is also tab-able, and shift-tab
removes a tab character instead").

------
kibwen
Something like this would make markdown editing in Github comments usable.

------
dergachev
Awesome. One could make a useful bookmarklet out of this.

I'm worried about accessibility.

Most of the time tabs are used to navigate between fields, so it'd be cool if
this was "opt-in", eg entering the textarea would render an icon to click that
enabled this feature. Or at least some way to tell the user that pressing the
ESCAPE key is how you should tab-out of the field.

~~~
julianlam
Hi dergachev -- a helpful Reddit user (where I posted the project originally)
went ahead and did this:
[http://www.reddit.com/r/javascript/comments/13tfpf/burned_th...](http://www.reddit.com/r/javascript/comments/13tfpf/burned_through_a_quick_weekend_project/c771al3?context=1)

------
adroitec
Very interesting. I recently explored several different projects for tab-
enabled textareas and currently use <https://github.com/wjbryant/taboverride>.

One interesting thing about most implementations of tabs in textareas is that
the insertion of a tab typically _breaks the browser undo/redo stack_ for the
textarea. This guy implemented it correctly though as mentioned in the bug
filed on tabIndent.js:
[http://www.reddit.com/r/javascript/comments/13tfpf/burned_th...](http://www.reddit.com/r/javascript/comments/13tfpf/burned_through_a_quick_weekend_project/c77eq1r?context=2)

------
Hirvesh
Via Functionn - Open Source Resources For Web Developers & Designers:
[http://functionn.blogspot.com/2012/11/tabindentjs-
javascript...](http://functionn.blogspot.com/2012/11/tabindentjs-javascript-
library-for-tab.html)

P.S. Functionn contains a whole lot more of awesome resouces like
tabIndent.js. There only a fraction of them I can post here at a time. Take a
look if you're interested, and subscribe:

<http://functionn.blogspot.com>

~~~
julianlam
Thanks again for the shoutout, Hirvesh :)

------
wjbryant
I'm a little late to the discussion here, but thought I'd post a comment
anyway. My project (<https://github.com/wjbryant/taboverride>) has been around
for a while and I'm always open to pull requests and feature enhancements /
improvements. It looks like you're trying to solve the same problems and
implement features which I've already implemented. Why not collaborate?

------
julianlam
Hi everybody, this is Julian, the author of the project. I had no idea a small
weekend project like this would be so widely accepted! Thank you all for your
comments -- I'll be keeping track of them, and implementing features based on
demand.

Follow the development on the issue tracker:
<https://github.com/julianlam/tabIndent.js/issues>

Thanks again!

------
romaniv
It's rather unfortunate that tab is also used for keyboard navigation between
fields, since this would be the default behavior of text areas I would like.

~~~
julianlam
Indeed. Many of the commenters have suggested alternatives, such as using
Ctrl-[ and Ctrl-] instead, but the best by far that I've seen would be also
binding a listener to the "escape" key, so that tab functionality is restored.

I believe I'll probably end up doing that, unless somebody else does it before
I do.

------
sokrates
Feature wish: when pressing enter, indent the new line as deep as the previous
line.

------
rpicard
I don't see a license specified anywhere. What is it released under?

~~~
julianlam
Hi rpicard, as Hirvesh mentioned, the project is released under MIT. I will be
adding the license details to the repo files shortly. Thanks for your
interest!

~~~
rpicard
Great, thanks!

------
lowboy
Good stuff! I was going to point out the undo/redo and multiline tabbing
affecting the line with the cursor on it, but bugs are already filed on 'thub.

------
ilink
Very nice, it would be great if stackoverflow used this.

------
ollysb
Seeing as delete will remove a tab I think shift-tab would be better used for
the normal behaviour, take you to the next input.

~~~
archangel_one
Shift-tab generally has the meaning of "untab" already. Overloading it to mean
"move to next input" would be very confusing for those of us expecting the old
behaviour, and not at all discoverable for anyone else.

------
mistercow
Very cool. Now somebody just needs to pack this into a Chrome extension so
that all text areas do this.

~~~
copypasteweb
Meanwhile in Firefox, since 2008: <https://addons.mozilla.org/en-
US/firefox/addon/tabinta/>

------
jasdeepsingh
This is really awesome! I've always wondered why is this not the default
behaviour on a text area?

~~~
CWIZO
Because it would brake tab-index functionality.

------
todd3834
Pretty cool! Would be even cooler with vim commands ;-)

