Zed is a modern open-source code editor, built from the ground up in Rust with a GPU-accelerated renderer.

  • bionicjoey@lemmy.ca
    link
    fedilink
    arrow-up
    200
    arrow-down
    3
    ·
    4 months ago

    Installer is piping curl into shell

    I thought we were past this as a society 😔

      • timestatic@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        As long as they just use it for their community and don’t fucking lock documentation behind discord I don’t really care. But this trend has been so annoying. Due to this I’m in so many servers I have to quit a server just to join a new one

    • kazaika@lemmy.world
      link
      fedilink
      arrow-up
      27
      ·
      4 months ago

      I mean its already in the nix repos as well as homebrew which means its essentially taken care of

        • pukeko@lemm.ee
          link
          fedilink
          English
          arrow-up
          5
          ·
          4 months ago

          It appears to be a couple of versions behind … and have some issues with dynamically linked libraries that hinder LSPs. Neither of these is Zed’s fault. I’m sure the packaged version will be up to date momentarily (given the interest in Zed, sooner rather than later). Not sure how easy the LSP thing will be to fix, though there are some workarounds in the github issue.

          • priapus@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            5
            ·
            4 months ago

            yeah the editor is being updated way too fast for nix to keep up. I’m sure it’ll be easier once it has its stable release. I see the have a nix flake in the repo, it would be great if they added a package to the outputs instead of just a devshell, nix users could easily build it from master or whichever tag they want.

            There are solutions in this issue to the LSP issue. The editor would need to be built in an fhs-env, or they will need to find a way to make it uses binaries installed with nix instead of the ones it downloads itself. VSCode had a similar issue, so there is a version of the package that let’s you install extensions through nix, and another that uses an fhs-env that allows extensions to work out of the box.

    • WFH@lemm.ee
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      4 months ago

      A curl piped into a shell or some unofficial packages from various distros.

      At this point I don’t get why these projects are not Flatpak-first.

      • skilltheamps@feddit.org
        link
        fedilink
        arrow-up
        10
        ·
        4 months ago

        Security wise it doesn’t matter, you run the code they wrote in any case. So either trust them or don’t. Where it matters is making a mess on your computer and possibly leaving cruft behind when uninstalling. But packages are in the works, Arch even has it since before linux support was announced officially.

    • Telorand@reddthat.com
      link
      fedilink
      arrow-up
      7
      arrow-down
      1
      ·
      edit-2
      4 months ago

      That was my first thought as well, but I will say that uBlue distros had a signing issue preventing updates recently, due to an oversight with how they rotated their image signing keys, and the easiest (maybe only?) solution was to pipe a curl command to sh. Even though uBlue is trustworthy, they still recommended inspecting the script, which was only a few lines of code.

      In this case, though, I dunno why they don’t just package it as a flatpak or appimage or put it up on cargo.

      Edit: nvm, they have some package manager options.

        • eveninghere@beehaw.org
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          AFAIK it’s the copy cost for the memory. GPU makes sense only when the hardware allows this copy to go away. Generally, desktop PCs don’t have such specialized hardware.

          • Mia@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            4 months ago

            I don’t see why you’d have to copy all that much. Depending on the rendering architecture, once all the glyphs are there you’d only need to send the relevant text data to be rendered. I don’t see that being much of a problem even when using SDFs. It’s an extremely small amount of data by today’s standards and it can be updated on demand, but even if it couldn’t it would still be extremely fast to send over every frame. If games do it, so can text editors. Real time text rendering on the GPU is a fairly common practice nowadays, unfortunately not in most GUI applications…

            • eveninghere@beehaw.org
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              At this point I’m not expert enough to explain more details. You can check font renderers.

              Below is what’s in my mind but it’s just a guess.

              In typical PC architectures you have IO between the storage and the RAM, and then there’s the copying from the RAM to the VRAM, and editors maybe also want copying from the VRAM to RAM for decoration purposes etc.

              • Mia@lemmy.blahaj.zone
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                4 months ago

                I am familiar with the current PC and GPU architectures.

                IO is a non issue. Even a massive file can be trivially memory mapped and parsed without much hassle, and in the case of a text editor you’d have to deal with IO only when opening or saving said file, not during rendering.

                As for the rendering side, again, the amount of memory you’d have to transfer between RAM and VRAM would be minimal. The issue is latency, not speed, but that can be mitigated though asynchonous transfer operations, so if done properly stutters are unlikely.

                Rendering monospaced fonts (with decorators and control characters) at thousands of frames a second nowadays is computationally trivial, take a look at refterm for an example. I suspect non-monospaced fonts would require more effort, but it’s doable.

                As I said at the beginning, it’s not impossible, just a pain. But so is font rendering in general honestly :/

    • TunaCowboy@lemmy.world
      link
      fedilink
      arrow-up
      6
      arrow-down
      13
      ·
      4 months ago

      It is worrisome that all the smug elitists are too incompetent to just leave off the pipe and review from stdout, or redirect to a file for further analysis.

      Same people will turn around and full throat the aur screaming ‘btw’ to anyone who dares look in their direction.

      • skilltheamps@feddit.org
        link
        fedilink
        arrow-up
        11
        arrow-down
        1
        ·
        4 months ago

        By that logic you have to review the Zed source code as well. Either you trust Zed devs or you don’t - decide! If you suspect their install script does something fishy, they could do it just as well as part of the editor. If you run their editor you execute their code, if you run the install script you execute their code - it’s the same thing.

        Aur is worse because there usually somebody else writes the PKGBUILD, and then you have to either decide whether to trust that person as well, or be confident enough for vetting their work yourself.

      • krolden@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        4 months ago

        Eh using aur is a bit different since most of# them pull the projects git repo directly anyway. Yeah the project might have vulns but thats on you to inspect before building it as well as the pkgbuild itself

    • SavvyWolf@pawb.social
      link
      fedilink
      English
      arrow-up
      38
      arrow-down
      1
      ·
      4 months ago

      So they’re doing the equivalent of VSCode(ium)'s extensions, but installing them automatically and not giving you the option to use alternatives?

      Blegh.

      • aaro@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        4 months ago

        I think they auto install some binaries like nodejs that are required for baseline functionality, but have a popup window for additional language LSPs

        • hswolf@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          4 months ago

          what if I wanted to use deno or bun? I don’t think that should be their decision to install “default” stuff that have alternatives

          I’m all for their improvement tho

          • aaro@lemmy.world
            link
            fedilink
            arrow-up
            7
            ·
            4 months ago

            I don’t see your point? Nodejs is installed in a custom directory and not added to PATH. It is used by Zed for providing npm support for extensions, and other things. I’m not a Zed developer so I don’t know exactly.

            It doesn’t prevent you from using deno or bun in any way.

            • hswolf@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              I see, that’s greatif it is only locally installed and used, messing with PATH could, probably, break stuff like nvm or others

    • PushButton@lemmy.world
      link
      fedilink
      arrow-up
      14
      arrow-down
      9
      ·
      4 months ago

      Quoting the guy:

      “that rewriting those in Rust will take an eternity, so not sure what is actionable here, hence closing.”

      That’s Rust shining from all its glories here gentlemen…

      The best language, if there is nothing changing.

      That’s a thing to make a web server or a library that displays Fibonacci, that’s something else when there are humans with changing scopes…

      • boredsquirrel@slrpnk.net
        link
        fedilink
        arrow-up
        19
        arrow-down
        2
        ·
        4 months ago

        Its not Rusts fault, the devs are simply lazy and making insecure products, as they dont want to rewrite everything.

        • PushButton@lemmy.world
          link
          fedilink
          arrow-up
          12
          arrow-down
          2
          ·
          4 months ago

          That’s what I am saying.

          To quote you: “they don’t want to rewrite everything” …

          Writing Rust often implies major refactoring and it takes so much time to write that your requests go: “pewf” closed due to the amount of effort it takes.

          Anyway, been there, done that! Zig is probably the real future; it’s a joy to write, it compiles fast, clear to read, and safe.

          It has shared libraries and a proper integration with existing C/CPP code base.

          You should try it, that’s an amazing language with a real potential to replace the legacy.

            • PushButton@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              Comptime replaces macros/reflection.

              It’s basically Zig code that runs at compile time in your code…

              No other “weird” language to learn; it’s zig all the way. What you would have written in macro is written in zig comptime.

              Even the build system is zig…

              Same for generics, it’s comptime…

        • PushButton@lemmy.world
          link
          fedilink
          arrow-up
          4
          arrow-down
          4
          ·
          4 months ago

          There are no patch, the issue has been closed as in rejected.

          There are a few tasks that are open that are loosely related, but let’s not mix things up.

          Moreover, I will take the words of the maintainers over a random potato on a forum.

          No offense…

            • PushButton@lemmy.world
              link
              fedilink
              arrow-up
              3
              arrow-down
              2
              ·
              4 months ago

              As I mentioned, a couple of tasks loosely related. The patch you are mentioning isn’t complete nor address the real problem.

              It is an ugly hack at best.

              Refrain from your urge to defend rust at all costs. You are sliding more and more toward the specifics of a project than the fact I stated about rust in general.

              If you still not get my initial point I’ve made, read this.

              That’s a long read explaining what I meant. My point was about Rust, not Zed or the developers of Zed in particular.

              And for the Zed editor, I wish them the best luck, it seems like a great project that people enjoy.

              Please feel free to comment and share your thoughts on the article above, my dear favorite nutritious veggie.

      • fxdave@lemmy.ml
        link
        fedilink
        arrow-up
        3
        arrow-down
        5
        ·
        edit-2
        4 months ago

        I use rust only if we need performance, for small services. The industry does the same. People use node for backend but e.g. redis is in rust. It’s a good tool if you use it for the right stuff.

        EDIT: redis is not in rust, but e.g. aws writes many services in rust

    • cerement@slrpnk.net
      link
      fedilink
      arrow-up
      61
      ·
      edit-2
      4 months ago

      Zed (a high-performance code editor announced in 2022), not to be confused with Xed (a small and lightweight text editor released in 2016)

      EDIT: or Yed (a small and simple terminal editor core)

      • krolden@lemmy.ml
        link
        fedilink
        arrow-up
        8
        arrow-down
        10
        ·
        4 months ago

        Thats not the point. Why should you trust anything from this project after they would allow third party unsigned binaries from questionable sources

        • priapus@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          21
          arrow-down
          2
          ·
          4 months ago

          Because people can make make mistakes…

          Loads of important projects have had vulnerabilities that showed up through minor mistakes and oversights. I agree that this shouldn’t happen, but it did. I’d still prefer this project to a closed source editor/IDE and even VSCodes method of having a store full of plugins, many of which are closed source and unverified. The project is in alpha, mistakes and problems are expected. This was obviously an oversight, and after being pointed out, it is being addressed.

          Can you elaborate on questionable sources? All the sources I saw were the official sources of the binaries they wanted to download.

          • Fonzie!@ttrpg.network
            link
            fedilink
            arrow-up
            6
            arrow-down
            2
            ·
            4 months ago

            Deliberately making your program download unsigned binaries from questionable sources is more of a bad design than an oopsie in my book

            • priapus@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              4
              arrow-down
              2
              ·
              4 months ago

              Again, the binaries aren’t from questionable sources. From what I can tell they all come from the official source. The problem is them being unsigned, which is a simple oversight that can be made when something is being written by someone who is not security minded. It is alpha software and this is already actively being discussed.

  • blackboxwarrior@lemmy.ml
    link
    fedilink
    arrow-up
    35
    arrow-down
    1
    ·
    4 months ago

    I am BEGGING for any editor other than VSCode to have decent remote development. I want to go open source but everything I’ve tried (remote-nvim, distant, tramp, vscodium, etc.) just doesn’t cut it.

      • The Cuuuuube@beehaw.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        Pair programming over the net. The old school way is tmux and vim but to do that you and your partner need port 22 open and most enterprises are gonna be like “hell no you can’t let people connect to your company owned work laptop SSH into your machine”

    • flux@lemmy.ml
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      4 months ago

      Apparently Lapce has remote development as its core feature. But I only (re?)learned of it today…

      How didn’t tramp work out for you?

    • finestnothing@lemmy.world
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      4 months ago

      Have you tried running doom emacs in tmux on the remote server and accessing it with ssh? Doom emacs is all the good of an emacs environment, all the good of vim keybinds, and they worked in a decent amount of optimizations so it only loads the necessary stuff on demand (mine has a startup time of just over 1 second, slower than vim but barely an inconvenience). Can write a quick script to ssh copy (or git pull) your current configs on the server so you only have to maintain one set of configs if you want

      scp ~/.config/doom/config.el username@server:~/.config/doom/config.el
      

      Run emacs in tmux if you want to keep the emacs session open across multiple ssh sessions

      • The Cuuuuube@beehaw.org
        link
        fedilink
        English
        arrow-up
        10
        ·
        4 months ago

        It has Microsoft BLObs baked in as part of the build process. VS Codium is the FLOSS distribution of VS code’s open source code. Liveshare doesn’t appear in the package repo Codium uses (because of the Microsoft BLObs it contains as an extension). For work I manually download the live share extension VSX and load it into vscodium

    • janabuggs@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      IntelliJ products my dude! If you go on there education side you can find the packages for free to compile yourself. There’s tons of guides online to do it.

  • aramus@lemmy.world
    link
    fedilink
    arrow-up
    39
    arrow-down
    10
    ·
    4 months ago

    I still don’t understand why I should need GPU acceleration for my fucking TEXT EDITOR

        • RayJW@sh.itjust.works
          link
          fedilink
          arrow-up
          8
          ·
          4 months ago

          I think Zed is quite different from Atom. But Pulsar might be your thing. A direct fork of the last release of Atom being developed by ex Atom developers :)

          • Daeraxa@lemmy.ml
            link
            fedilink
            arrow-up
            7
            ·
            4 months ago

            Just to clarify, the Pulsar devs aren’t ex-Atom devs. Some of the team are from atom-community but none of the core Pulsar team were part of the official Atom team.

            • RayJW@sh.itjust.works
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              Oh, interesting. In that case I misunderstood that part, I thought there were core devs of Atom involved in Pulsar, thanks :)

              • Daeraxa@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                4 months ago

                Watch this space for the full history, I’m literally putting the final touches on a blog post that will go into details of how Atom started then how it became Pulsar as a little celebration after we hit 3k stars.

      • Virkkunen@fedia.io
        link
        fedilink
        arrow-up
        12
        arrow-down
        2
        ·
        4 months ago

        Zed is not an IDE, it’s a code editor. No, they aren’t the same things, it’s like saying a table and a kitchen are the same thing.

        • Eager Eagle@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          1
          ·
          4 months ago

          This distinction is not as meaningful as it used to be before LSPs; there’s little a PyCharm IDE can do that you can’t do in VS Code editor for example.

      • tabular@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 months ago

        Thanks. I briefly used Atom (on Win) but stopped as it was terribly slow to startup.

        What is the software license for Zed? It’s Github page isn’t clear.

        • furzegulo1312@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          15
          ·
          4 months ago

          The code for Zed itself is available under a copyleft license to ensure any improvements will benefit the entire community (GPL for the editor, AGPL for server-side components). GPUI, the UI framework that powers Zed, is 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. https://zed.dev/blog/zed-is-now-open-source>

  • 1984@lemmy.today
    link
    fedilink
    arrow-up
    24
    arrow-down
    1
    ·
    edit-2
    4 months ago

    I can see the beginning of something truly great in this editor. It’s going to become better than VS code in a year.

    It’s already great for some languages like Go and Rust.

  • mogoh@lemmy.ml
    link
    fedilink
    arrow-up
    20
    ·
    4 months ago

    Interesting project, how ever it will be hard to compete with existing editors and its plugin eco-systems.

  • AVincentInSpace@pawb.social
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    1
    ·
    4 months ago

    I still do not understand why Zed makes such a big deal about being GPU accelerated when you’ll be hard pressed to find a single text editor nowadays that isn’t.

    • Bilb!@lem.monster
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      4 months ago

      Yeah, I don’t see why I should care about that. Gimme some crazy graphical effects, particles and shaders!

    • Bolt@lemmy.world
      link
      fedilink
      English
      arrow-up
      19
      ·
      4 months ago

      Very first impressions since I literally just downloaded before writing this, and haven’t read the manual, I may change my mind with more experience.

      • It’s incredibly snappy, to my eyes as fast as Helix.
      • A lot of stuff that took me a while to figure out in VS Code was immediately obvious. How to toggle inlay hints for Rust? Parameter Icon > Inlay Hints (with the keyboard shortcut there for easy toggling).
      • Interactive is generally intuitive because it seems pretty permissive. Tab vs Enter to autocomplete? Either! ctrl-shift-Z vs ctrl-Y to redo? Same thing!
      • After being so used to Helix I often reach for keybinds that don’t exist. I might have to learn Vim keybinds because I’m definitely going to keep trying Zed.
      • Not sure how I feel about what seems to be an inline discord-like chat/voice-call feature.

      Going to check out if there’s git integration, because I couldn’t easily find it.

      • hemko@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        11
        ·
        edit-2
        4 months ago

        Going to check out if there’s git integration, because I couldn’t easily find it.

        Asking this because I’m noob, not elitist ass: Why a git integration in ide instead of using the cli? I’ve been working only on few projects where git is used, but the cli seems to be a ton easier to understand how to work with than the git integration in vscode which I discarded after few attempts to use

        • micka190@lemmy.world
          link
          fedilink
          arrow-up
          15
          ·
          4 months ago

          Depends on the features.

          Git has some counterintuitive commands for some commands you may want to do when you want to quickly do something. Being able to click a button and have the IDE remember the syntax for you is nice.

          Some IDEs have extra non-native Git features like have inlined “git blame” outputs as you edit (easily see a commit message per-line, see who changed what, etc.), better diff/merge tooling (JetBrain’s merge tool comes to mind), being able to revert parts of the file instead of the whole file, etc.

          the git integration in vscode which I discarded after few attempts to use

          I’m going to be honest, I don’t really like VS Code’s Git integration either. I find it clunky and opinionated with shitty opinions.

          • hemko@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            6
            ·
            4 months ago

            Git has some counterintuitive commands

            Yeah… ‘git merge main’ weirds me out because my brain likes to think the command is merging current branch TO main instead of other way around

            Some IDEs have extra non-native Git features like have inlined “git blame” outputs as you edit (easily see a commit message per-line, see who changed what, etc.), better diff/merge tooling (JetBrain’s merge tool comes to mind), being able to revert parts of the file instead of the whole file, etc.

            Okay this sounds very good, so they actually improve git cli feature wise in addition to implementing GUI for it.

            Thanks for the reply!

        • Bolt@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          4 months ago

          I’m probably more of a git noob than you, but I do usually use the cli. I figured if I’m going to give a gui editor an honest shake I should try to do things the inbuilt, gui, way. And more to the point, I do appreciate a good user interface with information at a glance or click instead of having to type out a command each time.

          • hemko@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            3
            ·
            4 months ago

            I’m probably more of a git noob than you

            Doubt =D

            And more to the point, I do appreciate a good user interface with information at a glance or click instead of having to type out a command each time.

            Agreed with good user interface, my criticism was specifically for the vscode default git plugin which I was not compatible with at all but it could be just a me-problem

        • flux@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          4 months ago

          A great git integration can work well in an editor. I use Magit in Emacs, which is probably as full-featured Git-client as there can be. Granted, for operations such as cherry-picking or rebasing on top of a branch or git reset I most often use the command line (but Magit for interactive rebase).

          But editor support for version management can give other benefits as well, for example visually showing which lines are different from the latest version, easy access to file history, easy access to line-based history data (blame), jumping to versions based on that data, etc.

          As I understand it vscode support for Git is so basic that it’s easy to understand why one would not see any benefits in it.

        • iiGxC@slrpnk.net
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          I mainly use git with cli, the one thing that’s been super helpful in vscode is gitlens, which shows you who last updated the line you’re on, and lets you look at the commit

      • pukeko@lemm.ee
        link
        fedilink
        English
        arrow-up
        7
        ·
        4 months ago

        Git integration seems to be so embedded that it’s easy to miss. Open a git repository folder and you can switch branches and whatnot. But, like, in the command palette, there’s no Git > Pull or Git > Clone as in vscode. (I have barely scratched the surface so it might be there hiding in plain sight.)

    • pukeko@lemm.ee
      link
      fedilink
      English
      arrow-up
      11
      ·
      4 months ago

      Zed has a lot more features and is GUI-based. Helix is more focused and is CLI-based. I think a more direct comparison would be with VSCode(ium).

      • priapus@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        8
        ·
        4 months ago

        Better/simpler experience out of the box. With Helix you install the LSPs for languages you use and you’re set with a fully featured editor. Manual configuration is only needed for setting themes, keybinds, and small setting changes. It also feels much faster than a fully configured vim/neovim. Lastly its keybinds are inspired by Vim/Kakoune, but different from both.

          • markstos@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            4 months ago

            A lot of the bindings are the same, because Helix was inspired in part by Vim.

            Helix overall tries to make more consistent vocabulary and “nouns” and “verbs” in the keybindings, so there are some breaking changes.

            Someone published a more “vim-like” set of keybindings for Helix: https://github.com/LGUG2Z/helix-vim

            I started with that and then have slowly disabled a number of them as I come to appreciate the Helix defaults, and have realized that some of these vim-bindings are overriding other Helix bindings that I wanted.

  • gortbrown@lemmy.sdf.org
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    4 months ago

    I was so happy about this! Been using it on my work MacBook and have been excited to use it on my main laptop!

  • jaxxed@lemmy.world
    link
    fedilink
    arrow-up
    11
    arrow-down
    3
    ·
    4 months ago

    Zed seems cool, but not much better than other options. I am still kind of thrown off by the immediate GH/CoPilot integration. Am I the an old man left in the caves of feeling that I don’t need the AI help?

  • Nora@lemmy.ml
    link
    fedilink
    arrow-up
    7
    ·
    4 months ago

    I tried saving to a file that required root and it didn’t give any prompt to enter the password. On VSCodium normally if you are trying to write to a file that requires sudo then it prompts you.

    Is there a way to save to root files with Zed?