While Iâm not a fan of elastic tabs per se, I do feel thereâs room for improvement in Sublimeâs tab handling, the implementation for which should be fairly straightforward.
What Iâm talking about here is simply definable tabstops. Just about every decent editor has this, and itâs essential if an editor is to become a programmer or technicianâs âgo toâ for editing any kind of text files in the field. I have to drive another editor simply because Sublime is lacking in this basic area. And itâs a showstopper for a whole bunch of colleagues.
So, my old favourite âBriefâ had simply a command âtabsâ that went something like this âtabs 5 25 40 45â. That would define tabstops for the current buffer at those positions, and the remaining tabstops would be at a repeating interval of the last two (50,55,60,65 etc.). Some editors augment this by allowing tabstops to be left, centre and right aligned, though I see this as fairly pointless and only useful for formatting tables that are coded into tab delimited text files (in that case, you may just as well load stuff up in your favourite WP)
This is needed because text output files from numerous sources are tab delimited, and itâs not possible to work with such files formatted even remotely correctly in Sublime. Traditional programmers prefer this approach since it gives flexibility as to how things are spaced out horizontally. Moreover, a number of older, less popular programming languages work with particular indentation positions. The above tabstop model would support use of tabs or spaces in much the same way that Sublime does presently; knowing tabstop positions allows Sublime to convert tabs to spaces and spaces to tabs in the same way it does at present.
Sublime is already set up with very flexible configuration for this with its default, user, filetype and project preferences.