Thread: Text editors
View Single Post
Brad
Selfish Heathen
 
Join Date: May 2004
Location: Zone of Pain
 
2020-09-09, 23:22

I just grabbed beta 20 before it disappears since I just got another email saying the full release will still be $$$ for beta testers as soon as it releases and/or the beta install auto-updates.

After just a few minutes of kicking the tires, it does feel a bit better than just a month or two ago, but I'm not yet sure it's worth the price next to the competition. I'm sure they have some talented folks who will be working around the clock for a while to try to make this as attractive as possible, but the landscape for text editors and IDEs is already pretty fast and feature-rich, and it's also saturated with free (as in beer and in freedom) options. Nova will be $99, and that's already $10 over the price of the paid version of PyCharm, assuming you actually need what it offers over the free edition (I use the free one at home). VS Code/Codium is totally open source, and I could tweak it or extend it to my heart's content, plus it has an army of Microsoft devs working to make it the de facto editor for everyone.

Here are a few quick observations. I'm happy to try things out if you have any specific questions.

"Open Quickly" has greatly improved since I last looked. This is their take on VS Code's cmd-p "Go to File". Nova's version is definitely big and full of wasteful whitespace like many stylish "modern" apps.

Nova's gigantic "Open Quickly" is always centered in the window and only ever shows up to six and a half items, cutting the seventh in half. Yes, it was in stark white despite everything else in my system being in dark mode.


VS Code/Codium's "Go to File" is pinned to the top of the window and only grows as needed.


Nova has added some kind of code inspection/scanning for Python that was definitely absent the last time I tried it. This manifests in a few ways. Like PyCharm, I can now command-click on some (but not very many) tokens in the code, and it'll jump to its definition. For example, if somewhere I define a `class Foo` and somewhere else I instantiate a new `foo = Foo()`, clicking on that latter `Foo` takes me to the `class Foo` line. Clicking on most things that I would expect to be clickable, though, just give me the system error beep. In this example, clicking the `foo` just gives me a sad beep.

That token discovery has been fed into the "Open Quickly" dialog too. So, I can type a class name and it'll jump to its definition.

Source control integration appears to be a thing, but it's limited and sometimes a little weird. There's no "blame" or "annotate" for a whole file, nor could I find any "diff" functionality. You can right-click on a line number in the gutter, and you can "Show Last Change for Line" for which it'll animate a little speech bubble popup with the committer name, ref, date, message, and… the gravatar for the committer's email? I was surprised when Little Snitch warned me at startup that Nova was attempting to talk with Gravatar.com, but there it is. I guess it makes sense that they wouldn't try to integrate or scrape from GitHub, GitLab, BitBucket, or who knows where else your repo remote might live.

I guess I need to start uploading gravatars for my work email addresses now. Also, what's with that weird split coloring on "exception"?


I only tried projects that use git. I don't have any mercurial, svn, or cvs projects handy on this machine.

There isn't very good "smart" indentation. Pressing return inside something like quotes or brackets or parentheses just puts you on a new line with the same starting indent level as the last. It does wrap selected text with a pair if you hit the quote, etc. key. while it's selected.

The multiple Python projects that I opened in Nova have... a PHP environment? There's also literally zero results for Python in the extensions library. There are no Python-relevant project settings (or really any interesting settings at all) such as the interpreter, environment, etc. There is no way to run, test, or debug any code, as far as I can tell.

Code folding in the left gutter works and both looks prettier and behaves better (for basic nested structures) than in most other editors for the few Python, JS, and JSON files I threw at it. Until I opened a bash script. Or a YAML file or an RST or Dockerfile or... Well, at least the foundation is there; hopefully someone will expand it for more common file types.

Oh, and the UI thing I hate the most is that they're aping Safari's horrible tab design. One tab takes the entire width of the window, two tabs split 50/50, and so on proportionally. Moving targets galore. I guess now it's not just Safari but also Finder and Terminal. So, this is "standard" UI look and feel. I hate Apple for introducing this quirk to the world.

The quality of this board depends on the quality of the posts. The only way to guarantee thoughtful, informative discussion is to write thoughtful, informative posts. AppleNova is not a real-time chat forum. You have time to compose messages and edit them before and after posting.
  quote