Elastic tabstops news

News about elastic tabstops: a better way to indent and align code

2008-10-15 Wed 16:20

An update and a request for help
Well, it's been a while so I figured I should give everyone an update. Just over a year ago I released a plugin for Gedit. It works fine, but there are a couple of issues with it, the main one being that Gedit currently only exists on Linux and other X based platforms, and no ports exist for Windows or Mac OS X. The second issue is that it uses an inefficient yet relatively straight forward algorithm which recalculates everything every time the text changes (like my Java demo). As a result I decided to make a better solution that is cross platform and caches the information it needs properly. I've decided to use PyGTK (the Python bindings for GTK) to make my own editor and I hope to have something I can share with you soon. Once my Python implementation is finished I'll also be able to replace the C based Gedit plugin with something which is faster and less work for me to maintain. Also, to make it easier for people to see the idea in action I've reworked my Java demo on the main elastic tabstops page so it can be embedded in the page as an applet.

In other news, my job was outsourced a couple of weeks ago, and while I don't think I'll have too much trouble finding another one, I thought I'd use the time off as an opportunity to see if I can advance my goal of getting elastic tabstops adopted in a major editor. I believe that the concept of elastic tabstops is a real improvement over the status quo, as presumably do some Visual Studio users, Visual Assist X (a Visual Studio add-in) users, Slashdot editors, Eclipse developers, ex Microsoft Excel program managers and many others. Since developers for Microsoft's platform pretty much all use Visual Studio exclusively, it occurs to me that elastic tabstops could be adopted without developers for the platform suffering from the chicken and egg problem that developers on other platforms may face. So, if you work at Microsoft (or know someone who does) now would be a great time to speak to someone on the Visual Studio team about getting them to help me add this feature.

Let's see if we can make things better for programmers.

Discuss (11 comments)

[] permanent link

2007-09-16 Sun 16:59

A proper elastic tabstops plugin for gedit
Right, following Paolo Maggi's suggestion on the gedit mailing list, I've turned the gedit patch into a proper plugin and made the following fixes:
* Other chars than just \n can now terminate paragraphs
* Italic and bold characters are now handled properly
* The minimum width and padding width values can now be configured using gconf
Go to nickgravgaard.com/elastictabstops/#gedit for more information, and please email me if you have any problems.

Discuss (11 comments)

[] permanent link

2007-05-28 Mon 16:31

Introducing elastic tabstops in gedit
I've been pretty quiet for a while, but that's because I've been busy hacking gedit to support elastic tabstops. I've also made a plugin for gedit that allows users to work on projects which use spaces for alignment. To see a screencast of it in action or to download it, visit nickgravgaard.com/elastictabstops/#gedit

Discuss (18 comments)

[] permanent link

2006-07-10 Mon 13:53

New demo of elastic tabstops solves previous version's blank line issue
Judging from the feedback I've received so far, many people liked the concept but complained that the demo implementation meant they had to insert blank lines where they wouldn't normally. Well, I've been working on this for a few days and have come up with a variation on the previous system. Whereas the original system split the text into blocks (whenever it found a blank line), lined up all of the tabs in each block and then stretched each tabstop to fit the widest piece of text in each column, the new version takes advantage of the nested nature of code. As before, it works by creating an array from the text using tabs as the delimiter, but this time it finds a column block by looping through each column individually until it finds a missing tab and then it resizes that column block to fit the widest piece of text it contains. The result is a system that doesn't need all the blank lines that the first version did and makes better use of horizontal space. It also minimises the amount of text that moves on other lines when text is modified.

Please try the new version and give me your feedback. If you'd like to compare it with the old version you can try that here...

grid lines

Discuss (22 comments)

[] permanent link

2006-07-07 Fri 02:58

Post about first public version of elastic tabstops
Okay, it's been suggested I create a way for people to give some feedback, so here it is. Please leave a comment...

Discuss (58 comments)

[] permanent link


RSS feed