top | item 30952084

Zas Editor

646 points| sodality2 | 3 years ago |zeditor.app

340 comments

order
[+] Annili|3 years ago|reply
Hi everyone! I'm the lead developer of Zas Editor. I wanted to share some details about the editor you might be interested in.

The text-storage data structure, syntax highlighting and search features are written in Rust, and the UI is written in Swift since we wanted to create a native macOS experience. The Swift and Rust code talk to each other using C FFI, and no, that doesn’t take away the safety features of both languages.

We’re using the Rope data structure for text representation, and the tree-sitter parser for syntax highlighting and some smart features like file outline, local renaming and symbol search. All other language features are powered by LSP servers (rust-analzyer and gopls).

I’d be happy to answer any questions under this comment or anywhere else in this thread.

[+] leephillips|3 years ago|reply
Mentioning that it’s Mac only, and that it’s not free software, would help keep plenty of people from wasting their time.
[+] wanderr|3 years ago|reply
You might want to put supported languages more front and center and not buried on a hard-to-find faq page. Might also want to allow folks to sign up to be alerted when their favorite language is supported, which will also let you gather data about where there's the most interest.
[+] terhechte|3 years ago|reply
You mentioned elsewhere that VIM bindings are upcoming. I think this product will be an insta-buy for me once there're (reasonably proper) vim bindings. Is there a newsletter or something to know once this feature has landed?

Also as a hint, before you try to re-implement 30 years of VIM bindings and end up with something where everybody misses something, there's a great C library that could be of help:

https://github.com/onivim/libvim

[+] raphlinus|3 years ago|reply
For the rope, are you using xi-rope, ropey, or did you roll your own? Any thoughts on how you made that decision?

Glad to see stuff like this, it brings back memories.

[+] from_endor|3 years ago|reply
Congratulations on the launch. There is a demand for a native, fast IDE. I gave Zas a quick spin in our fairly large Go codebase:

Pros:

- really fast

- clean, fresh, minimal UI

Cons:

- Maybe I did something wrong, but one thing I do almost every day is rename something. Right-click a function name (or press F2), pick a better name, done. Zas seems to only rename the occurrences in the current file vs. the declaration.

- The "Open file" suggestions are not great. If I search for a file `moo.go`, one of the first suggestions is `some/folder/moo/some/more/other.go` and then further down the list somewhere it shows `moo.go`

- CMD + click on a symbol should jump to the declaration (or usages)

EDIT: we use GoLand today. Functionality-wise it is great (also builtin TypeScript/JS support is a real plus) but it is slow and hungry.

[+] amarant|3 years ago|reply
Hi! This looks really cool, great work! It seems to be Mac-only for now, is Linux support on your roadmap at all?
[+] pjmlp|3 years ago|reply
If the plan is to make a native UI for each platform, good approach.

If it is to stay macOS only, also a possible decision not everything needs to be cross platform, why bring Rust into the picture?

[+] rob74|3 years ago|reply
Looks really nice, and I wish you a lot of success with it - if you offer most of the features of VSCode and GoLand in a faster and more elegant way, you may be able to carve out a niche for your product, even if it's not cross platform like all the other major editors/IDEs - but since I'm not a macOS user, I'm not in the market for it.
[+] lewantmontreal|3 years ago|reply
Rust-analyzer destroys my Vscode experience in larger codebases (language features, formatting, version control becomes incredibly slow). I don’t know if there’s anything you can do about it but I hope it will be solved at some point.
[+] thamer|3 years ago|reply
This looks like a great start! There's one thing I couldn't find from this page, which I'm sure many developers would ask about: is there a Vim plugin, or Vim mode? And if not, are you planning to add one?
[+] chappi42|3 years ago|reply
Can't you add some sort of impressum to the website where you give some information about you?
[+] fractallyte|3 years ago|reply
One typo: "dependancies" -> "dependencies"
[+] grncdr|3 years ago|reply
This looks really great, do you have any plans to support either arbitrary LSP servers, or integrate any more in a "blessed" way? I'd love to use this with Ruby & Solargraph for example.
[+] hasukimchi|3 years ago|reply
In the preferences, the code analysis icon is missing.

And auto-updater tells me that I have version 1.0 and there is a new version 1.0.0 . And if I try to update, there is an update error.

It is also a bit confusing if you buy it, because you go to download and can then decide to download for trial or purchase. If you purchase, you just get a screen with the key. But no download. It is not nessasary clear, that the trial is also the main download.

And after purchasing, there is no invoice.

[+] fmakunbound|3 years ago|reply
How do I extend it etc and what’s the extension language?
[+] efreak|3 years ago|reply
You may want to make it more obvious this is a native Mac app, not cross-platform. I ignored the window decorations and shortcuts (like I usually do), as those are commonly shown under the assumption of the developer's preferred OS; there's no definitive statement that this is a Mac-only app until the very bottom.
[+] andrem|3 years ago|reply
The payment process is a little tricky - it doesn't ask you for an email address and displays the license on the resulting page. If I don't record the license key manually I will need to get in touch with you to try and recover it.

It would be better to get it emailed or get some prompt to record it etc.

[+] radiKal07|3 years ago|reply
Any changes it will support more languages? I would love to use this for Kotlin.
[+] JaggerJo|3 years ago|reply
Really cool project!

Did you consider using ANTLR instead of tree-sitter parser? Don't know too much about tree-sitter but is seems to be a batteries included approach to building parsers?

[+] prime31|3 years ago|reply
Any plans to support other languages, specifically Zig? It would be nice if it even just supported wiring in any LSP like Sublime Text LSP and Neovim LSP do.
[+] notimetorelax|3 years ago|reply
Hi, the image in “Simplicity of Command Line + Expressivity of Graphical UIs.” section is not cropped leading to horizontal scroll on mobile.
[+] artspb|3 years ago|reply
It's great to see more Go editors out there. All the best! A little feedback: it's spelled GoLand, not Goland.
[+] newlisp|3 years ago|reply
How do you create a new file from Zas? seems like you can only open existing files
[+] PaulDavisThe1st|3 years ago|reply
> since we wanted to create a native macOS experience.

Can you say more about this choice?

[+] asimpletune|3 years ago|reply
I really like that it’s a one time price. Thanks for your work!
[+] throwawaybner3|3 years ago|reply
What editor were you using in the past? emacs, vim, vs?
[+] btat1-2|3 years ago|reply
"Why should I use Zas Editor instead of free XXXX?". I don't know, I have no Mac.
[+] Annili|3 years ago|reply
Zas Editor developer here. I think it’s important to address a problem a few people have mentioned so far: no data is collected other than your Mac’s serial number, which used to be used for finding how many computers a license is used on (we no longer do that)

We’re going to add a privacy policy in the website. We haven’t already done that because we didn’t really expect this much attention within hours of releasing. Honestly, we were expecting few downloads and more technical feedback.

[+] albertzeyer|3 years ago|reply
I wonder if it really still make sense to develop an editor as a commercial product. This is probably a massive effort, and the revenue is maybe not so large.

There is IntelliJ and Visual Studio. IntelliJ is successful, yes, but they have a long history, and the editor is really good. Visual Studio is maybe also successful but I'm not sure how profitable it really was or is.

But otherwise? Sublime Text and others were maybe successful at some point but not sure how profitable they really were. If you count the amount of development which went into it vs the revenue.

For me as a user, I'm extremely hesitant to use any non-open source editor. An editor is a long-term investment. I would not touch this Zas editor unless maybe in 5 to 10 years when it is widely used by many people or when it has become open source but otherwise not. Yes, it looks nice from a first glance but that is by far not enough.

My personal only exception is IntelliJ because it is so good. PyCharm specifically, although I have used other IntelliJ products in the past, starting with the original Java editor, 15 years ago or so, which was heavily praised by some friends.

But otherwise, I want to be able to extend the editor easily, also its core itself. I want to be able to support it when the original developer stopped working on it. Or port it to other systems the developer does not care about. Or do some changes the developer disagrees with. Etc. I want to be sure that it is in principle possible to run this in the next 10-20 years. Or not only me. The nice thing with open source is that many people think likewise, and then there will also be others doing such effort, like supporting it on recent systems, adding features, fixing bugs, etc. So then it is a community effort.

[+] vr46|3 years ago|reply
I love a new editor.

But I long ago realized that a text editor was a massive long-term investment and after two editor companies abandoned me, I switched (back) to Vim and doubled down. Had I stuck with Vim in 1992, I could have saved a lot of time.

That said, today it’s Neovim, with IntelliJ kept around for its power and the fact that I often have to open client projects. And VSC for specific plugins that save time (e.g. inspecting SSL cert details b instantly.

[+] mgdev|3 years ago|reply
So many critics here.

"It's paid!"

"It's not multi-platform!"

"It doesn't support my language!"

Dear Zas Editor creator:

Good on you for creating something that solves your problems and challenges you intellectually.

Good on you for putting yourself out there by making it public.

Good on you and for making your efforts sustainable by charging real money for it.

Good on you for taking the first step, and shipping before it's "perfect".

Good on you for taking feedback graciously.

[+] _zzaw|3 years ago|reply
This looks really good. I was a major fan of Coda, but I’ve been disappointed with Nova, so I’m looking for something else.

The fact that this isn’t saddled with subscription pricing is a huge plus. I don’t even consider software I can’t own; $24.99 as a one-time payment with a year of updates is more than fair.

[+] hajhatten|3 years ago|reply
Been wanting something like this for a while now to switch from vscode.

Considering not even terminals are safe from phoning home telemetry.

You guys are charging for this, how much telemetry is the app sending home?

Wish you guys all the luck.

[+] ranguna|3 years ago|reply
You should try vscodium, it's vscode minus all the Microsoft bs
[+] rwalle|3 years ago|reply
Telemetry can be very easily turned off. It would take less time for you to Google "how to turn off VSCode telemetry" and finish it than writing this comment. This is ridiculous.
[+] danpalmer|3 years ago|reply
There's an interesting potential future here where Apple acquire/acqui-hire the team behind this.

As much as I'm keen to see software like this, making an editor work as a business is hard, and Zas has a long road ahead of it.

However Apple could really use something like this. Xcode is big and bloated, with a ton of support for features that are no longer the future of Apple's platforms (Storyboards, Objective-C, SVN integration...). A clean start with a modern codebase designed for languages fairly similar to Swift, plus the shift towards Swift Package Manager for managing builds (rather than xcodebuild), could be great improvement.

[+] AlphaGeekZulu|3 years ago|reply
The editor looks really nice! And the price tag is absolutely fine for what it promises.

But, with 30 years experience in software development, I won't even look into primary development tools that are not cross platform. I am mainly on Linux, often on Windows (usually because clients force me) and sometimes on Mac (for iOS development and cross platform testing). I want the same toolset no matter the hardware or OS.

[+] rplnt|3 years ago|reply
> Native. Fast. Lightweight.

Comparison is missing editors that would compete with this. VS Code is huge and slow, but somehow people use it and love the extensibility and broad support. Goland is just a beast that does so much more it's not even in the same league.

What would make sense in the comparison chart is something like ST3.

[+] hit8run|3 years ago|reply
Hey. I'm an Editor/IDE aficionado. This could be the start of a really nice macOS native editor. Panics Nova is nice but it is lacking good Go support. However there are many things to get right.

These things are needed in order to get competitive imho:

- Plugin API

- Plugin Marketplace

- Proper LSP (you seem to have that already)

- DAP Support (you stated you are working on it. Good!)

- Out of the box support for go-templates, css, js and html.

You already have a very good foundation from what I see! Keep it up. I'll buy I license just to see where this is going :)

[+] sawaali|3 years ago|reply
There has been a resurgence of native editors these days (Helix, Nova, …). Every time I rush to check if there are vim keybindings. It's a dealbreaker otherwise!
[+] mritzmann|3 years ago|reply
I am an Apple MacBook user. However, personally I try to use only software that is available for Windows, macOS and Linux. This allows me to switch operating systems more quickly, should I choose to do so. Don't want to make myself dependent on one manufacturer.
[+] atarian|3 years ago|reply
Looks great. One thing I recommend is defining a smaller width for the content on the landing page so it doesn't take up the whole screen. Otherwise, it takes a lot of effort to read left-to-right.
[+] djur|3 years ago|reply
This looks pretty great, but I'm through paying for commercial programming tools that aren't portable to everything I might be developing on. Right now I'm developing on a Mac for work, but in a year that might be different, and the time and money I put into this editor will be wasted.
[+] zorr|3 years ago|reply
Congrats on launching, the screenshots look great.

Lately I've seen a few MacOS specific apps here on HN (another one was the terminal app ) and they all look really good UI wise: the general UI, popup/search dialogs, dropdown menus for command palette, file trees etc.

I would love to write apps that look and feel like this on other platforms (mainly Linux for me personally) but the toolkits don't seem to have that level of polish or even lack most of these controls/components. Gtk, Qt and Java Swing all have pretty simple controls and require a lot of customization or reinventing the same custom controls.

The closest I have gotten is with JavaFX but that does not seem officially supported/maintained anymore. Are there any other toolkits that aim to have this level of polish?

[+] gampleman|3 years ago|reply
As a an aside: I wonder if we are hitting a local maximum in terms of programming languages/ecosystems. These days if you want to experiment with some truly novel programming concept (see for instance Unison, Dark, Luna), you have to compete with truly excellent IDEs, Git, excellent code hosting like GitHub, large open source package ecosystems, high quality linters and auto formatters, and other niceties.

So if your language/ecosystem can't take advantage of those things (for instance not being traditionally text based), you have a huge cost before you can meaningfully demonstrate any superiority. To do that you probably need dozens of people working for several years, and I don't think the economics are there for it.

[+] hsn915|3 years ago|reply
Looks promising. Price is very reasonable. Now trying it out. Unless I find a major issue I'm very likely to buy it.

Is there any chance of supporting other languages? I'm asking because I'm one of the (probably few?) people who would be happy if Odin was added to the list of supported languages. (It should be easy to parse, even has library support for parsing and extracting docs).

[+] lykr0n|3 years ago|reply
Man. I would buy this in a heartbeat if it was on linux.

Good luck! It looks like an amazing product.

[+] blipmusic|3 years ago|reply
EDIT:

The website now states:

    > Can I use one license on two computers?
    > Yes.
What great turn of events, thank you for reconsidering! You have my money. :)

——-

Old post (now incorrect):

    > Can I use one license on two computers?
    > No. It sucks, but that is the only way to prevent abuse.
The editor looks great, but this sucks to the extent that this won't work for me at all, unfortunately. Parallels' old-school licensing theme meant I'm dropping them as well. This is not about the value of the product or the price itself, $25 seems more than fair if this meets my needs, regardless of open-source alternatives.

I, and I suspect many others, develop on multiple computers, sometimes on a single day. If you worry about "enterprise abuse", perhaps consider a commercial license. Or add a higher priced tier that is per user, not per device. I think (i.e I don't actually know) there's a reason editors such as Sublime Text have per-user licenses (to be fair its price tag is also four times that of Zas Editor).

Are people actually abusing per-user, "honor" licenses that much nowadays? And here I'm thinking about difficult-to-verify customers who are willing to pay in the first place.