Hacker News new | ask | show | jobs
by eviks 509 days ago
> all the configuration that goes into it before I can use it to start writing code.

Yes, this is awful and something the default should've changed years ago instead of continuing this massive collective time waste. But presumably after 15 years you've configured almost everything you need? At least to the point of matching a static config file?

> Lua is great, but one JSON file is even better.

No way, it's a strict downgrade, you can have a simple lua table exactly matching json things, but then should you decide to do anything dynamic/complicated (which at one point even included formatting as Zed broke your config format on changes), you're stuck with json with no way out

> Installing plugins means updating them, which inevitably breaks things.

No it doesn't, just pin the version you the one that works for you and ignore the future? Or do you need that extra functionality from the updates? But then does Zed without a plugin even have this functionality?

But also Zed does plan to have plugins, so this won't be different?

4 comments

> Yes, this is awful and something the default should've changed

> years ago instead of continuing this massive collective time waste.

This doesn't seem feasible, because that would go against the culture and long-term practice of doing things. That's why approach of "starting from scratch and doing it right without the baggage" like Helix's works so much better.

I think I'm actively trying to not do anything dynamic/complicated. :)

If Zed breaks things too much in the future (to the point that its JSON config doesn't let me do something I need to get my work done) I'll probably go back to using Neovim. We'll see how it plays out over time. For now I'm enjoying having less configuration knobs.

i don't think vim is that bad out of the box. when i ssh into a box and need to get work done, i can install it and use sane defaults with pretty high productivity.

i'm used to a plugin- and config-light setup on my personal systems, with most of the customization being stuff like latex compilation and preview from a keybind rather than major changes to default behavior, but the whole "vim needs a bazillion lines of config!" thing isn't really true. some people like to spend a week bikeshedding it but it's by no means necessary. i've had the same vimrc for years and years and basically never need to change it.

Neovim is fine and just as easy nowadays -- if you can `git clone` two repos (in my case: AstroNvim + my config) and just start `nvim` then you can go fill a glass of water and it will be 80% done by the time you sit back on your computer.

But I agree with you and the OP that the defaults with zero configuration do matter and that I wish we had that in every editor.

> Lua is great, but one JSON file is even better

Yeah that single line makes me doubt the whole post, how can a format without comments be an upgrade to any configuration file is beyond me. My customized configs were full of ‘this was broken on this day by something else, link to obscure thread’ before I accepted the way of default.

Zed supports comments in the JSON file. I don't think I've seen any editor which uses JSON for configuration not allow comments in the file.
Then it isn’t json anymore! Don’t call it that
I wonder if we can come up with an agreed name for almost json stuff... Maybe json+ and we can tac-on additional characters for what's added. json+c (plus comments), json+t (plus trailing commas), json+tc or json +ct (plus comments and trailing commas), and so on
json5[1] is a thing.

[1] https://json5.org