Settings

Theme

Zed, a collaborative code editor, is now open source

zed.dev

1576 points by FeroTheFox 2 years ago · 641 comments

Reader

Octoth0rpe 2 years ago

I'm generally a big fan of zed and have been using it for 60%ish of my dev time for 6 months or so. A couple of nice things to note:

- It really is remarkably responsive,and makes one really notice how UNresponsive everything else is. I have reasonably fast machines, so we're not talking about the difference between 5ms typing lag and 500ms, but it's still pretty surprising. VSCode never felt slow on my macs until I started using Zed.

- They seem reasonably responsive to feedback. There was some contention around how search/replace was initially implemented, and the current builds have something much more usable IMO. I'm not sure how much that was driven by community feedback, but the changes were great.

- The debug syntax tree mode is a really neat feature that I think demonstrates how much more advanced zed is under the hood than older editors that are doing syntax highlighting via regex.

There are a few downsides that I'm hoping get addressed soon:

- The collaboration workflow/security isn't very clear to me. You sign in via github (no other option???), there are 'contacts' (I guess these are github usernames?), and 'channels' (where do these live? on zed's servers?). I would really like to know if I can self-host the chat server and use a company oauth provider rather than github. If the diffs being passed around are going through zed's servers, that may be a showstopper for the company I work for as well. If they're p2p and encrypted, maybe not.

- I would love to see ollama integration. This + continue is the only reason why I spend any amount of time in vscode now. There's an issue for it here: https://github.com/zed-industries/zed/issues/4424

  • benreesman 2 years ago

    I’m really picky about my tools in general and latency in particular, and I give Zed a spin from time to time, it’s sweet. Clean, minimal design aesthetic, tree-sitter, tight code, it’s a nice bit of work and I dig it a lot.

    But emacs 29 with the right flags and a tuned GC (no one does this! it’s got a heap-size from the 80s!) is just as snappy and has more amazing packages than VSCode.

    There’s a market for people who want something snappier than VSCode but less labor-intensive to set up than emacs, and I wish them luck: I think it’s a front runner there. But I can’t imagine switching my main axe up with a holy shit moment a lot crazier than tree-sitter in 2024 and not having the render loop be in JS.

    • darthrupert 2 years ago

      People are asking what settings would be useful to tweak. Check out the following:

      - gcmh -package and gcmh-mode and/or gc-cons-threshold variable (former should take over the latter)

      - read-process-output-max

      - jit-lock-defer-time

      - package-native-compile

      Doom Emacs sets gcmh in its initialization so tweaking that might not be needed there. You may still want to touch gcmh-high-cons-threshold and gcmh-idle-delay-factor. Here are mine currently:

          (setq gc-cons-threshold (* 1024 1024 1024))
          (setq gcmh-high-cons-threshold (* 1024 1024 1024))
          (setq gcmh-idle-delay-factor 20)
          (setq jit-lock-defer-time 0.05)
          (setq read-process-output-max (* 1024 1024))
          (setq package-native-compile t)
      
      I've done nothing scientific to check out if these help at all, though, so take them with salt. With and without these, emacs seems quite sluggish at least on a Macbook, in certain modes. On Linux things seem to be a bit better.
      • natrys 2 years ago

        The thing about gc-cons-threshold is that, too low a value and it will collect garbage too frequently. While a high value will drastically reduce frequency, but then GC pause will be big and you will likely feel whole system freeze and stutter when it happens. For me, 1GB is too high because I sorta notice the pause, I set it to 32MB but completely disable GC when minibuffer is active:

            (defun my-minibuffer-setup-hook ()
              (setq gc-cons-threshold most-positive-fixnum))
        
            (defun my-minibuffer-exit-hook ()
              (setq gc-cons-threshold (* 32 1024 1024)))
        
            (add-hook 'minibuffer-setup-hook #'my-minibuffer-setup-hook)
            (add-hook 'minibuffer-exit-hook #'my-minibuffer-exit-hook)
        
        Eli Zaretskii (current Emacs maintainer) also thinks 1GB is too high, though for somewhat different reason:

        https://old.reddit.com/r/emacs/comments/bg85qm/garbage_colle...

        Here is an interesting optimisation that was merged in master, but didn't make the cut for 29 in time. I thought it improved snappiness:

        https://tdodge.consulting/blog/living-the-emacs-garbage-coll...

        ---

        Anyway, I also have these in my init (I nicked these from Doom which I don't use but they have done a lot of work to dive deep into these things, mostly around what improves start up but the following might help in general):

            ;; if you don't use RTL ever, this could improve perf
            (setq-default bidi-display-reordering 'left-to-right
                          bidi-paragraph-direction 'left-to-right
                          bidi-inhibit-bpa t)
        
            ;; improves terminal emulator (vterm/eat) throughput
            (setq read-process-output-max (* 2 1024 1024)
                  process-adaptive-read-buffering nil)
        
            (setq fast-but-imprecise-scrolling t
                  redisplay-skip-fontification-on-input t
                  inhibit-compacting-font-caches t)
        
            (setq idle-update-delay 1.0)
        • benreesman 2 years ago

          I’m doing different heap sizes during package load, but I don’t have the mini buffer hook and in retrospect, I feel dumb.

          If I do inline attribution you mind if I borrow that under MIT?

          • natrys 2 years ago

            Go ahead. Though I don't think attribution is even necessary for something I myself may have borrowed from somewhere.

    • jitl 2 years ago

      How do you get a reasonably fancy Emacs to start up/open files quickly? Every time I try to get into EMacs after adding a few packages it becomes painfully slow to open a file for editing. Then I try to understand Emacs server, then I fail / give up and go back to vim.

      • ideasman42 2 years ago

        I've been using emacs as my main editor for years now and don't find the startup speed to be an issue - to the point I've never bothered with emacsclient:

        It starts up with ~77 packages in half a second.

        This is my config.

        https://gitlab.com/ideasman42/dotfiles/-/tree/main/.config/e...

        • benreesman 2 years ago

          That’s pretty close to what I’ve been running on the GC tuning but I like parts of your spelling better.

          This is going MIT as part of a bigger project in about a month (think Lucid s/C++/modern models/).

          If I inline attribution you mind if I borrow this or that?

      • mkesper 2 years ago

        Use doomemacs for a start. It really optimizes startup time and offers vast included modules as well as great package management. https://github.com/doomemacs/doomemacs/blob/master/docs/gett... Oh and for Windows, WSL2 seems to be the fastest: https://github.com/doomemacs/doomemacs/blob/master/docs/gett...

      • AlexCoventry 2 years ago

        Emacs server is quite straightforward. M-x server-start in a running emacs, then emacsclient <filename>. emacsclient -c if you want to open the file in a new window, or emacsclient -t if you want to open it in your current terminal. C-x # when you're done editing the file.

      • willdr 2 years ago

        Open it at 8am, close it at 8pm

        • baq 2 years ago

          I’d rather open at 8am, close on kernel upgrade.

          At least that’s how I worked with my vim tmux sessions ;)

        • jkrubin 2 years ago

          Hahahaha. A dev I work with who has been using eMacs for 30+ years is well known at my company for having eMacs sessions open for 6+ months at a time.

      • cyruseuros 2 years ago

        The way the other guy said. Then it breaks enough times, you give up, and switch to Helix. Nothing snappier out there (vanilla Vim included) and it comes with all the goodies you'd install 100 packages for (DAP, LSP, treesitter, sane default configs for dozens of languages)

        To each their own, but for a hardcore Emacs user (wrote a number od my own plugins) that actually tried and couldn't seriously adopt VSCode for more than a few months, Helix was such a nice surprise + change of pace. Worth giving it a shot if you're caught in that gap.

        • shanusmagnus 2 years ago

          Is there something that approximates org-mode outlining? I don't need all the other stuff org-mode does, but just the simple outliner functionality combined with all the other Emacs stuff is my golden handcuffs.

          • cyruseuros 2 years ago

            Not that I'm aware of just yet, unfortunately, so might be a good reason to stick around. For me the switch coincided with jumping on the zettelkasten train and I haven't looked back since. I miss some org mode fratures but constantly `org-refile`-ing I can do without.

      • benreesman 2 years ago

        https://imgur.com/a/i99Nisn

        1.4 seconds for 100 packages, half of which are on probation? My (and soon `HYPER//MODERN`'s) package set is under heavy construction, I'll be sad if I don't get it under 300ms including loading and rendering a logo at 6k from a cold disk which that was.

        Rust is a perfectly good language for writing tight code, but those `emacs` inner loops have been tuned by hard-ass pros for 30+ years in straight C, which is plenty fast too. Even the best Rust code doesn't have that kind of tuning in.

        `emacs` is fucking fast.

        • estebank 2 years ago

          With no intention to push back on Emacs being highly optimized, age of an application is not an accurate proxy for level of performance. If it were, grep would be faster than ripgrep. New software can apply optimisations discovered over the previous 40 years, and leverage architectural designs with different assumptions, like the GC limits in Emacs discussed elsewhere in the comments. Older applications can apply those same optimizations, but it's not a given that they will, and changing their architecture can be daunting, for sometimes unknown benefits.

      • lynx23 2 years ago

        I was about to answer "Use emacsclient", but then I realized you can't be bothered to configure it. For me, putting "(server-start)" into .emacs was always enough, but YMMV.

      • PH95VuimJjqBqy 2 years ago

        yeah, I can't deal with the emacs startup.

        I mean, it's not slow per se, but compared to vim it's noticeably slower so I can't deal with it.

    • da39a3ee 2 years ago

      > But I can’t imagine switching my main axe up with a holy shit moment a lot crazier than tree-sitter in 2024 and not having the render loop be in JS.

      Congratulations for winning HN sentence of the year before the end of January.

      • benreesman 2 years ago

        I’m glad I made a funny but it’s a lot of year to come :) And this one looks to be every bit as interesting as the last one was over-hyped.

      • conartist6 2 years ago

        It is a great sentence, and that holy shit moment is coming: when JS gains all the expressivity of tree-sitter and uses it to render code more beautifully than it has ever been rendered before.

        (Spoiler: https://github.com/bablr-lang/)

    • shanusmagnus 2 years ago

      > But I can’t imagine switching my main axe up with a holy shit moment a lot crazier than tree-sitter in 2024 and not having the render loop be in JS.

      I can't parse this sentence -- could you unpack it? Not being a dick, I really want to know what you mean.

    • oblio 2 years ago

      > (no one does this! it’s got a heap-size from the 80s!)

      Shouldn't the devs do this? We're in 2024, embedded systems have more RAM, IO, etc than anything from the 80s.

      • benreesman 2 years ago

        The, uh, GNU folks, are a little conservative in some ways that surprise the mainstream developers. But there are always flags for it. Well, except stupid-ass dynamic-linking of `glibc`.

        • oblio 2 years ago

          > are a little conservative in some ways that surprise the mainstream developers

          Conservative is one thing, but having the default be something that's detrimental to 99.999% of your users in 99.95% of situations feels like bad defaults/design, not being conservative. My worthless 2 eurocents :-)

          • estebank 2 years ago

            You would think that it would dynamically check the system on first run and set appropriate defaults.

    • ungamedplayer 2 years ago

      > But emacs 29 with the right flags and a tuned GC (no one does this!

      Please share how.

      • benreesman 2 years ago

        Both @darthrupert and @natyrys on the thread have said most of what I know. It's a little machine dependent to get the true sweet spot, but raising it from the like, megabyte (slight hyperbole) or whatever that it defaults to is the 80/20.

      • pja 2 years ago

        Ripped from my .emacs:

            (setq gc-cons-threshold (\* 100 1024 1024) ;; GC sometime after allocating 100Mb 
                  read-process-output-max (\* 1024 1024)
                  company-idle-delay 0.0 ;; company completions should be fast
                  company-minimum-prefix-length 1
                  lsp-idle-delay 0.1)  ;; clangd is fast
            (run-with-idle-timer 2 t (lambda () (garbage-collect))) ;; Trigger a GC after 5s of idle time
        
        This is something of a hack of course, but it works & memory is cheap. You might want to push the GC threshold back down after emacs startup - a GC that fires early is a GC that does less work per invocation & is therefore less likely to cause perceptible stutter.
      • dilap 2 years ago

        i got annoyed by emacs gc pauses and just disabled the gc completely (i think). haven't noticed any downsides so far. i'm in emacs all day...

            ;; don't garbage collect based on cons count
            (setq gc-cons-threshold 10000000000)
            (defun garbage-collect (&rest args)
             (message "trying to garbage collect. probably you want to quit emacs."))
        
        something i love about emacs is everything is implemented in the same abstraction (of a "buffer of text"). so i can manipulate and move around an embedded terminal in the same way as a normal file, etc.

        playing briefly with Zed it seemed like the terminal was a totally different "thing" than a normal file; i couldn't run the same text selection operations, couldn't split the window vertically or horizontally, etc. to me that loses a ton of the benefit of having a terminal in the editor in the first place.

        still, it's a very interesting project. i have a very love/hate relationship with emacs, so i'm always interested in alternatives...

    • nccnm 2 years ago

      Can you share more about your Emacs 29 setup? Thanks

      • benreesman 2 years ago

        I mentioned it above but I’m flattered by your interest (and remember your username as someone serious): my old dots were ok and are floating around but we’re putting together a multi-editor curated setup for good defaults and an emphasis on good, available-weight models as first-class citizens.

        It’s a 404 until I get to an RC, but aiming for March 1st on “hyper-modern.ai” for all MIT on emacs, nvim, and vscode.

    • sooheon 2 years ago

      Emacs still blocks input on simple things like package updates though.

      • benreesman 2 years ago

        Give straight.el (among others) a shot. Combined with use-package you don’t have to worry about that these days.

        • sooheon 2 years ago

          Ah ok. Last time I used straight it still blocked input on straight-update-all, didn’t realize they changed this.

          • benreesman 2 years ago

            There's a little tweaking sometimes.

            Most examples you'll see of `straight.el`/`use-package` configurations will have some version of: `(use-package something-cool :ensure t :config ...`. The `:ensure t` clause will cause it to fall back on `package-install` in the event it's not bolted into your local Cargo-style-own-the-world-and-dont-break repo mirror. Disks are big, it's like the right default now.

            But if you've got a package that's mis-specified in terms of where on `github` or wherever that `striaght` is supposed to find it, you can find it tapping `elpa.org` on the shoulder at a time when the UI thread is also doing blocking network IO.

            The `Messages` and/or `straight` buffers will have warnings about this, so it's fixable to find the offending package and it'll stay fixed, but in fairness what you're describing is possible.

      • bergheim 2 years ago

        Elpaca [1] does not do this. I use it and it works a treat.

        1: https://github.com/progfolio/elpaca

    • angra_mainyu 2 years ago

      > There’s a market for people who want something snappier than VSCode but less labor-intensive to set up than emacs, and I wish them luck

      Basically AstroNvim or Doom Emacs. Not a huge fan of Doom Emacs but AstroNvim got me to drop my main editors (Sublime + Atom) and I basically only use AstroNvim.

      One enormous advantage of Nvim is that I can run it anywhere. I run it on a Linux machine, a Mac, and a Tablet (w/ Termux) extremely easy (just clone my dotfiles, install nvim, and that's it).

    • dataangel 2 years ago

      what are the right flags and gc tunings?

      • benreesman 2 years ago

        I don’t have much to add on what sibling @darthrupert said. You tweak this or that to your box but that’s an excellent guideline to start.

    • kamaal 2 years ago

      >>But emacs 29 with the right flags and a tuned GC (no one does this! it’s got a heap-size from the 80s!) is just as snappy and has more amazing packages than VSCode.

      That explains my whole experience with Emacs. More time is spent in making Emacs awesome than actually doing my work.

    • minroot 2 years ago

      I can't still figure out how can I get Emacs not mess up indentation and auto indentation.

      • benreesman 2 years ago

        Most language modes have a `foo-ts-mode` now that uses `tree-sitter` to get a perfect* AST in the absence of errors, and almost always the most reasonable one in the presence of errors. `tree-sitter` is amazing, a real feat.

        It ships with 29 and it's work to find `brew` or `apt` or `nix` or anything giving you less than 29.1 these days.

        Have you tried a recent version? 29.1 is dramatically more accurate on everything from syntax highlighting to indention than VSCode (IMHO, they're probably either using or working on using `tree-sitter` too, those are serious people) or JetBrains stuff (they're working on their vscode clone more than IntelliJ these days).

        I only use `nvim` for commit messages and stuff the last few years, but AFAIK it has all the `tree-sitter` stuff too.

        If it's the sloppy naming of `c-basic-offset-this` vs. `py-indent-that` or whatever (I don't even remember), try a good baseline distro like Doom and tweak from there.

    • manupanday1998 2 years ago

      Yes you are correct

  • appplication 2 years ago

    VSCode has always felt incredibly slow to me, even compared to e.g. pycharm. , which I have always assumed of be otherwise roughly comparable. VSC’s lag in basic code inspection and linting became so annoying I had to switch off it. We’re not talking seconds, but maybe tenths of second lag, for everything at all times. I understand plenty of people love VSC, but honestly I have never been able to share that enthusiasm.

    • ahmedfromtunis 2 years ago

      Yep. For some reason, suddenly, vscode became painfully slow on my decently spec'd machine; 3 to 7 seconds per keystroke just to analyse the file to show intellisense tooltips.

      Yes, that was in seconds per keystroke.

      The irony is that I moved from neovim to vscode because setting up intellisense in (neo)vim was always a hassle and never worked quite well. Pylance seemed too attractive not to give it a spin.

      Now the lag has as mysteriously diminished, but still vscode is very far from being as snappy as (n)vim.

  • McBeige 2 years ago

    Ive been wanting a syntax-tree-viewer for months, to help me learn functional languages where figuring out what is even going on syntax-wise in the exmaples provided by tutorials keeps being an issue for me. Does anyone know of a way to see a syntax tree for any given snippet of code for any given language? I'd try Zed, but I'll have to wait for Linux support.

    • natrys 2 years ago

      I am not sure what debug syntax tree mode does in Zed, but if it's about tree-sitter generated syntax tree, you can see that in Neovim or Emacs (assuming you have major-mode/grammar loaded):

      1) In Neovim, do `:TSPlaygroundToggle`

      2) In Emacs, do `M-x treesit-explore-mode`

  • flexagoon 2 years ago

    > older editors that are doing syntax highlighting via regex.

    I mean, Emacs, which can probably be considered the oldest code editor at this point, got built-in tree-sitter (which is what Zed uses under the hood) support in the last release. So it's not really related to editors being new or old

    • dnsco 2 years ago

      It's not just tree-sitter that makes zed feel snappy.

      If you're using a reasonably fast language-server, which rust-analyzer apparently is (I didn't know this using vscode), the autocomplete & intentions feel instantaneous.

      I think the team has learned a lot from previous editor implementations (they were the core team of atom that was notoriously slow), and so they've had an opportunity to do a lot of stuff right.

      FWIW they also are the team that originally wrote tree-sitter.

      The quickness feels more like it's in the core of the editor. I was shocked how much it impacted the editing experience when I tried it in early beta.

      • FridgeSeal 2 years ago

        > If you're using a reasonably fast language-server, which rust-analyzer apparently is (I didn't know this using vscode)

        Some more anecdata to back this up: initial workspace load in VScode I can watch RA tick through its progress. Clean and boot up Zed and the same process is so fast that it’s almost unbelievable.

      • widdershins 2 years ago

        I've been impressed with the C++ clangd language server snappiness in Zed compared to both CLion (my old favorite) and Emacs (apple of my eye for 2.5 yrs).

        I always thought the major slowness was coming from clangd itself, so I'm surprised and impressed to see that Zed appears to be quicker on this front. I might be using Zed as a 'second opinion' editor because of this.

        However, now I'm used to the infinite customizability and coziness of Emacs, it's going to be hard for me to move across to Zed permanently.

    • The_Colonel 2 years ago

      As I understand, tree-sitter implementation in Emacs is currently more like a foundation for development / adoption by plugins, it's not really usable as-is today.

      • epcoa 2 years ago

        Your understanding is outdated/incorrect. Already a number of major modes have corresponding ts modes and I use them daily. This includes C++, Rust, Python, yaml, toml, json, Java, typescript, dockerfile and cmake. True not every major mode has treesitter in the official release but I’d hardly call the above “not usable”

      • nequo 2 years ago

        Emacs already had tree-sitter before 29, just not built in. You can do syntax highlighting[1] and structured editing with it.[2] What is missing for it to be usable in your view?

        [1] https://emacs-tree-sitter.github.io/syntax-highlighting/

        [2] https://github.com/meain/evil-textobj-tree-sitter

      • chlorion 2 years ago

        There are multiple tree-sitter based major modes that are usable right now!

        I use python-ts-mode, rust-ts-mode, c++-ts-mode, bash-ts-mode and a few more right now and they work well.

        You can write your own modes with it also, but I have not yet looked too deeply into this.

        It's definitely usable today in emacs-29, but not every language has a tree-sitter mode yet.

        Whoops my tab was outdated and I didn't see that others already replied.

    • sswezey 2 years ago

      As a note, the zed editor team were the creators of the tree-sitter project

    • thrwwycbr 2 years ago

      It's ironic that you say that, even though the people building zed were the ones building the tree sitter in the first place.

  • jasonjmcghee 2 years ago

    Re Ollama in Zed

    It’s very early, but I’ve been building a “trigger command/script and have it output anywhere” project that you could use as a bandaid solution.

    I added Ollama support (you can specify model in settings)

    https://github.com/jasonjmcghee/plock

    It works wherever you are

  • kamaal 2 years ago

    >>I have reasonably fast machines, so we're not talking about the difference between 5ms typing lag and 500ms, but it's still pretty surprising.

    I really envy people who can sense passage of time between intervals of 5 milliseconds and 500 milliseconds.

    My sensibility begins over a second. And to be honest even that is least of my issues. Same with start up time, I restart the IDE only once in a few days. I thinking spending a second or two extra for it is any where in the ball park of what I would call wasting time.

  • mjaniczek 2 years ago

    Now I wonder what's the typing lag of 10xeditor, compared to Zed...

  • akam4n4n 2 years ago

    how to you use ollama with vscode? some links/ details would help me a lot!

    • Octoth0rpe 2 years ago

      I use this extension: https://continue.dev/ their docs are pretty good, but it's also evolving pretty rapidly. For example, you no longer need to run the continue server yourself, it's entirely self contained in the vs code extension. I believe the docs still refer to how to run it manually.

      I work for a pretty conservative company re: GAI, and the ollama + continue combo made it through legal.

  • rob74 2 years ago

    > VSCode never felt slow on my macs until I started using Zed.

    I guess you haven't used Sublime Text before?

    • bastawhiz 2 years ago

      I switched _to_ VSCode because Sublime was occasionally so slow at times that it was unusable. It was very fast 95% of the time, but then I'd `git pull` on a very big repo and my machine would become unresponsive while Sublime did...something.

      • ben-schaaf 2 years ago

        Sublime Text 4166 has some major improvements in that area, previously ST would check every file in the side bar for changes in order to update its index but this is now done incrementally.

      • Player6225 2 years ago

        This is very strange to me, because I have always used Sublime Text for super-giant corporate repos, and always found it snappy compared to vscode. Wonder if it was a specific usecase or something...

        Every little while, I try to make vscode my main editor, because I enjoy all the features. I always switch back to Sublime just because VSCode's slowness bugs me.

        Haven't really tried Zed in earnest yet, though, because of no custom LSP support.

      • GrumpySloth 2 years ago

        I think on Linux at least it freezes due to watching too many files using inotify to update its sidebar. I wish there was an option to disable that. Same thing happens with Sublime Merge. It’s unusable on giant repos.

    • Octoth0rpe 2 years ago

      Not in 15ish years and at the time I think I had a 5400rpm hd, so that probably limited any perception of sublime being noticeably faster than other editors I was using (geany, kate). I don't doubt that sublime is faster than vscode today, but the vscode ecosystem is a pretty nice place to be and probably worth trading some speed for, especially on a nice mac where the trade off is probably small. Zed might be even better however.

    • satvikpendem 2 years ago

      Or vim, I suppose. It's remarkable how slow VSCode actually is, but I still use it because I hate configuring vim and packages always break when upgrading, it's honestly worse than npm.

      • herjazz 2 years ago

        Are you sure that’s vim rather than Melvin. Never had any issues with anything breaking on an upgrade using vim.

        • satvikpendem 2 years ago

          Not sure what Melvin is. I've always had issues, specifically when I have lots of packages, such as when installing stuff through lazy.vim.

          • sodapopcan 2 years ago

            Updating vim packages can be a nightmare if you don't vet your plugins and generally install stuff "just in case I want to try it out later". If you aren't using a plugin with any regularity, delete it.

            • satvikpendem 2 years ago

              Yeah but I never have issues with VSCode plugins, so I'm not sure what the difference is with Vim.

              • sodapopcan 2 years ago

                I don't know what vscode's plugin architecture is like but I imagine it's just that Vim's is extremely powerful and, you know, with great power comes great responsibility and all that. Unfortunately, many vim plugin authors are not responsible, or don't realize they aren't being so.

    • stevage 2 years ago

      I had to stop using sublime because it kept updating its search index at inconvenient times and slowing to a crawl.

      That and self updating in ways that broke my most important plugin.

      • SnowingXIV 2 years ago

        I’m still using Sublime for the references. Without fail I can load up any version of an application including older rails apps sub 3 and it instantly has context. I can easily jump to definitions and even on hover will show me where they are being used. In the context of foos.bars.baz I could easily infer where bars is defined. Seems to work across languages, doesn’t matter if it’s js, ruby, in an erb file it just works. Not to mention the flavor of vim feels great.

        VSCode complains and I’ve got to hardcode an alternative absolute path gemfile for Shopify’s LSP to work. It also feels clunkier, even on powerful machines.

        If Zed can give parity with Sublime on the references (I just tried and it did not seem to find any references when clearly bars was there) might be an interesting change. Considering it’s open source now I’d happily switch as it does seems super quick.

        I might also be old-man yells at cloud and the copilot integration doesn’t appear important yet, but current sublime support is pretty poor for it and seems like that’ll be a thing more and more.

      • nicoburns 2 years ago

        I was hitting that bug for about 6 months, but at least for me they have actually fixed it now.

    • bayindirh 2 years ago

      or BBEdit.

      • kstrauser 2 years ago

        That’s where I landed after v14 with LSP support came out. It’s so nimble! And extensions with shell scripts and CLI programs is right in my wheelhouse.

    • reddalo 2 years ago

      Cries in PhpStorm

tiffanyh 2 years ago

> GPL for the editor, AGPL for server-side components). GPUI, the UI framework that powers Zed, will be distributed under the Apache 2 license, so that you can use it to build high-performance desktop applications and distribute them under any license you choose

Interesting choice on licenses.

—-

I’m been super happy with Zed, my main requests (and I’ve sent in this feedback to them or contributed to existing GitHub Issues)

a. Window Size & Position doesn’t persist after closing Zed.

b. I constantly run into Language Server errors

c. Alabaster use to work as a theme, doesn’t anymore. Would be great if you could import VSCode themes into Zed

All above has tickets open.

----

Hope these small things get addressed because I truly love the elegant UI design of Zed

For those who haven't used Zed, it's the first GUI editor I've used in 25-years of development that wasn't distracting.

It's hard to describe how much more focused I am when not distracted with a Christmas tree scene of icons, menus, colors, etc. like you see in other editors.

Zed is very calming, due to its focus on not having distractions. Give it a try if you haven't.

  • mcdonje 2 years ago

    The licensing choice is smart. "Permissive" licenses permit closing off something built largely on the work of the open source community.

    Zed is made by the Atom guy and the Tree Sitter guy. Atom was MIT licensed. I wouldn't be surprised if he's thinking the MIT license is the path to VS-Zed.

  • theappsecguy 2 years ago

    I literally tried it out for first time today and none of autocompletions worked for TS or Ruby. I hope they sort it out.

    I love jetbrains because it’s so feature rich and helps me a ton but god damn it’s slow.

    • agrippanux 2 years ago

      This tripped me up as well, you need to set up the language servers in your settings json. There are examples in the Configuring Zed section of the Docs area on the site.

  • kefabean 2 years ago

    I do agree it's very zen using zed.

    As you say the interface is elegant and distraction free by default, no twiddling required to get a happy place.

    So far I've only used it for my personal projects and don't yet have full muscle memory, but weirdly even the keyboard shortcuts seem more intuitive.

  • bschwindHN 2 years ago

    Funny you mention that because I felt Zed had _too many_ buttons & icons for things compared to Sublime Text. I feel they could do without the dedicated stuff for GPT/Copilot and others, and sweep them away to the command palette.

  • mixmastamyk 2 years ago

    Which GUI editors don't allow you to hide toolbars and widgets? Or is it the defaults that appeal to you?

philsnow 2 years ago

I opened a random python project on my machine in Zed and it automatically loaded up an LSP for python. It looks like it's using the same one as my emacs uses (pyright), but it presents completion choices in a not particularly useful order. Typing `os.p` gives me for instance as completion choices:

  pwritev
  pwrite
  putenv
  popen
  pipe
  path
  P_ALL
  P_PID
  pread
  pardir
  P_PGID
  P_WAIT
... but then I type 'a' and then backspace and it gives some of the same choices, but in a different order

  P_ALL
  path
  pread
  pardir
  P_WAIT
  [etc]
here's a gif of it, I'm just typing and backspacing through "os.path" and watching the completions be in an unguessable order: https://snap.philsnow.io/2024-01-24T13-57-09.q7pyi8re104uqhn...

Is pyright just giving Zed all the possibilities and it's up to Zed to rank them? I don't know the details of editor/LSP integration. lsp-whatever in emacs ranks these choices in a reasonable order.

  • thearrow 2 years ago

    I’m also curious about the answer to this! I noticed similar behavior when opening a Typescript project. Enjoy the low latency, but I’d also appreciate accurate/helpful autocomplete suggestions.

  • MrJohz 2 years ago

    Yeah, I noticed while writing Typescript that it was suggesting `String` above `string`. In Javascript and Typescript, there are almost no situations where `String` is the correct thing to use, so this choice surprised me.

    I tried it out today, and in all fairness it is a very attractive and pleasant-to-use editor, but it felt like it was missing a lot of the little details. Things like suggestion order, or being able to open terminals side-by-side, or showing quickly where all the type errors are in my project or even a single file.

    The collaboration tools sounds really neat, but unless I can convince colleagues to use it with me, I don't have anyone to collaborate with! For that, the little details are hugely important.

    That said, it looks and feels wonderful, it's a very elegant tool.

  • dr_kiszonka 2 years ago

    Interesting. I sometimes have the same issue with pyright (via pylance) in VS Code on Win.

packetlost 2 years ago

I hope this leads to Zed being ported to other platforms (Linux, please!)

  • misternugget 2 years ago

    Hey! Engineer at Zed here. Linux port is on our roadmap. Hopefully we'll get it done this year!

    • bryango 2 years ago

      Hey! Thank you for this cool editor! However, has it been written with cross-platform support in mind? Otherwise, porting from mac to linux could be rather painful and time-consuming... Will there be an ETA for us linux users? I saw it on the roadmap [0] but without an ETA.

      [0] https://zed.dev/roadmap

      • jhasse 2 years ago

        > However, has it been written with cross-platform support in mind?

        Nope, it's using Apple's proprietary Metal API.

    • shortrounddev2 2 years ago

      What about Windows?

      • misternugget 2 years ago

        I think that is on the roadmap too, but possibly further down.

        • shortrounddev2 2 years ago

          You know Windows is the most common development platform? If it were me I'd prioritize it

          • mrgoldenbrown 2 years ago

            The Zed team disagrees. Here is what they say in the github discussion on the issue: (https://github.com/zed-industries/zed/issues/5394)

            "We will let you know when windows support is under development. The Zed team isn't taking feedback on when we start on windows support, nor why we didn't start with windows.

            The amount of people on each platform isn't relevant, as it starts with the base assumption that more people = better to the Zed team. Growth driven development unlikely to lead to a resilient, high quality product long term."

            • Rapzid 2 years ago

              Haha, well they will get lots of feedback they don't want to take.

              A company like Jetbrains can do this to an extent due to existing products fueling long term R&D efforts before they bare fruit. Interested to see how this outlook holds up as the runway burns and investor pressure increases from that cool 12.5m they raised last year.

              • 9935c101ab17a66 2 years ago

                From what I can find, the used OS of software developers is 61% windows, 46% Mac so this argument has no weight on the considerations the team should make Å— it’s essentially a toss up.

                Even if it weren’t a toss up and significantly more devs used windows, deciding to target windows based solely on OS market share is one of the worst things a small dev team with finite resources could do. It’s just not a compelling argument at all.

            • PoignardAzur 2 years ago

              Gotta respect that they know what they want.

          • olingern 2 years ago

            I think linux + osx combined is probably developer majority. I'm assuming most Windows development is .NET or Unity based. Over the past nine years, I've worked primarily with Node, Ruby, and a smidgen of Java and no employer has issued Windows machine. It's in sharp contrast with the start of my career where I was in VB6 and C# where I only worked with Windows environments. Could be confirmation bias, though.

            • shortrounddev2 2 years ago

              Windows is a great platform for developing any language or platform, not just .Net. Personally I think it blows macOS and its dated tools out of the water in any category

              https://survey.stackoverflow.co/2023/#section-most-popular-t...

              Stackoverflow found that Linux and macOS is the slight majority for professional use and the minority for personal use with developers (with the caveat that the total professional use of all categories is >100%)

              • alemanek 2 years ago

                Just curious what tools are you missing on MacOS or Linux that are found on Windows?

                I have been on MacOS the last 8 years or so but before that was all Windows and Linux. I prefer MacOS now but curious what I am missing. My colleagues that are using Windows machines all use WSL with dev containers so really just using Linux under the hood.

                My experience is that pretty much everything is cross platform these days. I don’t do .Net or game dev though. Just Go, Java and some NodeJS these days.

                • Rapzid 2 years ago

                  > so really just using Linux under the hood

                  Yeah, but with Windows GUI along with fractional scaling, device, and etc support haha. I've developed on both bare Linux and for years in Linux VMs. Saying Windows+WSL is "really just linux under the hood" does this setup a massive disservice. It makes me smile every time I type WSL into the terminal lol.

                  • alemanek 2 years ago

                    Yeah Linux desktop environments are a bit of a mess but OP specifically called out MacOS as well. Once you add Rectangle it is a solid DE in my opinion. Also it is Unix/linux compatible so kind of the same beast with good GUI/hardware and *nix terminal.

                    Was just curious what Windows only tools I am missing out on.

                    • Rapzid 2 years ago

                      Fair. But I will say that OSX is superficially similar to Linux to many people.

              • Rapzid 2 years ago

                I agree. Long time Linux engineer who prefers Windows to OSX as a desktop OS. Currently use a Windows workstation with WSL and VSCode as a daily driver. I feel this currently gets me the best of both worlds(Windows/Linux).

          • 9935c101ab17a66 2 years ago

            It is, but barely (windows is @ 61%, macOS is at 46% based on the numbers I found). And even if we ignore that, number of potential users is far from the only factor you’d consider when choosing the first platform to target for a new project. And then, ignoring that as well, just because an OS has more potential users in total, that doesn’t mean it has more potential users of your editor.

            There’s lots of reasons to not choose windows as a first release platform, and it being ‘the most common development platform’ isn’t a compelling one, especially for a small team with finite resources.

          • Shorel 2 years ago

            Even when I am forced to use Windows, I develop on Ubuntu inside a Virtual Machine.

            About 80% of the developers at my company do the same. Only a few are happy with just Windows.

            So, I would prefer if they prioritize Linux and leave Windows as the last one.

        • archon810 2 years ago

          Is there some place I can subscribe to the Windows release notification?

    • kvark 2 years ago

      How are you planning to tackle the GPU API differences?

      • 1propionyl 2 years ago

        (Not OP)

        These days that's a lot less of a concern than it used to be. It is a lot of up-front work to facade e.g. Metal, Vulkan (and even D3D12) but it's much much much easier than back in OpenGL vs D3D9/10 days.

        Most of the general concepts are more or less the same across them all these days. The "shapes" of the APIs are very similar.

        A texture is a texture is a texture. Same for a vertex/index/uniform buffer, vertex/fragment/compute shaders (notably not geometry, but you can just use compute), etc.

        • 6gvONxR4sf7o 2 years ago

          I'm not in the graphics world at all, but I read this lively discussion last week (post [0], discussion [1]) that made me think the situation was pretty messy. Is it maybe not as bad as that makes it appear?

          [0] https://www.carette.xyz/posts/we_are_doomed/

          [1] https://news.ycombinator.com/item?id=38994780

          • raphlinus 2 years ago

            I'd recommend wgpu. It should be a fairly easy migration from Metal, as Apple has been actively involved in the design, and there are similar concerns for developer experience (unlike, say, Vulkan).

            Unfortunately, graphics is in many ways the easy part. Really excellent integration with system menus, preferences, keyboard, input method editing, all have more variation across platforms and a still-evolving story of solid Rust abstractions. Lately, we've decided to try joining forces with the winit project to see if we can get those problems solved well.

    • gtirloni 2 years ago

      What kind of help do you need to make this happen?

    • awill 2 years ago

      Excellent. A big reason I use Sublime is because it's cross platform (Mac at work, Linux at home).

    • cpuguy83 2 years ago

      Since you are here I'll hijack the thread :) What about remote support ala vscode-server over SSH.

      • c-c-c-c-c 2 years ago

        Please not ala vscode-server over SSH.

        Do it proper like emacs tramp so it will connect to any platforms/architectures.

        • Shish2k 2 years ago

          “Please don’t do it like a 4x4 truck, do it proper, like a bicycle” — there is some overlap between those things, but for people who are actually making full use of the former, the latter is not a useful suggestion

          • klyrs 2 years ago

            I'd suggest that the people who make "full use" of vsc-over-ssh are satisfied with vscode, so it would be unwise to target the full featureset.

            More generally, targeting another project's complete featureset is often a great way to get mired down in the wrong details. Unless you can afford to do a proper cleanroom -- then, you'll be able to at least match the performance and useful abstractions used in the original.

            • rand_flip_bit 2 years ago

              > I'd suggest that the people who make "full use" of vsc-over-ssh are satisfied with vscode, so it would be unwise to target the full featureset.

              Remote SSH + Dev Containers and their seamless integration (even stacking one on the other) are the only features that keep me using VS Code. I would love to see the full implementation of these in an editor as fast and light weight as Zed.

              • angra_mainyu 2 years ago

                How exactly are these features present in your workflow? I honestly struggle to think of when I'd ever use this.

                Fwiw, I do a lot of infrastructure-as-code, full stack, and systems programming.

                I usually have a split screen (editor | terminal) or two terminals on the side, and exec into a container, or use devenv.sh.

                If I _really_ need to modify files in the container as I dev and a "make" doesn't cut it, I usually just run podman with a -v mount. Similarly for remote machines w/ sshfs, though I try not to.

                • MrJohz 2 years ago

                  Devcontainers are amazing for getting a consistent environment set up on multiple computers on multiple operating systems. I was in this situation recently with a new colleague who was using a very locked-down Windows computer, and it was really convenient for the "you must install" list to be Docker and VSCode only. It's definitely not ideal - it adds overhead on Windows and Mac, there's occasional networking issues, and I don't have all the creature comforts of my usual shell - but it's very convenient for what it is.

                  Similarly, editing code in-place over SSH rather than rsyncing back and forwards is very useful for certain types of embedded development. I worked for a while on sensor systems where a lot of the logic was handled by a Python webserver that couldn't really run without access to the sensor data it was using. Developing entirely locally was therefore difficult, but developing on the machine was also painful because it didn't have the right tools. So we'd work locally, and then copy the Python files over every so often and restart the server. At the time, I don't think VSCode's remote stuff was working as well, but I believe now it's a lot better and could have handled that situation well - edit everything in-place, run it immediately, but still have the power of you local development machine available to you.

            • scottlamb 2 years ago

              > I'd suggest that the people who make "full use" of vsc-over-ssh are satisfied with vscode, so it would be unwise to target the full featureset.

              Wha...? This is a killer feature. I'll put up with a lot of crap to use it. That doesn't mean I wouldn't switch to something nicer in other ways if it also offered this killer feature.

              It's hard for me to understand why there are IDEs under active development not trying to offer this feature. It is so much better an experience to have the network split into the proper place: between the UI and the heavy computation. Having the UI too far away undoes whatever responsiveness work has been done and more. Having the heavy computation too near means it's hard to develop and test the far environment, take advantage of its compute, etc.

            • cultofmetatron 2 years ago

              > the people who make "full use" of vsc-over-ssh are satisfied with vscode,

              almost all my coding these days is over vsc-ssh. if zed supported sshing into a remote host and into a docker container as seamlessly as I can in vscode, Id switch immediately. The performance of the ui in zed is so much better. I'm a bit sad I can't switch with its current feature set.

          • c-c-c-c-c 2 years ago

            The former is bad design, it has no gradual fallback and works in a terrifying way. It pulls binaries from MS servers and runs a headless vscode instance on the remote machine. You are dead in the water if you target a machine/architecture it doesnt support.

            You want to target FreeBSD? Linux on POWER or RISC-V? An old (ARMV6-TDMI) Raspberry Pi? Sorry, no remote work for you.

            They are not an apple and pears comparison...

            • agubelu 2 years ago

              I'd very much prefer something that works seamlessly in 95% of the use cases and makes me do some work or look for an alternative for the remaining 5%, than something that makes me do work in 100% of the cases.

          • tomjakubowski 2 years ago

            Bikes likewise have advantages that 4x4s lack. If you mean to imply everyone ought to be satisfied with the 4x4, and not ask for a bicycle: no. We can have both.

        • oblio 2 years ago

          What's the architectural difference between the two?

      • madeofpalk 2 years ago

        I'm really keen for Windows support, but only if it means WSL. I hope their architecture allows for it.

        • yoyohello13 2 years ago

          When they get linux support you could probably run it in WSL, since WSL supports GUI apps now.

          • madeofpalk 2 years ago

            I don't think I would like that. I haven't been impressed with the experience of running GUI apps within WSL. Weird window controls/resizing, compositing, and font rendering issues would be a hard blocker from using this as probably the second most important app on my computer.

      • spearman 2 years ago
    • LoganDark 2 years ago

      Is there any way to make it compatible with macOS 10.14? Your minimum macOS requirement is literally just one release away from what I have!

      • hav 2 years ago

        I'm running it just fine on 10.14.

        • LoganDark 2 years ago

          During the closed beta, the requirements said the minimum was 10.15, and I tried to download it and run it anyway and it wouldn't run.

          Did you have to build it from source?

          • hav 2 years ago

            I have to apologise and backtrack here. I was under the impression that "Sonoma" was in fact 10.14 but it's just 14. 10.14 was "Mojave".

    • WillAdams 2 years ago

      Will you be using GNUstep for the port?

      • Klonoar 2 years ago

        Nobody wants to use GNUStep in 2024.

        Their UI framework is also rendering via the GPU, so it's more likely they'd wrap it in a GTK/Qt/whatever window and then just render accordingly. You don't need GNUStep for it since there's little "mac"-isms you need to cover.

    • rmrf100 2 years ago

      Great! waiting for it!

  • ufo 2 years ago

    Speaking of Linux, are there any other editors we can use today? I tried to look for one recently but couldn't find anything. (edit: I mean collaborative editors)

  • starkparker 2 years ago

    As much as I hope for that, I also hope this leads to Zed compatibility with other collaborative editing/CRDT clients, like SubEthaEdit and Etherpad.

gloosx 2 years ago

AI helpers, Chats and Calls??? Microsoft log-in, Commercial plans, Telemetry? Seems like an overload of everything for an editor - more distractions not a new way to code. Def sticking with good old nvim for some longer time, no better editing experience engineered yet

  • globalnode 2 years ago

    yeah i noticed that too, whats so hard to just get a simple editor that gets the job done without so much wasted energy and code.

    • jeremyjh 2 years ago

      Why is another one of those needed? Personally I'm excited about the idea of a feature-rich editor that is still blazing fast.

      • gloosx 2 years ago

        It is not really needed, but this one is definitely here for the sake of announced commercial plans. Maybe it is faster than vscode, but it is still not fast enough like most of based terminal editors. I just made my benchmarks with 500MB of dev/urandom bytes to open on clean nvim and zed. Nvim opens it in 20 seconds while it takes 30 for zed, so I can say there is at least something inside the core engine which works 50% slower that of my champion's. Non of the landing page benchmarks at zed features a fair competition with really fast and great editors.

        Editor's main purpose is to edit, and i don't think that stuffing anything else in the basic box without user asking for it is necessary. You can always pick a plugin if you need AI or collaboration or suddenly hundred species of messenger is not enough and it MUST be inside you editor instead of a usual swipe to an adjacent screen.

        • jeremyjh 2 years ago

          The performance we're talking about here is not startup time, but responsiveness to keystrokes. Fast startup should also be a goal, but this is primarily an editor for doing development work with, and for me at least those kind of editors stay open all day (or more) for each project I'm working on. I use a very lean vim configuration for other use cases.

robin_reala 2 years ago

Really nice and fast (which is the reason I’m still using Sublime instead of VS Code). I’ve only found one piece of functionality that’s dramatically slow compared to Sublime so far: selecting all of the current highlight. In my current file I have 2,396 occurrences of `<span>`. Selecting all of them in Sublime (with ctrl + cmd + g) is certainly less than 200ms. Doing the same in Zed (with cmd + shift + l) beachballs my machine for around 5 secs.

For most code work that’s probably not a situation to optimise for, but I often work on large markup documents.

koenbok 2 years ago

Zed developers, if you read this, please get inspired by Cursors "Fix it" button that you can click on any error. It simply starts a new chat with the code context and error message, suggesting possible fixes.

I'm currently learning Rust and this is such a powerup that I honestly wouldn't know how to learn anything without.

  • ethanwillis 2 years ago

    Zed developers, please don't. I don't want my core editor potentially sending out my code to who knows where or wasting cycles analyzing it.

    If people want this just let it be a plugin.

    • glennpratt 2 years ago

      > Zed supports GitHub Copilot out of the box, and you can use GPT-4 generate or refactor code by pressing ctrl-enter and typing a natural language prompt. https://zed.dev/

      Seems like that ship has sailed. Maybe it's a plugin already or could be in the future, but that's not on GP's suggestion.

      • toastercat 2 years ago

        I'm already picturing a "Zedium" fork for the FOSS/Privacy enthusiasts.

        • ethanwillis 2 years ago

          This made me chuckle. Then at the same time I find it disheartening that privacy is currently seen as an enthusiast position rather than the default. I really dont mind the idea of these anti-privacy things being included as long as I have an option to turn them off before running Zed for the first time.

          • Aeolun 2 years ago

            To use them you’d need to already have a copilot subscription, and the GPT-4 thing apparently requires you to deliberately invoke a command. I’d say it’s pretty safe by default.

      • smodo 2 years ago

        I’d say the ship is in port but ready to sail. Before this does anything you have to provide your own API key. So it’s off by default. It’s just the button that is there.

      • Alifatisk 2 years ago

        I’d much more prefer keeping all these Ai tools as plugins to keep the editor light.

    • zamadatix 2 years ago

      Beyond "is it on by default" (due to data privacy concerns) whether something belongs in a "core" editor or in a plugin is a whole separate can of worms - moreso if the core editor starts shipping plugins. There is someone who reads that agreeing it means the editor should be just a plugin store and if you want font hinting, syntax coloring, tabs, terminals, smooth scrolling, and so on then download them yourself. At the same time there is someone who reads that agreeing it means the editor should have anything possible related to working with text but if you want to play a video while you code the plugin system should allow you to do that in a pane. Neither are really right or wrong about what should be a plugin, it's really a matter of what the tool wants to optimize for out of the box.

    • ra1231963 2 years ago

      It seems inevitable we’ll also be able to run LLMs locally, which would make this type of feature more appealing.

rmdashrfv 2 years ago

I've been following Zed for quite some time now and happy to see them follow through with the OSS move.

I personally don't like for my editor to send out any kind of external requests at all, and this is actually what keeps me on vim as my main editor. I also don't like limited login options

It would be cool to have a version that's just a stripped down Zed, and if need be you can install the extra stuff as plugins.

WalterBright 2 years ago

Zed was the name of the Zortech C++ IDE back in the day!

It disappeared, though, because the author (Phil Murray) disappeared and we didn't have a license to continue with it when Zortech was bought by Symantec.

It's too bad, it was a nice editor. I never was able to find out what happened to Phil. He was an excellent programmer, and an all around pleasure to work with.

silcoon 2 years ago

Great idea having a Rust editor fully open-source, and I also saw the GPUI crate in the codebase. Happy to try it!

P.S. For the first 5 minutes I thought Zed was developed by Meta... please change that blue :D

P.S.S: it's incredibly fast, and already has rust-analyzer included.

briantakita 2 years ago

I had the pleasure of working with Nathan Sobo when he joined Pivotal Labs ~2008. He had a burning desire to create a transformative text edior/ide back then. He is bright, not only in an intellectual & talent sense, but also in an energetic sense. He is also compassionate & genuine person. I'm very happy & inspired every time I see his endeavors progress.

Knowing Nathan has been one of the major catalysts for me to improve the art of software craftsmanship. Sometimes you meet amazing people in life & I count Nathan as Amazing in many ways.

  • nathansobo 2 years ago

    Wow Brian, nice to hear from you. Thanks very much for your words! I remember you setting a new standard of speed for me when we worked together!

    • briantakita 2 years ago

      I credit Nathan Wilmes for showing me how to speed up my development techniques & decision making...Mainly by observing him work during our pairing sessions. It's interesting how one can learn effective practices that are difficult codify with conscious thought & written or spoken language...Yet the human observational systems & nervous system are effective in working with these complexities. It's almost like how a GPU frees the CPU from processing graphics or linear equations.

mxstbr 2 years ago

Here is a direct link to the repo: https://github.com/zed-industries/zed

cdchn 2 years ago

I usually try to get into an IDE from vim every 6 months/year and Zed is the first IDE when I actually came close to being successful. Usually what kills me with IDEs is distractions, things getting in your way, and responsiveness. Zed is the "cleanest" IDE I've found so far on many of these points. Not totally 100% (pyright being the most prominent annoyance I'm trying to turn off right now) but not enough to make it give up in just a few hours!

AlexAndScripts 2 years ago

How many people find real time sharing helpful? I've never found it to be beneficial. I'm curious.

  • misternugget 2 years ago

    I only joined Zed, the company, a week ago, so take this with a grain of salt, but:

    I've never really used real-time sharing (tried VS Code's Live mode and other apps) for longer than just 1-2 attempts, but at Zed things are different somehow. Everybody is constantly available in a channel and people just hop in or out. In the last 7 days I spent 3-5hrs every day pairing with others, using Zed's live mode. No video, only audio and sharing code in Zed (no video was weird at first, but now I think I'm starting to get used to it?)

    IMHO it's a combination of culture and technology, but when the mix of that is right it really feels game-changing.

    • Aeolun 2 years ago

      I think what’s nice is that it’s frictionless. If I can just click a button to see someone’s editor, then there’s no dance with sharing screen, I can open files I need to see, etc.

      With standard sharing you always end up trying to direct people to do things instead of just showing them.

    • cauthon 2 years ago

      > In the last 7 days I spent 3-5hrs every day pairing with others

      This sounds remarkably inefficient?

      • volsa_ 2 years ago

        Are you kidding? Sounds remarkably efficient specifically because OP just joined a week ago.

      • robodan 2 years ago

        That may depend on what you're trying to do. If you are figuring out something tricky, then lots of quiet head down time is what you need. Every interruption hurts when you are concentrating.

        However, a lot of the time is just figuring out how to glue together multiple systems. Being able to pull in various people to interface little bits is priceless. There is no flow here, only collaboration.

  • shortrounddev2 2 years ago

    As a senior engineer, it really helps when helping junior engineers. When I'm on a call and we're sharing screens it gets really annoying having to tell them "no, go up. Go up, all the way up, the button at the top. THE TOP"

    • 9dev 2 years ago

      This. The worst thing is that I get mad at them for not doing what I want them to, faster, when the tooling and my crooked explanations are at fault, not them. Not that I mention that out loud, but sometimes I feel ashamed for those feelings.

      Having real time collaboration that works so seamlessly as Zed apparently does would really get me to consider switching IDEs!

      • mixmastamyk 2 years ago

        Seems like VNC or similar would be a better solution. Might need to use a terminal or other program. Instead of confining it to one application.

        • pflanze 2 years ago

          I'm using VNC for coworking/mentoring sessions and it works very well for us (it's lower latency, higher frame rate, sharper picture than typical screen sharing, and allows both/all sides to interact with the session and use the mouse pointer to point to things). We're using Linux on both the server and client side. There's a full desktop on the remote side, to fully interact with that (to have key bindings go to the server instead of the local desktop) the client needs to be made full screen. Latency isn't really an issue even between central US and Europe.

          I've automated the set up of a Debian server for the purpose using[1]. There are some details on how to run it and how to set up the client side here[2] (probably slightly outdated). Feel free to mail me about it.

          [1] https://github.com/pflanze/chjize [2] https://github.com/pflanze/chjize/blob/master/client-side-to...

        • edgyquant 2 years ago

          You can share terminals in live share and even share servers etc. I’ve had no issues and I’ve built multiple teams that are very collaborative at this point. Dozens of engineers

      • shortrounddev2 2 years ago

        I feel no shame for getting mad at my coworkers

        • 9dev 2 years ago

          Maybe not your peers, but I hope you feel at least alittle guilty for being mad at junior developers under your guidance:)

  • mikaylamaki 2 years ago

    Zed developer here, You can come try it out with us right now if you like: https://zed.dev/channel/zed-283

    Though you'll have to sign the CLA first :)

    • AlexAndScripts 2 years ago

      Thanks for the offer. I unfortunately don't have a mac but I appreciate it :)

    • flakes 2 years ago

      This looks really cool, but I have a suspicion my employer would be against external connections. Any distant plans in the future for an enterprise/onprem license?

      • mikaylamaki 2 years ago

        Yes! In fact, that's one of our planned revenue sources, once we've fleshed things out :D :D

  • zzyzxd 2 years ago

    When a person tells another person "you need to do X" or "I did Y and it didn't work on my machine", they sometimes ignore important details due to their own curse of knowledge. That's when I need a shared terminal/editor so that both parties know exactly what is happening.

    I don't frequently share terminal/editor but occasionally need to do so, maybe a handful times a year. Most of times when I tell a new colleague "hey, connect to my tmux socket by running this command / opening this link", they were amazed and thought it was magical. I am not a Zed user but it's always welcome to see people making effort to make pair programming easier for everyone.

    Now, I don't know how I would feel if one day my colleague send me a sharing session link that can only be opened by a particular editor.

  • candiddevmike 2 years ago

    The benefit as a viewer is you can drive navigation on your own without asking the presenter to go to a certain spot. So the presenter can be discussing a problem or a function, and you can investigate/gather context without interrupting them, among other things.

    I personally can't live without it, and am almost annoyed when folks aren't using VSCode/have no way of doing a live share. Screen share sucks.

  • frankjr 2 years ago

    It sounds nice in theory but I've noticed I cannot focus when somebody else is looking over my shoulder. It could be useful as a way to occasionally show somebody around the code base though.

    • comprev 2 years ago

      The anxiety of someone constantly peering over my shoulder in a virtual sense greatly amplifies any imposter syndrome already present.

      Every typo, every goofy idea (which clearly would not work), etc. all laid bare to see in realtime.

      Pair programming was the main reason I left a company after management rolled it out to every team.

  • porsager 2 years ago

    It is such a game changer for me. Pair programming or multi pair programming if you will, suddenly has 0 barriers. Including others in your session with no overhead changes things completely. Before I would rarely include others in my processes because it cost too much. Now I'll do it whenever... Switched from sublime and got my coworkers macs just to be able to use zed and work in this way.

    It is extremely important it works fast and fluid, and zed is the only one I've tried that nails it. There are still a few things that needs tweaking wrt. undo history, but I'm sure they'll get that to feel intuitive in the end.

  • kevsim 2 years ago

    In our 100% remote startup, VSCode live share and Slack Huddles is how we work through the really tough stuff together.

    We should probably do it more often than we do, but there is a real fatigue after an hour or two.

    • morajabi 2 years ago

      what do you think causes the fatigue?

      • kevsim 2 years ago

        I think it's mainly the intensity of the sessions. You've got someone on the other end of a call so you don't really chill and take it easy. Creates some urgency to get the thing done and you're just a bit fried by the end.

  • gpm 2 years ago

    I've greatly enjoyed pair (and trio) programming with friends using it (vscode's version of this) on side projects. For the most part I'm not sold that pair programming is an efficient way to program, but it's a nice social way to program.

    If you're going to do it, especially remotely, it's really nice to have your editor support it instead of just using screen sharing.

    • AlexAndScripts 2 years ago

      I've never really pair programmed - I've worked on joint projects, of course, but collaboration occurs over discord/github. I'm intrigued - what does this actually consist of? Does one person write one function and another write the next while you chat about what needs to be done?

      • gpm 2 years ago

        We tend to work on one 'thing' at a time. Sometimes that means we're both/all on the same few lines of code writing a new function - at which point one person is usually doing all or nearly all the typing. If you then need to go define a constant somewhere else in the code or something the other person does that so you don't have to pause. Other times one thing involves code in various places because you're doing something like changing what arguments a function takes, or fixing compiler warnings, and we do spread out and handle instances of the thing we're fixing as we come across them.

        Lines of code per second it's closer to one person than the 2 or 3 people involved, but the quality of those lines definitely improves a bit as people spot each-others mistakes/less than optimal choices. (Edit: But I'd emphasize we're doing this for fun, not to maximize productivity)

      • comprev 2 years ago

        Often one person is the driver, the other is a director.

        Like being in a rally car :)

  • yawboakye 2 years ago

    ime, real time sharing works best when there’s shared context. otherwise it’s essentially an artist rendering a public performance in the presence of an audience. unless you derive some joy from watching people code it could get frustrating real fast.

  • aseipp 2 years ago

    Honestly, it's pretty cool in my experience; in VSCode everyone gets their own "client-side navigation" so while you are typing something, your coworker can go look up a function for you in another file, etc. Even though they exist in "your" instance, they still get Go To Definition, Find References, type-on-hover, etc.

    Realistically though it doesn't replace every instance of screen sharing, for me. It's also cultural to some extent I guess. For things like debugging or being intro'd to a new codebase, I think it's great, though.

  • pjmlp 2 years ago

    Same here, for me it is a gimmick without much value over a screen sharing session.

    • brimstedt 2 years ago

      I disagree.

      For example, in vscode if the sharer start a http-service the port can be port forwarded through the session so anyone in the session can interact with the service.

      Pretty neat and useful!

      • pjmlp 2 years ago

        I find it as interesting as mob programming.

        Anyone can interact with common team servers.

        It is one of those things that developer advocates love to show at conferences.

        • smoldesu 2 years ago

          Maybe I'm opening the lid to the industry's best-kept secret, but every team I've worked on used SSH with a shared tmux session for pairing. There are probably more complex tools that cover every use case, but I never encountered much demand for one.

      • AlexAndScripts 2 years ago

        That is pretty cool, I didn't know about that. I could see it being useful in some niche circumstances.

NIckGeek 2 years ago

I just tried Zed and it is definitely really pleasant to use. I'd need at least a Java LSP to use it for real (and preferably general LSP support so I can code in my own programming languages with it) but I can see a lot of promise. If they ship a Linux release so I could use it on my desktop too they could win me over from Sublime Text/IntelliJ.

  • ra1231963 2 years ago

    > and preferably general LSP support so I can code in my own programming languages with it

    I’m curious, do you really use your own languages for day to day development?

    • NIckGeek 2 years ago

      About 70% of the programming I'm doing right now is in my own language. But like, my full time work is programming language research so I accept that's an uncommon use-case.

elashri 2 years ago

That's great news. I actually like their zed font [1] which is custom-built from Iosevka. [2].

[1] https://github.com/zed-industries/zed-fonts

[2] https://github.com/be5invis/Iosevka

KAdot 2 years ago

Is there a way to disable all "collaborative" features, including removing the "Sign in" button?

evmar 2 years ago

This looks really nice, but I am confused why the install is over 350mb, including a 300mb binary. I thought Electron-based stuff was big but this is even somehow more!?

  • lucideer 2 years ago

    The core app itself is 100% Rust, but it supports integration via Microsoft's Language Server Protocol[0][1]. In practice, this means you will be running daemons locally for each language, which may be written in any language. Often these daemons are written in NodeJS since the reference implementation[2] is in NodeJS.

    [0] https://zed.dev/docs/adding-new-languages#lsp

    [1] https://microsoft.github.io/language-server-protocol/

    [2] https://github.com/Microsoft/vscode-languageserver-node

    • ra1231963 2 years ago

      It doesn’t follow that a language server written with JavaScript and run via node will bloat the binary by hundreds of MB. Are they bundling a node runtime too?

      Maybe if they are embedding dozens of language servers and runtimes it could bloat the binary, but I assumed the extensions and language servers would be downloaded on demand.

      But a rust binary by itself shouldn’t be that large. LSP is just a simple json protocol, so parsing it doesn’t require hundreds of MB.

      • evmar 2 years ago

        When I opened a Rust project I think the status bar said it was downloading Rust support, which supports your hypothesis. (Also it doesn't make much sense to bundle these things when they are all making new releases at different schedules.)

        • diodak 2 years ago

          Hey, Zed developer here. Indeed we do not bundle the LSP binaries into the final binary for the reasons you've stated; and I do agree that the binary is kind of big, though at present .dmg compression gets us a long way (as the .dmg itself is ~115Mb). Right now we ship an universal binary, so half of that size is essentially unused:

            size /Applications/Zed.app/Contents/MacOS/zed
            __TEXT __DATA __OBJC others dec hex
            120979456 475136 0 4336828416 4458283008 109bc0000 zed (for 
            architecture x86_64)
            117587968 458752 0 4336680960 4454727680 10985c000 zed (for 
            architecture arm64)
          
          Then, each of these binaries includes about 40MB of assets. I've actually had a PR up (https://github.com/zed-industries/zed/pull/3997) that reduced their size quite significantly, though that did not end up reducing the size of a .dmg itself, so I've scraped that. On top of that, we ship with debug symbols for symbolication of crashes (https://github.com/zed-industries/zed/blob/main/Cargo.toml#L...).
  • Aeolun 2 years ago

    At least it’s fast after installing that 350mb blob. Often it’s a sign that something is going to be really slow.

  • widdershins 2 years ago

    It comes with quite a few language servers built-in.

norskeld 2 years ago

Interesting to see how they are gonna approach integrating plugins/extensions system, because this is likely gonna be one of the major factors affecting adoption and ecosystem growth.

Helix devs, for instance, lean towards a Scheme-like implementation. [1]

[1]: https://github.com/helix-editor/helix/discussions/3806#discu...

microflash 2 years ago

Their language support story is extremely weak right now (no support for Java, XML, SCSS, etc.). An editor should focus more on editing capabilities (it is editor after all).

Also, no option to disable all the collaboration and AI features leaves a sour taste for me. Hopefully, they'd improve on this later.

piyush_soni 2 years ago

Tried Zed some time back, the performance was pretty good as compared to VS Code, though gave up when they chose to implement other fancy / collaborative features before implementing the most basic requirement from an 'editor' - Search and Replace. Contacted them but there was no response. Looks like they have replace now, so worth trying again (still hard to give up all the features of Sublime Text yet).

avtar 2 years ago

To any of the project members here: viewing the zed.dev home page using Safari on an iPhone shows text being cut off. I can’t seem to scroll to the right either to view the remaining content.

  • machomaster 2 years ago

    I have the same issue in Yandex Browser (based on Chrome) on Android.

    • mcfedr 2 years ago

      You've chosen to let the Russians spy on your web browser?

      • maxverse 2 years ago

        It's possible that the user is Russian and using the locally popular browser

      • zogrodea 2 years ago

        I don't understand this comment because American/European governments (where I would guess most HN commenters are from) are almost certainly doing the same thing according to what we've learned about for example the NSA. Maybe you trust your own government more.

        • Matl 2 years ago

          Most westerners I've spoken to think that even when a Western government does bad, there's probably good intentions behind it or at least more noble than any non-Western government.

          On the flip side, even if you believe that, there's an argument to be made that if you live in the West then the Russians/Chinese care way less about you than the Five Eyes.

          • Aeolun 2 years ago

            I mean, it’s been at least a few decades since my home country started it’s latest war.

            It’s not that it’s non-western, it’s just that the countries I don’t trust are mostly dictatorships or something very close to it.

            • machomaster 2 years ago

              Few decades of not starting a war is a very weak qualifier. Let's start with "100 years of not participating (!) in wars, not even in a supporting role, while respecting people's human rights, democracy, freedom of speech and privacy" and then the country has some kind of backbone to lean on when offering it's enlightened perspective.

              There aren't many countries that would qualify (Sweden fails because of the Snowden case) and I suspect your country is not one of those. What country are you from?

              It's all about risk assessment, risk analysis, scenarios, probabilities, threat vectors, worst/probable/best cases of cost/benefit, etc.

              What are the chances that Putin wants to get to you? How probable is it? Does he have better options than through seeing your browsing history? What happens if he actually gets it - what's the worst that can happen?

              It's really all a big nonsense about nothing. You are most probably just an ordinary human, just like me. We are not even worthy of such an attention. Be realistic and know your position, role and pecking order in the world order. Be a cog and live peacefully. :-)

            • Matl 2 years ago

              Yeah, I just think that after Snowden (but before him as well) it's naive to think that we in the West are free from being spied on. The methods are more refined, I'll say that.

        • mcfedr 2 years ago

          There is a big difference between a government that is ultimately on your side. And a government that is actively trying to kill you.

          • machomaster 2 years ago

            As a Finn, both American government and Putin have the same amount of energy put into trying to kill be. As in zero energy. Because if it weren't zero, I would already be dead. And it would happen kinetically, not through capturing my browser history.

        • mcfedr 2 years ago

          And anyway, it's a bad comparison, there is a conspiracy that, say Google or Firefox is collaborating, but it's very clear that yandex is an arm of the Russian government

          • zogrodea 2 years ago

            I might be missing something, but why is it clear to you that Yandex is an arm of the Russian government? Yandex has been critical of the Russian government's war on Ukraine [0] and faced consequences because of it which signals to me that this isn't the case. Yandex made plans to exit Russia because of the company's disagreement with the government even. [1]

            [0] https://www.rferl.org/a/russia-yandex-government-control/321...

            [1] https://fortune.com/2022/11/25/yandex-leaves-russia-ukraine-...

            As someone living in the west, I'm disappointed by our governments' hypocrisy over the massacre in Palestine while supporting Ukraine's right to resisting an invading force. Our governments' support of the massacre in Palestine (even dealing out death to peaceful resistance, as we can see by the bombing of Yemen when its people merely made economic trade inconvenient to protest the massacre) made me think the people in charge of western countries are no better and probably even worse than dictatorships such as China and Russia. (Western governments are just better to their own citizens apparently.)

            • machomaster 2 years ago

              It can be argued, that Yandex didn't do enough to fight the Putin's regime, but: 1. How realistic is to expect something like this from Corporations? How much have American corporations fought against American terrorism or attacks on freedoms (e.g. of speech)? Exactly. 2. It absolutely does not mean that they were an arm of the government. Among the tech giants, even without the Russia caveats, Yandex was definitely a good guy, with good ethics and core, with people who cared (and who helped a lot in personal capacities).

              A very telling sign is a list of Western countries that participate in the Yemen war, but want to keep it a secret from their citizens. Yes, they fully know that what they are doing is wrong. No, they don't want to stop doing the evil, they only want for people not to know.

              This is a pattern. Remember illegal CIA prisons all around the world, torturing people?

              Democracy often means that bad deeps must be better camouflaged/hidden, not that thr actions and people doing the deciding are inherently better.

          • machomaster 2 years ago

            And what is this clarity of the Holland-registered company being an arm of Putin is based on? Specifically in terms of software/privacy.

      • machomaster 2 years ago

        This is such a non-issue.

        1. I live in the EU and I would worry much more about my country/Union spying on me than foreigners.

        2. In the same token I trust Yandex much more than Google. And yes, I am competent enough to make that assessment. The same goes with using the world's best antivirus in Kaspersky vs. using something weaker from Five-Eyeish+block.

        3. Yandex Browser is technically good. But the main killer feature for me is having the address bar on the bottom of my screen. This should just be a common-sense default for mobile browsers, yet it is't.

    • Alifatisk 2 years ago

      I think this is my first time reading about someone using Yandex browser

      • machomaster 2 years ago

        You should check it out (for mobile) and share your opinion.

        It has all kinds of interesting features like automatically translating (and voicing) youtube videos.

        Address on the bottom of the screen is a total killer.

  • nomial 2 years ago

    Getting the same issue on Firefox on Android

meekins 2 years ago

It's interesting that the #2 selling point on the landing page (the Copilot integration) relies purely on Microsoft's goodwill. There is no official API for Copilot but instead a (non-standard) LSP implementation embedded into the proprietary Copilot Neovim plugin. Zed seems to trust under the hood that a release of the plug-in exists on Github, pulls the minified-js language server from there and integrates with that. The minute MS decides to pull the plug on the Neovim plugin Zed loses the functionality as well.

I wish we had a proper API to interact with copilot but it seem that pulling everyone else except the dedicated VIM and JetBrains users into VSCode land seems to be more in their interest.

  • impulser_ 2 years ago

    Why would Microsoft pull Copilot from Neovim?

    Microsoft doesn't care if you use copilot with VSCode or not. Copilot is a paid product the more support the better for them.

    I bet Microsoft doesn't care if you use VSCode or not. It's not a paid product.

    • nicce 2 years ago

      It is not paid product for non-commercial and open-source products. The get massive amount of data if you use it in VSCode, and because of this, it is pain to ass to use on VSCodium for example. Your data is the currency, and other editors are good on limitin that.

    • meekins 2 years ago

      If they wanted non-sanctioned editors integrating Copilot they wouldn't have taken the extra steps of implementing an obfuscated LSP but provided an API or a plain client library. At best this could be a pet project by a Neovim fan GH employee. Either way I wouldn't expect long term (if any) support from this thing.

  • alberth 2 years ago

    > the Copilot integration) relies purely on Microsoft's goodwill

    Given that the founders and several employees are former GitHub employees, I have to imagine they know how to do this integration in a proper & officially allowed way.

    https://zed.dev/team

palata 2 years ago

A new desktop app that is not web/ElectronJS!!! Amazing! \o/

6gvONxR4sf7o 2 years ago

I recently went down the rabbit hole on CRDTs and would love to know more about what you're using under the hood. Did you roll your own?

ushakov 2 years ago

Also take a look at their freshly open-sourced Rust UI Framework (GPUI): https://www.gpui.rs

  • dave_universetf 2 years ago

    Worth noting that, like many immediate mode UIs, it seems to not integrate with OS accessibility infrastructure at all. That means any UI built with it will be a black box to anyone who needs accessibility tools like VoiceOver, text magnification, or semantic navigation.

    Hopefully that's fixable :/

    • raphlinus 2 years ago

      It should be. There's AccessKit integration in egui (the most prominent Rust immediate mode GUI implementation) now, thanks to Matt Campbell's work. I would welcome GPUI and Zed adopting that, and I'm sure Matt can offer help in getting it integrated.

      • mikaylamaki 2 years ago

        Zed developer here, I've actually looked at how to implement AccessKit in Zed, though I couldn't find a quick way of jumping into it beyond 'read the egui PR' at the time. If anyone wants to take a stab at it I'd love to help out and make it happen :)

        • mwcampbell 2 years ago

          Hi, lead AccessKit developer here. Sorry I haven't written much documentation yet. For now, the best way to learn how to use it is indeed to study the egui PR.

    • bartekpacia 2 years ago

      > Hopefully that's fixable :/

      It is, Flutter (which also draws all the UI on a canvas) already does that - it’s called AccessibilityBridge. The way it works is they hook into the native accessibility system and create virtual accessibility nodes with the same size and coordinates where the “widgets” are drawn. I think it’d be useful to create some common AccessibilityBridge-like library since more and more UI frameworks are taking the same approach as Flutter and GPUI.

    • iamnbutler 2 years ago

      we absolutely want to make accessibility work – hopefully open source will give us a bit more wiggle room to have folks help us figure some of it out as well.

  • jenadine 2 years ago

    I wonder what makes it special compared to the existing frameworks. (Appart the fact that it is Mac only) I didn't find the docs after a quick search

  • jasonjmcghee 2 years ago

    So excited about this. Been watching it for a while. Thanks for posting it!

the_duke 2 years ago

I have wanted to try out Zed for a while, but unfortunately it still seems to be Mac only.

Any plans/timeline for Linux support?

mortallywounded 2 years ago

I'm really happy the Atom team is back with another editor and atoning for the sin of creating Electron.

I'm glad Zed exists and hope it succeeds. I'm rooting for the team and hope they can put Microsoft's editor down the way Microsoft put Atom down.

With that being said-- I won't be using it. I've been using Vim for ~15 years and I've tried every editor and IDE under the sun. I just can't use anything else.

  • Rapzid 2 years ago

    Electron is fine.

    Their sin was using coffeescript and having one of the most unresponsive editors.

lbj 2 years ago

Great alternative for those who can't afford Emacs.

safouen 2 years ago

i've heared about Zed for a long time and it seems promising but as long as it's not on windows/linux it's not for developers.

  • askonomm 2 years ago

    I'm a developer, and I use a Mac, so ...

  • brimstedt 2 years ago

    I agree. I currently use macos at work, but I avoid investing learning time to tools I can only use on one platform.

  • dimgl 2 years ago

    > it's not for developers.

    What? Who is it for then?

    • Draiken 2 years ago

      Mostly for SV startup folks. In other words: Apple fanboys.

      Jokes aside, the US is notoriously dominated by Apple, but it's not the same worldwide.

      • Aeolun 2 years ago

        The dev profession is notoriously dominated by Apple. It’s weird to say that something that’s only for Mac is not for developers.

        • Draiken 2 years ago

          That's most definitely a US centric view. There's a much bigger world out there

          • timeon 2 years ago

            As someone who is not from US I feel your point. But they are US company. We are here on US site.

        • safouen 2 years ago

          if you're a developer and dependent on mac you're probably building "the next big saas" in "the next big tech company" which will fail in few years.

          a developer tool should be available on ALL platforms and specially Linux, if a tool is not available in linux no one will adapt it no matter how shiny it is.

        • da39a3ee 2 years ago

          How many countries are you knowledgable about?

  • jamil7 2 years ago

    Ah yes windows, the classic developer OS.

    • wilsonnb3 2 years ago

      Windows is the most popular developer OS according to the 2023 stack overflow survey, for both professional and personal use.

    • ilc 2 years ago

      If you have the right tools. Windows is just fine for development.

      Visual Studio is widely considered one of the best IDEs out there today.

      Personally, I use Linux for my work on Linux, what IDE varies depending on my work. JetBrains, VSCode, neovim. But I've used other eco-systems.

      I still miss Genera. That thing was amazing.

    • nicklaf 2 years ago

      You jest, but as famously emphasized by Steve Ballmer [0], Microsoft was (is?) all about developers!

      [0] https://www.youtube.com/watch?v=KMU0tzLwhbE

    • safouen 2 years ago

      "Ah yes Linux , the classic developer os" it's not available on WINDOWS and on LINUX. which is like THE MOST USED PLATFORMS ON THE PLANET. You apple fanboys try to find excuses for everyone

veltas 2 years ago

> GPUI rasterizes the entire window on the GPU, just like a 3D video game.

So my laptop will be roasting hot constantly?

  • jhasse 2 years ago

    No, because a game utilizes the GPU 100% most of the time, while the simple GUI of this editor doesn't require as much calculations (fewer triangles, etc.). So your GPU can downclock and stay cool and quiet.

    • veltas 2 years ago

      What if my GPU is totally off most of the time and it turns on my secondary GPU for games which increases the heat of my laptop considerably even doing very little? Do they let me select which GPU is used or just the 'default' because that default is a really bad choice for a terminal.

odiroot 2 years ago

Zed might be faster but Sublime Text at least runs on Linux, so it wins for me.

  • Matl 2 years ago

    Agreed, but once Zed runs on Linux, I'll take an open editor over a closed one.

DiabloD3 2 years ago

I was excited, but then I saw it was Mac only.

Weird choice, most programmers will never even look at this editor.

  • flakes 2 years ago

    I don't think that's quite fair. The stackoverflow survey shows a large number of developers have made the move to Mac. Certainly not the majority, but a very healthy share. https://survey.stackoverflow.co/2023/#section-most-popular-t...

    Anecdotally, Mac has become very popular at my workplace, with a growing number of developers choosing Mac for their primary device. We mostly target Linux, so regardless of workstation we're usually remoting into a Linux box or running some VM/Docker setup locally. When I can work on projects locally without a VM, the interactions on Mac feel a lot more natural compared to Windows.

    I don't think I would switch back to a Windows machine any time soon, although if I was offered a Linux laptop I'd be very tempted.

    • DiabloD3 2 years ago

      I don't really consider the SO survey useful anymore. It seems to be hyper-selected to just Silicon Valley techbros, instead of either the more general US tech industry, or the worldwide tech industry.

      If the Silicon Valley is just a bubble, then the two bubbles I live in (life-long FOSS/Linux guy, but also deep into the hosting/transit/non-eyeball end of the Internet), every single Mac owner I know does not run OSX, but only wanted it for the physical build itself; they either run Windows because of job reasons, or they run Linux because they like to get shit done.

      Everyone else I know is slowly joining #TeamFramework. Having made what seems to be the best Ryzen laptop on the market is certainly turning heads, and congrats for pulling it off.

      • TotempaaltJ 2 years ago

        Certainly sounds like you're hyper-selecting to your own biases and ignoring real evidence when it doesn't agree with your personal observations.

        • DiabloD3 2 years ago

          Yes? I literally just said "HN hyper-selects their own bubble, but if I do it, I get entirely different results; neither of them are likely to be correct."

      • flakes 2 years ago

        > It seems to be hyper-selected to just Silicon Valley techbros, instead of either the more general US tech industry, or the worldwide tech industry.

        How do you validate this claim? The country demographic in the survey shows that USA makes up only 21% of responses.

        https://survey.stackoverflow.co/2023/#section-key-territorie...

        • DiabloD3 2 years ago

          The reverse of this is, I don't know how SO can validate the claim, or the accuracy of any of the results in the SO survey.

          If a lot of people self-select themselves to align with techbro culture, techbro culture is mainly in the Silicon Valley but not only there, and they think, for example, owning a Mac is how you signal belonging to that group (as in, Macs are a modern day Veblen good), then people who think they are (or wish they were) part of the techbro culture, no matter their location, will buy Macs.

          So, the claim being given by people quoting the SO survey is: SO survey responders are not mainly made up of people who self-identify as techbros or have had their purchasing decisions (such as buying a Mac) greatly influenced by techbro culture.

          I do not know of a way to argue that position. You can state that, literally, techbros live outside of the US, which is obviously true without quoting this survey; it however, does not mean the Silicon Valley doesn't act as an echo chamber, and doesn't have great effect on the tech industry worldwide.

          What I would more likely want to see is, of that 21% of America, how many live in either the Silicon Valley or the Seattle/Redmond region. As in, how many are hailing from the Chicago or New York or Dallas metros, or non-metro regions entirely.

          I'm guessing that, still, many would have responded that they live in either the SV or the northwest, greatly more-so than elsewhere in the US.

  • svennidal 2 years ago

    Most programmers I know prefer macOS above all other. Is it different where you’re from?

    • torginus 2 years ago

      Yes, I run docker for a lot of workloads, and I can't drop the $3000+ they ask for a 32GB machine, where the same upgrade is like $100 for a regular Windows laptop.

    • WCSTombs 2 years ago

      Linux remains quite popular among software developers.

    • Yodel0914 2 years ago

      It's different for anyone working in a corporate environment, where no one cares what you prefer.

    • riquito 2 years ago

      There are obviously more programmers on Linux and Windows than on Mac, no matter your bubble. Since zed is Mac only, necessarily most programmers won't use it

      • adlpz 2 years ago

        This is not obvious at all and in fact directly contradicts my anecdotal evidence in many "bubbles".

        It's likely to be the case for the "bubble" of the Zed authors.

  • norir 2 years ago

    Sure, but if you live in the bay, you'd be forgiven for assuming that 80% of developers use macs, 17% linux and 3% windows. Developing mac first makes perfect sense to me.

  • nalinidash 2 years ago

    As said by someone in another thread,linux support is on their roadmap[0].

    Stay tuned for that. 0: https://zed.dev/roadmap

  • uglycoyote 2 years ago

    yes, the title of this post should be, "Zed, a collaborative Mac-only code editor....". I also find it kind of obnoxious that their front page says they are focused on making the world's best code editor without mentioning that it is tied to one platform. I don't think it can come close to being the best editor with such limitations.

    • timeon 2 years ago

      > focused on making

      So it is not done yet is it? One platform is apparently not the goal for them.

lukax 2 years ago

Very nice to see that it uses native IME. You can test it by pressing ctrl+cmd+space on macOS and see if the Emoji picker shows up.

Lapce is another text editor written in Rust but it does not support native IME yet.

Destiner 2 years ago

I've been using Zed for the last few months, and it's amazing, very fast and clean.

My only worry is that the collaboration features won't be used much, as they require most of the team to use Zed.

sambeau 2 years ago

I like it!

FEATURE REQUEST :)

Would it be possible to have option+click+drag create multiple cursors where you drag and not a selection with cursor at the end? Basically, the behaviour that Sublime Text has—Sublime Text's multiple cursors are, frankly, awesome.

I have found shift+option+drag to create a rectangle, but no way to create vertical lines of cursors through lines of text, and my favourite—drag down to the right of your code to put cursors at the end of every line. I use that all the time: scrape to the right hit ctrl+a to get to the start of a line, cut out and replace text, ctrl+e to the end, add more text etc. Really useful for turning data into code.

Option+click+drag is one of the most useful features of Sublime Text and my muscle memory is stuck to it — to the point where I keep Sublime Text around purely for the feature (well, this, the fantastic sort/permute lines options, and the live-highlight of regex searches that give you instant feedback of whether your regex is working correctly). Sublime Text is where I do all my data formatting, and where I test every regex before using it in my code.

jayloofah 2 years ago

One issue I've struggled with in Zed is full language support (linters/formatters). Has anyone at the Zed team thought about integrating a metalinter like Trunk Check (https://docs.trunk.io/check)?

bogwog 2 years ago

The homepage has a benchmark that compares Zed's "insertion latency" to other editors, and this is the description:

> Open input.rs at the end of line 21 in rust-lang/regex. Type z 10 times, measure how long it takes for each z to display since hitting the z key.

Could someone clarify what that means? My interpretation of that was to go to https://github.com/rust-lang/regex/blob/master/regex-cli/arg... and start typing 'z' at the end of line 21, but that doesn't seem to make any sense. I guess that repo got refactored and those instructions are out of date?

  • alluro2 2 years ago

    They are opening the same specified code file (input.rs) in each editor and measuring event/process/highlight/etc pipeline duration.

    Which is straightforward, but also depends a lot on how each editor is configured for Rust support and what functionality you are actually getting in that time.

jscheel 2 years ago

No way can I use a text editor that requires the hi-perf discrete gfx card. My battery just can't take it. Hope I can get all my work done in about 1.5 hours, because that's how long the 2019 16" mpb will last with the discrete card running.

  • jhasse 2 years ago

    It doesn't require a discrete graphics card, it can run just fine on the integrated one.

    • jscheel 2 years ago

      It automatically triggers hi-perf mode which switches to the discrete card automatically though. At least on my machine.

ahmednazir 2 years ago

There are some free code editor but no good free ide.

Jetbrain are the main player and their products are paid. I am finding a jetbrain alternative that is free

  • wulfeet 2 years ago

    Jetbrain does have community editions that are open source.

    • ahmednazir 2 years ago

      Intellij And PyCharm have community Edition only. These software have many limitations than paid software.

  • onsclom 2 years ago

    I'm guessing you don't consider VSCode an IDE? I'm curious, what features do you use in IDEs that are missing in VSCode?

    • ahmednazir 2 years ago

      I am not considering VSCode as a IDE. Because Microsoft, the creator of VSCode, does not consider VSCode as IDE.

      They have a IDE called Visual Studio and it is different from VSCode

  • asah 2 years ago

    emacs. Totally free and open source since 1976.

    oh, sorry, you asked for an IDE and not an operating system... /s

    seriously, budget a day or two for the ergonomics and a week for wrangling plugins, but some of the most productive developers in the world use emacs and they never need to worry about vendor issues, porting issues, not having a GUI, support for some weird file type, ability to create some funky type of macro, etc.

    • lgessler 2 years ago

      I tried to get into emacs a few years ago and just got fed up with the incredible regularity with which packages broke during routine updates. It was at least an hour a week on average, I feel, conducting bug hunts for either minor (this or that keybind/function doesn't work) or major (I can't get any packages to load) bug hunts. Was I doing something wrong? How do emacs people deal with this?

      Admittedly, I was using Spacemacs which probably has way more packages than a bespoke emacs configuration, but you must understand if people get turned off when they ask you how to use an editor and your answer is "first, spend a few weeks setting it up and understand how each of your many packages works".

      • philsnow 2 years ago

        > packages broke during routine updates

        > How do emacs people deal with this

        The same way anybody working with any package system does, by pinning ancient versions and/or just never updating all packages, at least for packages that aren't so widely used that they pretty much are never broken

      • unhammer 2 years ago

        1. Install from stable.melpa (or gnu elpa) instead of melpa (and pin to that)

        2. git add .emacs.d/elpa

        3. Don't click update all the time.

      • Tomis02 2 years ago

        > How do emacs people deal with this?

        Stockholm syndrome.

    • Tomis02 2 years ago

      If you have to install plugins then it's not an IDE, it's just a text editor.

      • marcosdumay 2 years ago

        I wonder what you'd consider an IDE nowadays. Modern text editors do every single thing.

        Is it just about the installation format?

        • Tomis02 2 years ago

          > Modern text editors do every single thing.

          That's an outrageously false statement. If it were true, you'd rarely need plugins.

          > I wonder what you'd consider an IDE nowadays.

          The definition of an IDE hasn't changed in at least 20 years. INTEGRATED development environment.

          If I install a C++ IDE, I have everything I need out of the box, and the experience is (usually) consistent across all features.

          If I want to do C++ in Vim, I need to install about 10 plugins (to begin with) [1], which will result in a disjointed experience (each plugin has different authors with different visions) where things break randomly and I don't know why. Speaking from experience, unfortunately.

          Yes, you can make it work and you can get used to it, but it's just a text editor that you try to coax into doing what you want by using plugins.

          Whereas the IDE will give you a language-specific tool out of the box, without any significant effort or inconvenience on your part. And the overall experience is better because the IDE "just works" most of the time.

          [1] https://stackoverflow.com/questions/4237817/configuring-vim-...

098799 2 years ago

Did they call it Zed just so they have a movie to quote when they announce it's demise?

radiKal07 2 years ago

I won't switch from neovim but I gave this a try and I quite like it. It really is very fast and snappy. If I were using VS Code I would've switched to this one.

nathan_phoenix 2 years ago

Any pictures of how Zed actually looks? Searched their site and couldn't find any...

pretext 2 years ago

Opinion: very lovely and has a great potential. Feature request: toggle dark/light theme depending on system theme, just like VSCode and JetBrains IDEs.

basilgohar 2 years ago

I love this, they are doing things in the best way from my perspective. They've used the best copyleft licenses (GPL3 + AGPL3) and they are clear that free/open source software does not mean you cannot still make money. As they say, commoditize your compliment. I wish them success, and this move makes me want to look into this tool a lot more now.

sarcasmatwork 2 years ago

Looks great, but only OSX :(

I'll stick with vs code for now...

toastercat 2 years ago

This is really exciting. I currently use Sublime Text 4, and coupled with SublimeLSP, it does almost everything I need. What's missing is good debugger support and UI integration. What's the story like for Zed on that front? I briefly scanned the homepage and did not see mention of a debugger.

eviks 2 years ago

Welcome news, hopefully we could eventually get to a modern highly extensible performant text editor!

  • zozbot234 2 years ago

    This. Sure, Emacs is a modern, highly extensible, performant OS already but we all know it's missing a good text editor!

    • zokier 2 years ago

      Emacs is great many things, but fast it is not. Nativecomp improved some stuff a bit and there has been other improvements lately too, but ultimately the core of emacs is built for flexibility, not for perf.

    • bradrn 2 years ago

      No it isn’t — evil-mode is a great text editor!

      • grepfru_it 2 years ago

        I’ma let you finish, but pico was the greatest text editor of all time.. someone just needs to port it to emacs

  • xigoi 2 years ago

    What’s wrong with Neovim?

    • eviks 2 years ago

      A lot of things, from limited keybinding support due to terminal limits, unergonomic extension language, very poor default setup, lacking good GUI, poor multicursor support, lack of core Zed's feature - collaboration

      • wastewastewaste 2 years ago

        I know that's just a minor point, but I don't think you ever really need multicursor if you have access to vim features

        • eviks 2 years ago

          Those features are a worse substitute for that awesome generic UI mechanism called immediate visual feedback (for the same reason Helix's visual-first mode, which unfortunately neovim also lacks, is better)

    • wilsonnb3 2 years ago

      it requires knowledge of obscure key bindings, the GUI options are lacking compared to other editors, and it is pretty barebones out of the box

cultofmetatron 2 years ago

just downloaded it.

pros:

* god damn this is fast... vscode feels so bloated by comparison. * lsp integration works great. loaded up a rust project I have and it has good support for autocompletion

bad: what keeps me from using it as my daily driver for now

* no support for integrated debugger. I use rustrover for rust dev sepcifically because its so easy to set debugger stuff. * daily workflow inolves entering a docker container or sshing into a remote server to edit code. I don't see anywhere in zed where I can do this.

bottom line: I see a lot of potential here. I'd love to use this when I'm just editing some rust code and I need zero distractions but the lack of ssh remote makes this a no-go for all of my paid work at the moment.

Chris2048 2 years ago

Was confused until I realised I'd confused Zed, with Xi[1] which is also rust based, and which incidentally has a frontend called "Xim"..

Also there's a wiki-editor (like Tomboy[2]) called "Zim"[3].

[1] https://github.com/xi-editor/xi-editor [2] https://en.wikipedia.org/wiki/Tomboy_(software) [*3] https://zim-wiki.org/

account-5 2 years ago

I remember listening to a changelog episode about zed ages ago. I liked what I heard about but that fact it's not for Linux just now and I don't have any friends to code with means I'd likely not use it.

j0e1 2 years ago

Does Zed plan to support extensions/customizations outside of themes?

andsoitis 2 years ago

On the home page I read this:

> Extensively fuzz tested for stability > Performance and power mean nothing without reliability. That's why we've subjected Zed's critical code paths to randomized tests that help us find and fix rare edge cases. By creating controlled chaos in development, we achieve stability in production.

How effective is this approach? Does it catch many issues that would not otherwise have been caught through a more risk-based approach? Conversely, does it tend to catch any significant issues?

vimsee 2 years ago

What really impressed me is how fast it changes the theme colours.

Locate the little arrow in the top right, click it and then select "Theme".

Now use your arrow keys to change the theme and see for yourself. :)

  • iamnbutler 2 years ago

    CMD+K->CMD+T can get you there one step quicker!

    At least these days we order the themes by dark then light... Themes used to be grouped by name, so you would get rainbow flashbanged moving down the list!

nXqd 2 years ago

This is very nice, I hope we have a windows version soon. And this might encourage Sublime Text to do the same, it's one of the most responsive editor for now, let's see.

jeppester 2 years ago

I was hoping that zed, because it was designed from the ground up to be a collaborative editor, would allow me to start a dedicated server (headless instance) on a development server/container, and then let me and my colleague both connect to it and work together.

Such functionality would be wildly useful for both remote development and pairing, dev containers etc.

Instead I'll have to stick with VS Code remote develop + live share, of which the latter feels like a monkey patched afterthought.

  • AdilZtn 2 years ago

    Completely agree with you, I think one of key missing feature is remote develop

sharkjacobs 2 years ago

I like a lot of what I see of this but

1. Whenever I open a new window it fills the full height and width of my screen.

2. I just have no faith in a product which hand waves how it's going to make money.

  • mynameisvlad 2 years ago

    Why would you need to have "faith" in an open source product? You can always get an older copy or build it yourself, or it could be forked by the community if it's popular enough and the original gets completely abandoned.

    For that matter, why does an open source product need to make money in the first place?

    • sharkjacobs 2 years ago

      > Why would you need to have "faith" in an open source product?

      Well, even ignoring the central servers which are required for all of Zed’s collaboration features, I’m not personally interested in maintaining my own persona fork of Zed

      So that means I need to “have faith” that someone, whether a paid team of developers or an unpaid group of volunteers, will continue developing, or at least maintaining the project.

      Or that it gets abandoned in a state that I can keep using it indefinitely, I guess.

      > For that matter, why does an open source product need to make money in the first place?

      That’s a fine question in general, but in the announcement they pretty clearly say that they are hoping to make money with unspecified future subscription services, not that they don’t need to make money

  • fooster 2 years ago

    How does vscode make money?

thatxliner 2 years ago

The thing about the Zed workflow that I don't understand is local servers. Say I were to develop a full-stack web app using some frontend meta-framework (e.g., Next.js) and a backend running locally for development (e.g., Supabase). How would that workflow work with Zed? I need that live preview/reload available to be productive. Some sort of feedback loop.

  • jamil7 2 years ago

    It’s a text editor… So you’re going to use whatever workflow you used before.

  • no_wizard 2 years ago

    isn't it vite / webpack (or some other dev server) running in the background with this anyway? Not really something a text editor handles usually

max4c 2 years ago

I’ve been trying out Zed for the past two days. It’s for sure way more zen and focused compared to VS Code and I really enjoy that. At the same time, I felt the syntax highlighting wasn’t to the degree I’m used to and so I had to look a little longer to find certain words I had typed. All in all, I’m trying to find ways to use it because of how smooth it feels

svennidal 2 years ago

Nice that it’s installable Homebrew. It’s very fast comparing to other GUI editors. Happy to see Vim mode and would love to see more of Vim commands enabled. I can see that you can open splits, but you can’t specify what file to open in a split. But you can move the splits around with the same shortcut as Vim. Looks very promising!

desireco42 2 years ago

I am not in a market for a new editor... not even a little bit.

But overwhelming positive experiences here, that I read, people being happy with using it made me try it out.

It really feels different and better. Can't say why and what it is. But first impression is very positive, even the theme, I didn't feel the need to change it.

theptip 2 years ago

I had an interesting thought reading their post - is there a brand new open-source monetization strategy in “operate the AI assistant for your tool”? Users can always plug in a local LLM but the fine-tuning and inference optimization is potentially much better from a paid team focusing on the problem.

stephanerangaya 2 years ago

I am so happy to see GPUI now open source. This is very exciting, really grateful to the team at Zed to do this.

mikaelsouza 2 years ago

This is so nice! Congrats to the team for the achievement!

To commemorate, I am running `brew install --cask zed` right now! :^)

exaldb 2 years ago

Is there a way to explicitly disable Copilot/AI/collaboration features? I won't be able to use this at work if there's a risk that it'd upload my code. It looks like a very fast editor (with Vim keybindings!) and I'd love to use it even without AI :)

  • geoelectric 2 years ago

    From the docs on zed.dev:

      "copilot": {  
        "disabled_globs": [  
          ".env"  
        ]  
      }
    
    I imagine * would work there too.

    I don't see a way to disable all the collaboration features, but it does look pretty difficult to do it by mistake. You have to add collaborators explicitly.

  • alygin 2 years ago

      "features": {
        "copilot": false
      }
Sparkyte 2 years ago

Actually kind of interested in this... I think collaborative code editing is the future of development.

I think the next evolution is also combining the collaborative code editing with a virtualized environment. Where it builds and deploys remotely or runs the code for test and validation.

cute_boi 2 years ago

In my opinion, Zed is the only replacement for Sublime Text 4. Now, it is open source. Wow.

asenna 2 years ago

Looks awesome. Doesn't support syntax highlighting for Solidity yet and from a quick search, I couldn't tell if there's any plugin/extension I could install (or how to do it). Any pointers?

souvlakee 2 years ago

Does anybody know if I can add custom keybindings to switch between the code editor and the files tree? Also, can someone evaluate how Zen is configurable in terms of "only keyboard" usage way?

krainboltgreene 2 years ago

A really really solid editor with some very good choices made, with exactly one exception: The LLM integrations. It's annoying to disable (3+ settings in different ways?) and by default on.

bartekpacia 2 years ago

This is awesome news. Thank you very much! I looked at Zed some time ago and even though I liked it, it being closed source and not very popular didn’t make me “trust” that it was gonna last.

satvikpendem 2 years ago

Interesting that they don't compare their speed to Vim, as while it's not an IDE per se, Vim is still widely used as a code editor. It'd be interesting to see the comparison.

  • p4ul 2 years ago

    I am really curious about this, too! From time to time I'll switch to using a more full-featured IDE for a while, but I always come back to Vim!

zensayyy 2 years ago

would be nice to have the collaboration feature something like LSP with an easy to implement protocol. I can see that being useful but you gotta let the people choose their tools too. If I can run neovim/jetbrains/visualstudio and can connect to someones Zed Collab protocol beacon, that would be awesome af for at least the basic features (file browser and seeing live edits). This whole notes/chat thing can stay a specific zed feature IMO

vouaobrasil 2 years ago

I just tried it and it's one of my favourite text editors for MacOS already. Lite-XL and VS Code are my others. All other text editors for MacOS are too weird.

deepakhj 2 years ago

Why can't I see hidden files or folders like .circleci?

eggy 2 years ago

I have 2 Macs, PCs, and Linux. I need a cross-platform editor, for which I use emacs or VS Code right now. Will Zed eventually go cross-platform before 2025?

zlat1997 2 years ago

Looks really good, but without remote development features (connect to server via ssh & attach to docker container) it is useless, at least for me.

shane_kerns 2 years ago

No Terraform support even though there is an LSP?

photonbucket 2 years ago

How does GPUI compare to other gui libraries?

dancemethis 2 years ago

Congratulations and kudos on picking a strong Free Software license! Thank you for pushing the world into better places.

rckt 2 years ago

Launched it on Macbook Pro Mid 2015. I can't say that I noticed any speed difference in comparison to the VSCode.

gigatexal 2 years ago

So now that it’s open a community effort to get Linux and other non-Mac ports of this could be a thing?

mgrandl 2 years ago

Exciting stuff! Have enjoyed using Zed so far although I haven't been able to fully switch over.

juxhindb 2 years ago

Definitely looks cool! I look forward to trying it on Linux down the road with Berkeley Mono font.

imbnwa 2 years ago

Is the lack of Java support because everybody thinks IntelliJ runs the table so why bother?

koolala 2 years ago

Is Channels what they call the collaborative component? It isn't open sourcing?

  • mikaylamaki 2 years ago

    It has been fully open sourced, you can see the server implementation details in the collab crate on our repo!

overtomanu 2 years ago

Is Java not supported language?

  • imbnwa 2 years ago

    Yeah noticed that, gotta be way more Java than Go and Rust combined in the wild

  • mi_lk 2 years ago

    personally hoping Java being prioritized over cross-platform

solardev 2 years ago

Are there any screenshots or feature lists anywhere? I couldn't find them.

deadbabe 2 years ago

How does it compare to sharing a vim session through tmux with multiple users?

itunpredictable 2 years ago

Pleeeeeeease fix the letter spacing on the blog, my eyes are burning

shdh 2 years ago

Love Zed, just wish it was available on Linux and Windows as well.

v3ss0n 2 years ago

No Linux and windows support yet. This needs a big wait time then.

idk1 2 years ago

Is this good for Ruby and Javascript / Typescript code?

vcdimension 2 years ago

Unfortunate name; it clashes with the builtin zshell editor.

munhitsu 2 years ago

It's nice to see that CRDT mental model is spreading

yawboakye 2 years ago

would be great if all or part of ‘We're excited to announce that Zed is now an open source project’ were hyperlinked to the repository, wouldn’t it?

warthog 2 years ago

I really did not need another choice overload complex, particularly when it comes to my choice of code editor. Though this seems good.

Somebody please tell me what to use. No "depends on what you wanna do". Just which one.

Thank you

  • kyawzazaw 2 years ago

    JetBrains

    • lantry 2 years ago

      Yep, JetBrains is the gold standard IMO. If you want something that works well for most cases and you don't want to think about it, just go with JetBrains. Even their free stuff is high quality.

yvsong 2 years ago

Since it's on macOS, are there any Xcode themes?

HankB99 2 years ago

It baffles me that with over 500 comments, no one has mentioned that `zed` is one of the back end processes that monitors health of ZFS file systems.

bluecrab 2 years ago

1,300 issues on github is crazy.

RonnieOwnsLexus 2 years ago

When will it come for windows ?

adamsilkey 2 years ago

Does Zed have vim keybindings?

  • tuan 2 years ago

    It does https://docs.zed.dev/general/vim. The support seems limited however, for example 'L' or 'H' movement does not seem to be supported.

    • M4v3R 2 years ago

      What do you mean? "L" and "H" do move the cursor right and left for me just fine. It does not have macro recording/playback or extended commands though so it's not a full fledged vim emulation mode unfortunately.

      • tuan 2 years ago

        That’s uppercase L and H to move to bottom or top of the screen

        • imron 2 years ago

          Thanks for this. I've been a vim user for over 20 years and I'm still learning useful new commands!

      • dilyevsky 2 years ago

        Yeah, it's pretty annoying for any long-time vim user to not be able to use the macros, which Zed doesn't support. Biggest issue I've had with this editor for sure.

        • philsnow 2 years ago

          This is my problem with all "vim modes"; the 90% of bindings that they cover works until your fingers' muscle memory wakes back up and tries `gqip` or some other niche vim thing.

        • kamaal 2 years ago

          First thing I did after downloading Zed was to try macros in vim mode.

          It doesn't have a vim mode if there is no macro support. Plain and simple.

          • dilyevsky 2 years ago

            Yeah it’s a pity because otherwise zed is snappier than actual nvim for me with various extensions installed

  • M4v3R 2 years ago

    Yes, it even asks if you want to use them on first run.

ncrmro 2 years ago

Was there pictures somewhere?

rs_rs_rs_rs_rs 2 years ago

Not a screenshot in sight...

colesantiago 2 years ago

So what is the play here with Zed being open source?

How does Zed make money here?

  • soneil 2 years ago

    They address this in the linked article, under the heading "Wait... Doesn't Cash Rule Everything Around Me?".

    f.e.,

    > Zed Channels is one example of such a service. It's free for anyone today, but we intend to begin charging for private use after a beta period of experimentation. Providing server-side compute to power AI features is another monetization scheme we're seeing getting traction.

  • tiborsaas 2 years ago

    They have investors, it's in their FAQ.

    • mathfailure 2 years ago

      What do investors get out of that deal? Positive karma?

      • tiborsaas 2 years ago

        Another FAQ explains that enterprise support is coming. So I think they will go with the free/OS model to saturate the market, but they will charge for corporate licenses. That's something investors can understand. Hopefully they didn't pick the greedy ones.

Bnjoroge 2 years ago

zed's great but they need to prioritise remote ssh like vscode. literally the main way most people do dev

  • tbeseda 2 years ago

    Gonna need a citation on that. I _highly_ doubt most developers write code across a secure shell.

    • xpl 2 years ago

      Not "most" but certainly many. I love remote dev (via Remote Containers in VSCode) for large C++ codebases (which could not even compile on my Macbook because of different architecture). Running `clangd` LSP on my local machine would be a nightmare (it could easily eat dozens of CPU cores and tens of gb of RAM when indexing), but on remote workstation it is a breeze. Also I could work on multiple branches simultaneously, spinning multiple VMs and running VSCode remotely on them. So basically my Mac is just a typewriter and everything heavy happens on a remote VM — isn't it nice?

  • porsager 2 years ago

    I'm not sure that claim is correct, but could you describe what that setup looks like, and the benefits? A link to something more is also fine

  • msm_ 2 years ago

    I have never tried the remote ssh setup (even though vscodium is my primary editor). I don't know anyone who uses it daily, and I've never heard anyone irl mention doing it. I think you're slightly biased here by your experience, and assume everyone shares it.

    Edit: hell, I've wanted to check remote ssh in vscodium now to know what I'm missing, and it looks like they basically contain MS DRM and are only compatible with official vscode. License is also proprietary[1] and makes it impossible to use it with vscodium or other OSS projects. Yikes.

    [1]: https://github.com/VSCodium/vscodium/wiki/Extensions-Compati...

  • KomoD 2 years ago

    > literally the main way most people do dev

    not correct at all

  • dimgl 2 years ago

    Almost no one uses remote SSH to do development.

  • AA-BA-94-2A-56 2 years ago

    Huh? I haven't seen remote SSH used in the past few companies I've worked at. Usually it's a local docker setup.

thomastjeffery 2 years ago

It took me way too long to figure out that Zed exclusively runs on OSX. Why is that not in the first paragraph of their landing page?

edit:

It's not even on the landing page, or even on the about page! The landing page has an entire section, "Work with code on any machine"!

This is worse than bad.

  • mcpherrinm 2 years ago

    > Work with code on any machine

    This is referring to remote editing support.

    Platform support is in their FAQ, but I agree it should be a bit clearer on the homepage. Perhaps the download button should say "Download for MacOS" or similar.

    I do think your comment here is unnecessarily rude.

    • foundry27 2 years ago

      Rude to who exactly? OP criticized the landing page for a) omitting the fact that ~85% of desktop computer users can’t use Zed, and b) alluding to this not being the case with language about working anywhere. This isn’t an attack on the authors, or on the product they clearly put so much time into.

      Yeah, OP said the page is really bad. But IMO we should be able to express negative opinions on things we think suck about technical content without being forced to couch our language in euphemisms for fear of being rude, especially on a site like HN.

      • mcpherrinm 2 years ago

        Let me quote two of the entries from the "In Comments" section of https://news.ycombinator.com/newsguidelines.html

        > Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

        > Please don't post shallow dismissals, especially of other people's work.

        Expressing negative opinions is fine. But perhaps you should have a fear of being rude. We are a community, and there's plenty of other people reading these comments. I value kindness and being constructive, neither of which the comment I replied to appear to express.

        • depressedpanda 2 years ago

          If you value kindness, consider empathy. The person you're somewhat haughtily tone policing is obviously annoyed about wasting a totally unnecessary amount of time on something ultimately useless to them.

          And the feedback was constructive (and easily actionable): be upfront about the very limited platform support, don't waste people's time.

          • tptacek 2 years ago

            You're trying to high horse a complaint about someone referring to a new open source release as "worse than bad"? Because it doesn't support their preferred operating system? And it took them too many clicks on the website to learn that? No, that won't do.

    • behnamoh 2 years ago

      > Work with code on any machine

      > This is referring to remote editing support.

      I agree with the OP, I thought it meant Zed was cross platform or something.

    • Gorath 2 years ago

      It's rude to make misleading marketing statements as well, especially when you are addressing a technical market. That is pretty bad, and thinking so is not rude.

      • arghwhat 2 years ago

        It’s “rude” to intentionally mislead. It’s not rude to be bad at marketing.

  • serial_dev 2 years ago

    The "Work with code on any machine" is confusing because it's not what you expect by glancing over the headlines. In the section they describe what they actually meant by it... It means that you can collaborate with others who have zed installed and run things on their computer, edit code etc.

    I vaguely remember them being on the Rust podcast and I believe they said that they want multiplatform support but they first need to nail it on one platform before they go for the next.

    https://rustacean-station.org/episode/antonio-scandurra/

    • thomastjeffery 2 years ago

      That's all good and fine, but it should be immediately obvious to anyone who can't install their software that that is the case.

  • totetsu 2 years ago

    Any Mac’hine.

  • registereduser 2 years ago

    I'm frequently confused when coming across hyperbolic comments like these. You can just say: "feedback: make it more clear that it currently only supports MacOS". Calling it worse than bad is a stretch.

    • davidmurdoch 2 years ago

      It's "worse than bad" because it's just a flat out lie?

      • sarlalian 2 years ago

        It is not a lie, it just doesn't mean exactly what you want it to, and is certainly unintentionally misleading. You can work with code remotely on any machine.

        • thomastjeffery 2 years ago

          You can't install MacOS any machine. You can't install it on most machines. You can install it exclusively on a Mac, a hackintosh, or a VM.

          I'm not trying to assume or criticize their intentions. I'm criticizing their unintentional mistake.

          • sarlalian 2 years ago

            My reply was to contextualize that it wasn't a lie. Maybe a poor choice of words, but given the context on the page, it's clear what it is talking about, which isn't the application being cross platform. A lie implies deception, which I think given the context on the page there wasn't any intention to deceive, just poorly chosen words that can have different meanings depending on the context.

        • davidmurdoch 2 years ago

          Words have actual meanings.

          • sarlalian 2 years ago

            The full text is:

            > Work with code on any machine > When you join a teammate's project, you can navigate and edit as if the code is on your local machine. Open any file, type with low latency, and interact with language servers. It all works seamlessly, whether you're working with someone at the next desk or on a different continent.

            I'm curious what part of that indicates that it means any operating system? It is clearly talking about treating remote machines as local machines. Yes, words have actual meanings but they also have context in which they are said or printed.

    • thomastjeffery 2 years ago

      I'm expressing an opinion here. It applies as specific feedback, sure, but it was also intended for anyone casually listening: this is a very generalized problem that I would like people to be aware of.

  • lolinder 2 years ago

    This might be bad in its own way, but I saw that the screenshots were 100% macOS and immediately assumed that it was Mac only and closed the tab. I actually had to go back and look because I could have sworn that I saw it written somewhere, but no, it was just the screenshots and the general feel of the text that clued me in.

    I think part of it is that apps that are designed to be multi-platform don't tend to use macOS screenshots because maxOS is a minority of their users.

  • rapnie 2 years ago

    Roadmap 2024, Adoption: Unix support

    https://zed.dev/roadmap

  • hbbio 2 years ago

    It's fully made in Rust with a GUI in Rust so it should be multiplatform with a few contributions.

    There are just packages for OSX for now... you know open source means you can build your own now, and that may be exactly why they release?

    • thomastjeffery 2 years ago

      Apple has an entirely unique GUI framework (Cocoa) on top of an entirely unique rendering stack (Metal).

      I understand why they would choose to implement Zed using those tools, but the sacrifice is platform compatibility. I'm not bothered at all with the fact that this is MacOS exclusive. I just want to know before I go try to download it!

  • dmcgill50 2 years ago

    It's at the bottom. Next to the download button

  • tshirttime 2 years ago

    Because it got you to hear the pitch. People hating on Zed is still better than people oblivious to Zed.

  • kyawzazaw 2 years ago

    sounds hyberbolic

  • teaearlgraycold 2 years ago

    Tim Cook is happy

Zekio 2 years ago

You know the AI craze is real when adding chat gpt-4 to a text editor is higher priority than Linux and/or Windows support

  • miohtama 2 years ago

    It’s likely that Zed does not want users, or wants specific kind of users as this stage of their company maturity.

    Mac developer is a proxy for the user type Zed is probably aiming to sell service: Western, wealthy, senior. Whileas Windows users are everyone and their uncle. Scaling to large userbase does not make sense if they are not going to pay for your product.

  • aseipp 2 years ago

    Adding Copilot or GPT-4 autocomplete support to an editor is not hard. You can find 100 different projects on GitHub that do this which are all just calling OpenAI. It is vastly different in scope and design than porting native applications.

  • haswell 2 years ago

    In product management parlance, this is low hanging fruit.

    Easy to implement and capitalizes on something the market is highly interested in at the moment.

    Given the concentration of developers who use Macs, and the accelerating interest in LLM-assisted coding, this makes a lot of sense to me.

    And while it may be true that AI is a craze, this is also a very real and useful feature grounded in a solid use case that has high impact on its users unlike some of the crazes of the past that were purely built on hype.

    • chme 2 years ago

      Are really that many developers using Macs?

      Maybe I am in a different bubble/country, but most professional developers and hobbyist hackers I know have either ThinkPads or Framework laptops running Linux or sometimes Windows, if they have to.

      • haswell 2 years ago

        33% according to the latest Stack Overflow developer survey. A healthy enough number to focus on that user base.

        I do think there are bubbles though. Macs are popular in SV, and there’s a very healthy portion of the developer community focused on this user base.

        • chme 2 years ago

          This is a pretty useless poll when trying to compare MacOS, Windows and Linux usage, because they split Linux up into different distributions. Because adding all numbers up, you get >100%, I suppose multiple-choice were allowed, which doesn't even allow adding all Linux-like operating systems together.

          So not really a good Argument that MacOS is used more...

          https://survey.stackoverflow.co/2023

          • haswell 2 years ago

            If you look around the web, most attempts to answer this market share question land in roughly the same ballpark.

            The argument is not that macOS is used more. The argument is that macOS is prevalent enough that it makes sense to focus on it as a market.

    • Zekio 2 years ago

      "Given the concentration of developers who use Macs"

      fairly certain this is a silicon valley thing, the vast majority uses Windows for development and I wouldn't be surprised if macOS and linux are pretty even these days

      • haswell 2 years ago

        I think you may be right. This comment was based on 90% of the people I interact with using Macs, but those interactions are indeed mostly in SV.

        In that sense, the “concentration” is in the SV region, and may have been a bad choice of word by me when thinking about the broader ecosystem.

        With that said, macOS enjoys ~33% share in the latest Stack Overflow developer survey [0], and I think this illustrates the point somewhat. This is a healthy enough portion of the market to focus on, especially in the case of implementing low hanging fruit.

        - [0] https://survey.stackoverflow.co/2023/#overview

  • impulser_ 2 years ago

    You never built a product if this is your honest take.

    You should have a focus when you first build a product. You shouldn't be holding up your product progress because you don't support every platform.

    This is the reason why you see a lot of apps support iOS before they release an Android app.

    It better to build a good working app for one platform than to not build one at all because you are spending all your time supporting as many platform as possible.

  • skrebbel 2 years ago

    I’m a Windows user so I was sad about this but I think their reason for doing it like this makes a lot of sense. I’d do the same in their shoes, I think.

    The explain it in the 6th question on https://zed.dev/faq

myaccountonhn 2 years ago

Tangent: I wish we could standardize real-time code sharing the same way we have with LSPs. It is sad that if you want to pair-program, both have to be using the same editor. It really makes more sense to have one standard format so that one person can use VSCode and another can use Vim or Zed. If you want to make it standard practice you have to enforce everyone to use the same editor, which sucks.

Already at work some people have complained that I don't use VSCode for code-sharing.

  • giancarlostoro 2 years ago

    With Neovims headless capabilities, I am hoping for the day every major IDE and editor has first party support as a front-end for Neovim, and then any Neovim plugin just becomes universal across all IDEs and editors. Which... you can make Neovim plugins in almost any language, I've seen bindings for "lesser popular" languages.

    I'm not even a vim guy, but if JetBrains finally adds front-end support for Neovim, I might just become a de-facto VIM guy. Instead of emulating vim like they do, they could just literally support Neovim as a back-end. I'm still surprised nobody at JetBrains has put in effort into this.

    • ckolkey 2 years ago

      I'm right there with you - my yet-unrealized dream is sublime's front-end with neovim powering it.

      • giancarlostoro 2 years ago

        Yet another front-end I think needs it. I am looking at both Sublime and JetBrains because I use both. Notepad from Windows by Microsoft will support Neovim before both at this point (I was shocked to find that it supports tabs, and lets me keep unsaved files open just like ST).

  • DistractionRect 2 years ago

    Real time document editing and sync is actually a tall order. To make it editor/tool agnostic you'd need some kind of overlay fs + first/third party support in the various editors (as most editors don't hot reload file changes; they expect the files they have open not to be changing underfoot).

    • myaccountonhn 2 years ago

      Yeah I don't know what work is involved to build something like it, but not having it def. leaves the editor ecosystem in a vulnerable position for monopolistic practices.

    • zozbot234 2 years ago

      Apache Wave (née Google Wave) is a thing.

      • DistractionRect 2 years ago

        Was a thing.

        After almost a decade it never got off the ground. And while it might address the core problem (collaborative editing), that still leaves the ecosystem problem: fuse mounts, first/third party adoption in the editor or via extensions/plugins. Arguably that's drawing the rest of the f*** owl.

  • Evidlo 2 years ago

    Isn't that what Floobits is?

    https://floobits.com/

    • KomoD 2 years ago

      Cert is invalid, HSTS is enabled, HTTPS is forced, can't visit that site.

Cannabat 2 years ago

> respond to your keystrokes on the next display refresh

Claimed insertion latency for a keystroke: - zed 58ms - subl 75ms - vscode 97ms - clion 83ms

60 Hz displays refresh once every ~16.6ms. 58ms to insert a character is ~3.5 frames. My laptop can do 120 Hz, and other monitors can even do 300 Hz.

Yeah, it's a lot faster than the other editors, but 58ms seems really slow - definitely not "next display refresh". All of them seem really slow.

  • raphlinus 2 years ago

    Much of that is latency added by the design of modern compositors (see "the compositor is evil").

    The good-ish news is that as the frame rate goes up, compositor latency goes down, as it's usually an integer multiple of frame refresh time.

    I'm also interested in influencing the design of next gen systems to reduce compositor latency, but I'm apparently pretty much alone in that interest.

    • coffeeaddict1 2 years ago

      Xilem seems to be heavily focused on using WebGPU. One doubt I have is: is it possible to have tight integration with the system's compositor using such an abstraction? For example, on Windows looking at the documentation for the DirectComposition, it seems that things are designed precisely to work optimally with DirectX. So my impression is that one would really need to use the native graphics APIs on each system to achieve optimal input latency.

      • raphlinus 2 years ago

        It's a good question and one we're looking into. We're not planning tight integration with the system compositor on our 2024 roadmap, partly because it's extremely platform dependent, and presents compatibility challenges (you basically don't get it on X). But even for damage regions, which is on the roadmap, we're going to need to extend wgpu.

  • tiltowait 2 years ago

    As computers got more complex, latency increased. It's really pretty remarkable to see how things have changed over the years[1]. I do agree that 58ms seems far outside of the range of "next display refresh", however.

    [1] https://danluu.com/input-lag/

    • Cannabat 2 years ago

      > These are tests of the latency between a keypress and the display of a character in a terminal

      Wow, the numbers are entirely unexpected. I want to see the latency when you have no display server, having booted directly to a shell.

      I imagine modern competitive twitch-reflex videogames (fps, fighting) must have far less input latency - 100ms must be totally unacceptable. Suppose that's the power of a GPU.

  • AA-BA-94-2A-56 2 years ago

    I'm interested to know what people's insertion latency is on Neovim with similar IDE-like plugins, and LSP and Copilot running.

    • Cannabat 2 years ago

      Same. I'd hope that using LSP and Copilot would not meaningfully impact insertion latency, though - I'd expect those to be fully async, in a separate thread.

drewdevault 2 years ago

Consider discarding the CLA if you anticipate third-party contributions. If you need to verify provenance, the Developer Certificate of Origin is a better approach. Otherwise, this (correctly) reads as a project which intends to take advantage of FOSS contributors for a while before pulling the rug and making it non-free again.

  • WCSTombs 2 years ago

    Also the "CLA" link just points to https://zed.dev/cla, which asks me to authorize Zed Industries to access my private GitHub profile. So at this point I don't even know what the CLA says. That's important because not all CLAs are created equal. I think some don't fully remove the contributors' ownership, which would prevent the hypothetical future closed-sourcing.

    • drewdevault 2 years ago

      I took one for the team and authorized access for long enough to read the darn thing, and yes, it expects effectively full copyright assignment and leaves the door wide open for a rug pull.

    • erk__ 2 years ago

      I opened a discussion about that here: https://github.com/zed-industries/zed/discussions/4442

    • maxdeviant 2 years ago

      We've adjusted it so that the CLA can now be viewed without signing in.

      Sorry about that!

    • Yujf 2 years ago

      The CLA does not prevent future closed-sourcing sadly

    • ZeroCool2u 2 years ago

      This is the content of the CLA:

      Zed Contributor License and Feedback Agreement Welcome to our Contributor License and Feedback Agreement! Here's a quick breakdown of what's inside:

      You (the contributor) are entering into an agreement with Zed Industries, Inc. You're giving Zed permission to use and share your contributions (like original works or modifications). You assure us that the contributions are truly your own and you have the legal right to share them. You're not required to support your contributions but you're welcome to if you wish. If you ever notice an error or change in the details you've given us, you agree to let us know. In short, this agreement covers the terms for your valuable contributions to Zed's projects.

      Legally binding section follows: By submitting a Contribution, use of the Solution or any components related thereto (as such is further defined in Zed’s End User License Agreement located here: https://zed.dev/eula) or as enabled pursuant to your use of Zed’s collaboration tools offered therein, you hereby accept and agree to the terms and conditions set forth in this Contributor License and Feedback Agreement (the “Agreement”) for Your present and future Contributions submitted to Zed Industries, Inc. (“Company”). Except for the license granted herein to Company and recipients of software distributed or made available by Company, You reserve all right, title, and interest in and to Your Contributions.

      1. Definitions.

      “Contributor”, "You", and "Your" shall mean the copyright owner or legal entity authorized by the copyright owner that is making this Agreement with Company. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      "Contribution" shall mean Feedback (as defined below), any original work of authorship, and any modifications or additions to an existing work, that is intentionally submitted by You to Company for inclusion in, or documentation of, any of the products owned or managed by Company (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to Company or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking or collaboration systems that are managed by, or on behalf of, Company for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."

      “Feedback” means suggestions, comments, improvements, software code / snippets or other information submitted to, shared with or otherwise made available to Zed or its contributors with respect to, or in connection with the use or interaction with, the Work, Zed Network Based Service or Editor technology (as defined by Zed and as further described within Zed’s End User License Agreement located at https://zed.dev/eula).

      2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Company, and to recipients of software distributed by Company related hereto, a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute, Your Contributions and such derivative works (the “Contributor License Grant”). Further, to the extent that You participate in any livestream or other collaborative feedback generating session offered by Company, you hereby consent to use of any content shared by you in connection therewith in accordance with the foregoing Contributor License Grant.

      3. Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to Company and to recipients of software distributed by Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.

      4. You represent that you are legally entitled to grant the above licenses, including but not limited to any video content shared or recorded as related to collaboration with Zed and the Zed community. If your employer(s) has rights to intellectual property that you create that includes your Contributions, you represent that you have received permission to make Contributions on behalf of that employer, that your employer has waived such rights for your Contributions to Company, or that your employer has executed a separate Corporate CLA with Company.

      5. You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which you are personally aware and which are associated with any part of Your Contributions.

      6. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

      7. Should You wish to submit work that is not Your original creation, You may submit it to Company separately from any Contribution, identifying the complete details of its source (e.g., attribution) and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work prior to submitting it to Zed or the Zed community.

      8. You agree to notify Company of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.

  • bogwog 2 years ago

    I like CLAs. If there's an open source project that I love/depend on, I will most likely want to be able to contribute to it for my own personal reasons at some point (e.g. fix a bug that bothers me or add a feature I want).

    I am a Sublime Text addict, but hate how slow development is and how resistant they are to adding more dev-focused features. I would happily sign a CLA if it meant I could modify the code myself, even if I end up paying to use my own code.

    Giving the owner permission to sell my contribution (which is likely very minor compared to the rest of the project) gives me added peace of mind since I know that the project is (or can be) sustainable.

    A rug pull is always bad, but it's not fair to assume that that's what will happen (unless you know something we don't).

    And besides, even if it does happen, that's what forks are for. This project is licensed with GPL and AGPL.

    • drewdevault 2 years ago

      You do not need to give anyone special permission to sell your contribution, everyone in the world is equally entitled to make commercial use of (including outright sale of) free and open source software; without this it is not free or open source.

      The only purpose of a CLA like this is to provide for a future where the software can be made non-free again.

      • trevyn 2 years ago

        No. A license to copyrighted code does not confer the same privileges as holding copyright to that code.

        Public domain is closer to “equally entitled”.

        • drewdevault 2 years ago

          An open source license, by definition, entitles the recipient to commercial use.

          https://xkcd.com/1731/

          • trevyn 2 years ago

            But not any commercial use, only that which is covered by the license.

            Whereas the copyright holder has broader rights.

            So a licensed user is not “equally entitled”.

Solvency 2 years ago

Am I alone in thinking the contrast levels on all of their UI screenshots is really faint? It's pretty hard on the eyes.

hello_computer 2 years ago

This is an impressive piece of engineering, but I already have a collaborative code editor. It's called vim+tmux, and I can use it over hardware going all the way back to the 80s. The older I get, the more I feel that if I can't use it over a VT220, I don't want it.

Thaxll 2 years ago

I looked at some random files, did not find a single comment, very strange.

  • porsager 2 years ago

    What a weird statement. It's beautiful! You don't need comments, just read the code. No need to litter code with ambiguous language. The only place a comment fits is if the purpose is not clear from the code.

numitus 2 years ago

I am just wondered, how many lines of codes people writes every day, that code-editor speed is so important?

  • mattigames 2 years ago

    I dont think is much about how much you write, is more like your brain consciously and subconsciously keep track of how enjoyable/frustrating is to any use any given tool (or perform any given action), for developers that includes the code editor, and some developers percieve speed as one of the most important features to make it enjoyable

    • Aeolun 2 years ago

      I think it’s more that slowness makes things less enjoyable. Snappy should be the baseline. I love IntelliJ, but the fact that it often just decides to randomly re-index, slowing the whole system to a crawl, makes the experience of using it extremely frustrating.

subarctic 2 years ago

If it's open source, why do I have to agree to a bunch of terms and conditions that look suspiciously not like a standard open-source software license when I try to install it?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection