Re:Will Bond (Package Control) Joins Sublime HQ
by ggreer on Monday February 08, 2016 @11:39PM
(#11063108)
Full disclosure: I'm the CEO & co-founder of Floobits, which makes pair programming plugins for lots of editors.
I completely agree with you about the plugin APIs. Writing a collaborative editing plugin for Sublime Text was a slog. Not only were we limited by the plugin API, but we ran into show-stopper bugs.[1] SSL didn't work on some platforms.[2] ST2 shipped with a broken select() module broke on Windows. In contrast, Atom provided almost everything we wanted. And while we ran into more bugs, they were annoyances, not show-stoppers.[3]
1. https://news.floobits.com/2015/08/17/sublime-text-plugin-api...
2. https://github.com/SublimeTextIssues/Core/issues/177
3. https://news.floobits.com/2015/10/14/developing-atom-plugins...
Re:Will Bond (Package Control) Joins Sublime HQ
by SunShiranui on Tuesday February 09, 2016 @06:05AM
(#11064541)
Thanks for the plugin recommendations, I think I could use some of them.
With Atom, packages can manipulate the editor. For example, the Atom linter shows errors on the line where it occurs. It can do this because packages are allowed to hijack the editor's rendering, something Sublime packages can't do. (The only thing you can do in Sublime is to mark areas for colorization, and there are some things you can do with the gutter.)
There's also a neat package that turns Git's textual conflict markers into live markers [1] allowing you pick which side to use. It also displays a list of pending project-wide conflicts while you're working — also not something Sublime plugins can do.
The Markdown Preview package is also very nice [2]. It displays a preview window inside Atom. Not possible with Sublime's API.
With Atom, I can have the sidebar colorized based on Git status, for example (it's a built-in package), and the icons can be themed [2]. Sublime plugins can't modify the file sidebar other than add context menus.
In short, Sublime really needs to up its API game in order to compete with Atom.
[1] https://github.com/smashwilson/merge-conflicts
[2] https://github.com/wyze/seti-icons