Richard Bucker

Creating Extensions for Atom and Brackets

Posted at — Nov 25, 2014

I’ve created turbolang.com in an attempt to recapture the feelings I had when I was programming with Borland International’s Turbo Pascal 1.0. Even though I cannot find screenshots and I have no intention of relearning the WordStar navigation keys etc… I really want to recreate the pure developer experience even if it’s just for myself.The first step in the process is going to be some variation on the theme. Can I get Atom or Brackets to ┬ábehave nicely. And can I merge or create all of the dependencies that I need. So the first step in that process is creating the first package, compiling or assembling the package, and then publishing the package.Here are the first links that need reading:How to write Brackets extensionsCreate your first [Atom] extensionI’m starting with Atom and Brackets because while they are javascript apps running on nodejs they are standalone apps from the host OS perspective. If I happen to go down the Ace or CodeMirror path then I’ll probably be using the browser as a self hosted app, however, I have not parsed all of those details yet. Finally, I have been playing around with a pseudo DSL that could benefit from an editor but I’m not certain a freeform editor is the best solution so that is on hold for now.PS: lighttable is an outlier because [a] it does not install without overriding some OSX security requirements, [b] it’s written in clojure (requires the JVM), [c] is interesting but less appealing by intuition.UPDATE: While I like the productivity I’ve seen in the hands of an emacs master I will never get there. I’ve also seen the same type of magic from vi masters too but at least I know enough vi to be productive. In the past I have tried to be vi-masterful but in the end I always find myself with multiple computers with different OS and vi versions. And so it’s just not practical to move all my tools all over the net trying to keep them in sync. There was an article that talked about turning vi into an IDE. It was a combination of vi plugins like nerdtree and and powershell. Anyway that attempt was abandoned. In the case of this project I’m doing the same.I’m thinking that a browser-based solution might have some unseen benefits like docker services, shared code and collaboration, maybe even some git and drone integration, as well as auto download the compiled code. Make the docker container an all in one.