Sublime Forum

A wishlist from a new user

#1

Hi,

I’ve been really blown away by the Sublime Text 2 alpha since I discovered it a couple of days ago.

For the last few years, I’ve been using TextMate under OSX. However, I’ve almost given up waiting for the promised release of TextMate 2 and the list of fantastical improvements that it will apparently bring. It looks like Sublime Text may be poised to deliver on the promises that TextMate 2 has been making. It already appears to have addressed some of the most notable problems with TextMate – especially with regards to handling files with very long lines, and dealing with files on network drives (or otherwise slow filesystems).

That said, here is the UI wishlist of a long time TextMate user, after about a day of using Sublime Text 2 in anger. I know ST2 is currently in alpha, so some of these features may already be on your todo list. I thought I’d raise them anyway just in case there was some new ideas you hadn’t considered, and to provide some indication of what one humble user (not currently a paid user, but I suspect that will change very shortly) considers a priority.

I would also point out that so far Sublime Text has been completely usable, fast and stable without these features – we’re talking about the difference between a good editor, and an editor that is completely awesome.

  • The ability to remove a single directory from a project

  • Auto-updating of project directories to reflect on-disk state. Requiring a manual update is cumbersome. If auto-updating of a project isn’t possible, at least preserving the open/close status of existing directories would be a nice touch. Having to reopen folders and rediscover a bunch of files just so I can discover a new file in my project is a PITA.

  • Of course, better still would be to not have to move outside the ST project tree in order to add new files and directories to a project. Renaming existing files and directories would also be nifty. The ability to use the project tree as a genuine project control tool is perhaps the biggest single feature I have missed from TextMate.

  • The ability to navigate the project tree with the keyboard.

  • Filetype icons in the project tree and/or making directory names bold in the project tree – a relatively minor cosmetic touch, but useful for being able to quickly distinguish directories from files.

  • The direction of the animation when a folder is expanded seems completely wrong to me. This is completely cosmetic, and it may be a personal taste thing, but ‘slide in from top’ or ‘slide in from left’ makes a lot more sense to me conceptually than ‘slide in from right’. Expanding a directory is a “show you the things that were hidden under here” operation, not a “pull in content from over there” operation.

  • Contrast on tabs under the default theme isn’t great. Ok, themes can be customized, but in terms of first impressions – I found it difficult to see the tab outlines against the background, especially for non-selected tabs.

  • Command line access (under OSX) to open a single file, or open a directory as a project.

  • An OSX filetype registration (and icon) for .sublime-project files

  • The behavior for opening new tabs (i.e., only opening a tab on a double click or file save, opening an anonymous tab otherwise) was awesome – once I worked out what was going on. It took me a little while to work out that I wasn’t seeing a display bug with new tabs going missing. I don’t know if this is a feature of other editors, but I’ve never seen it before – TextMate certainly doesn’t do anything similar. I’m not suggesting that you change the behavior, but when you get around to writing tutorial/getting started documentation, it may be worth pointing out this quirk.

These are almost all UI/visualization issues, because I haven’t had a chance to play with the plugin API. I gather that the 1.X plugin API is sufficiently different that the existing docs won’t be much help, so I haven’t ventured into that territory yet. However, the potential of an editor with a Python API with all the buffer-modfying capabilities of Emacs has me very excited about the possibilities.

Many thanks, and keep up the good work. Can’t wait to see what arrives in upcoming alpha, beta and final releases.

0 Likes

#2

[quote=“freakboy3742”]
These are almost all UI/visualization issues, because I haven’t had a chance to play with the plugin API. I gather that the 1.X plugin API is sufficiently different that the existing docs won’t be much help, so I haven’t ventured into that territory yet. However, the potential of an editor with a Python API with all the buffer-modfying capabilities of Emacs has me very excited about the possibilities.[/quote]

The major change to the API in Sublime 2 is the new naming conventions: v1 used “camelCase” and v2 doesn’t (e. g. “new_style”). Many API names are trivial to translate, but there have been other subtle changes too. To name a few off the top of my head: Options have become Settings, view objects are object attributes (before they were passed as arguments to .run() in TextCommands), and plugins listening on events need to derive from EventListener. There’s also an Edit object that groups edits explicitly in text commands to make them atomic. I’m sure there are more, and I’m certain I’ve got some of this wrong.

Not incidentally, a good deal of the functionality in Sublime 2 is implemented with the API, so you can look at the py files under the Packages folder (Preferences | Browse Packages…) today and figure out most of it without docs (also, I happen to know you’re not precisely a python newbie :wink:). Specifically, Packages\Default contains “core” python commands (commands implemented as python plugins that enable basic editing features).

Also, there’s this work-in-progress sort of site–suffering now from an identity crisis through the transition from v1 to v2–with more info, and yet more to come soon: sublimetext.info.

HTH,
Guillermo

0 Likes