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.
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.
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:
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.
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.
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.
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?
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 :)
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!
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.
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.
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.
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?
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.
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).
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.
[+] [-] Annili|3 years ago|reply
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
[+] [-] wanderr|3 years ago|reply
[+] [-] terhechte|3 years ago|reply
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
Glad to see stuff like this, it brings back memories.
[+] [-] from_endor|3 years ago|reply
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
[+] [-] pjmlp|3 years ago|reply
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
[+] [-] lewantmontreal|3 years ago|reply
[+] [-] thamer|3 years ago|reply
[+] [-] chappi42|3 years ago|reply
[+] [-] fractallyte|3 years ago|reply
[+] [-] grncdr|3 years ago|reply
[+] [-] hasukimchi|3 years ago|reply
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
[+] [-] efreak|3 years ago|reply
[+] [-] andrem|3 years ago|reply
It would be better to get it emailed or get some prompt to record it etc.
[+] [-] radiKal07|3 years ago|reply
[+] [-] JaggerJo|3 years ago|reply
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
[+] [-] notimetorelax|3 years ago|reply
[+] [-] artspb|3 years ago|reply
[+] [-] newlisp|3 years ago|reply
[+] [-] PaulDavisThe1st|3 years ago|reply
Can you say more about this choice?
[+] [-] asimpletune|3 years ago|reply
[+] [-] throwawaybner3|3 years ago|reply
[+] [-] adamnemecek|3 years ago|reply
[+] [-] btat1-2|3 years ago|reply
[+] [-] Annili|3 years ago|reply
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
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
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
"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
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
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
[+] [-] rwalle|3 years ago|reply
[+] [-] danpalmer|3 years ago|reply
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
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
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
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
[+] [-] mritzmann|3 years ago|reply
[+] [-] atarian|3 years ago|reply
[+] [-] djur|3 years ago|reply
[+] [-] zorr|3 years ago|reply
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
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
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
Good luck! It looks like an amazing product.
[+] [-] blipmusic|3 years ago|reply
The website now states:
What great turn of events, thank you for reconsidering! You have my money. :)——-
Old post (now incorrect):
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.