When Atom was first launched I mentioned that it might make sense to port the interesting parts of LT over to it since the core editor isn't what's important (and it's also a ton of work to get right). LT has found its way into lots of projects, from the Chrome Dev Tools to XCode and IntelliJ, which is a tremendous honor for us - it's great to see it coming to Atom as well.
I've been thinking a lot about what makes for a good development experience, and how to properly "factorize" an IDE to provide a consistent experience across different languages. The monolithic IDE experience can be great (once you get it set up) if all your work is in a single language. But for people like me, having a confusingly different development environment for each project is a nightmare.
This is a tiny step toward the dream of having a consistent core editor but with powerful tools for each language that allow introspection into the state of the running machine.
It would be great if this could recognise some common image formats in memory (cairo surfaces, PIL) and visualise those on mouseover.
Possibly similar for arrays - be able to visualise it as a wave or even playback as audio.
Is there any chance of factoring out the support for the popouts? - It would be great if this could appear in other editors.
<Googles>
Huh. I just banged this out in ten minutes when I needed an icon for autocomplete. I'll change it.
That said, the atomic structure isn't the concern but rather a specific artistic visualization of it which may be protected.
Even more powerful, though, is autocomplete from the running environment. It means that (just like in the Chrome Dev Tools) when you start typing something, the autocomplete suggestions include all of the valid names that are defined. It really helps in navigating complex APIs like Torch: https://www.dropbox.com/s/e6hriw5quwct65a/Screenshot%202015-...
https://github.com/atom/language-python/issues/64 https://github.com/atom/language-python/issues/22
There are also several syntax highlighting issues but those aren't deal-breakers like broken indentation.
I'm sympathetic, I help maintain elixir-mode for emacs. I know it's hard to get this stuff right. But all things considered, Atom is unusable for Python for me. I was using it for working with JS & React but now that web-mode seems to have ironed at many kinks, I'm back to Emacs.
If there's already a package (I know about FixMyJS which...sorta works...) which does this well, please share!
EDIT: rainbow parens would also be KILLER in Atom, but last time I looked it sounded like it was non-trivial to modify the colors like that.
edit: I don't know the answer to your question. What I do know is that it's really hard to get indentation right in Emacs for languages with significant whitespace where new lines are the only marker, and I assume the same is true for TextMate (which Atom piggybacks on for indentation). I'm not an expert on emacs, emacs lisp or creating language modes for emacs, but I do have a decent amount of experience[1]. So when I say I'm sympathetic I mean it down in my bones.
But still, if an editor can't get auto-indentation right, it's a deal-breaker.
[1] https://github.com/elixir-lang/emacs-elixir/blob/master/elix...
In short, I'm in the same boat about wanting to jump back to Atom. Just want to wait on improved performance, which I hear is in the works.
I recently tested Wallaby.js, which brings LT approach to testing. Now I wonder if the logic in Hydrogen could be extended to call module's tests and bring results just like the evaluation messages come. I think both immediate coding and testing might make coding more intuitive and reliable.
Is there an Atom to Jypyter bridge or something? How does Hydgoren and Atom communicate with Jypyter kernel?
I'd love to see live test results in Atom too! It would make it so much easier to be confident in your code's correctness.
Just had another thought. Regular Jypyter kernel supports multiple connections. Have you tested connecting to Oxygen's Python kernel from Notebook or IPython session? I'm thinking that console + Atom is nicer environment for a coder than Notebook. Afterwards the session could then be saved as a Notebook.
Anyways, I must now find time to dig into this! I don't like to leave my editor just to look at code execute nor tests run, there is more than enough context switching in programming.
I've been meaning to start a project in ClojureScript and was thinking of using Light Table as my editor. I vaguely recall seeing news about development of Light Table slowing down, but despite this, would you guys still recommend Light Table today for Clojure/ClojureScript development? In its current state, how does it compare to editors like Atom/Sublime and whatever other options that are out there for Clojure development?
In practice, different kernels have various oddities or holes in their implementation of the spec. I'm accommodating them when I can and posting issues when I can't. Let me know if you find a kernel that doesn't work!
How is the Ruby support? A Rails console in the file I'm writing sounds epic. No longer would I need to clumsily suck the interesting lines back out of irb history using copy/paste.
Looks active: https://github.com/SciRuby/iruby I'll have to try it.
In my experience, "getting" TDD is about two main things. First, internalizing what to test & why to test. (Fortunately, we've got a lot of help these days on the "how to test" front.) Second, having that moment when having tests makes your life-as-developer easier, or perhaps just possible. (Re: "possible", I recently upgraded a mature, legacy Rails 2.3 app to Rails 4.2. My blessings upon the devs prior to me who saw fit to create a comprehensive and well-maintained test suite. Without that, there would have needed to be a "throw it away and start afresh" discussion. Perhaps even project cancellation.)
I guess I don't have that excuse any longer! My only concern is that my mind will have trouble adjusting to the evolving state of the "app" I'm working on -- it seems like values in lines above others change, which then change values at other places, not just below the code? Will take some getting used to.
My own Emacs feels... inadequate right know. But I guess something like this could be done for it too.