diff options
| author | Mitja Felicijan <m@mitjafelicijan.com> | 2023-07-08 23:25:41 +0200 |
|---|---|---|
| committer | Mitja Felicijan <m@mitjafelicijan.com> | 2023-07-08 23:25:41 +0200 |
| commit | cd6644ea4ddc78597934ab0ef5ba50e3c3daa927 (patch) | |
| tree | 03de331a8db6386dfd6fa75155bfbcea6b4feaf3 /content/posts/2023-05-22-crafting-stories-in-zed-editor.md | |
| parent | 84ed124529ffeee1590295b8de3a8faf51848680 (diff) | |
| download | mitjafelicijan.com-cd6644ea4ddc78597934ab0ef5ba50e3c3daa927.tar.gz | |
Moved to a simpler SSG
Diffstat (limited to 'content/posts/2023-05-22-crafting-stories-in-zed-editor.md')
| -rw-r--r-- | content/posts/2023-05-22-crafting-stories-in-zed-editor.md | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/content/posts/2023-05-22-crafting-stories-in-zed-editor.md b/content/posts/2023-05-22-crafting-stories-in-zed-editor.md deleted file mode 100644 index ead4276..0000000 --- a/content/posts/2023-05-22-crafting-stories-in-zed-editor.md +++ /dev/null | |||
| @@ -1,87 +0,0 @@ | |||
| 1 | --- | ||
| 2 | title: From General Zod to Superman - Crafting Stories in Zed Editor | ||
| 3 | url: crafting-stories-in-zed-editor.html | ||
| 4 | date: 2023-05-22T12:00:00+02:00 | ||
| 5 | draft: false | ||
| 6 | --- | ||
| 7 | |||
| 8 | Pretentious title! Good start! I have nothing to add to this discussion. I just | ||
| 9 | like this editor and wanted to write something here that will remind me to use | ||
| 10 | it again in a while when/if it becomes available for Linux. | ||
| 11 | |||
| 12 | **TLDR:** I think this code editor is very cool and has a massive potential. I | ||
| 13 | hope they don’t mess up with adding a plugin ecosystem to it! | ||
| 14 | |||
| 15 | Out of morbid curiosity, I started using the [Zed editor](https://zed.dev/) on | ||
| 16 | my Mac. Zed is a high-performance, multiplayer code editor developed by the | ||
| 17 | creators of Atom and Tree-sitter. Written in Rust so it has to be blazingly | ||
| 18 | fast! 😊 It's a joke, calm down. | ||
| 19 | |||
| 20 | Over the past year, I have switched between [Helix | ||
| 21 | editor](https://helix-editor.com/) and [VS | ||
| 22 | Code](https://code.visualstudio.com/), but for the last couple of months, I have | ||
| 23 | been using Helix exclusively. | ||
| 24 | |||
| 25 | I've been genuinely impressed by Zed. When you open a file, it automatically | ||
| 26 | detects its type and downloads the corresponding [LSP (language | ||
| 27 | server)](https://en.wikipedia.org/wiki/Language_Server_Protocol). The list of | ||
| 28 | supported languages is not extensive, but it's still impressive. It's a great | ||
| 29 | example of how to create a product that stays out of your way. | ||
| 30 | |||
| 31 |  | ||
| 32 | |||
| 33 | For C development it downloaded [clangd](https://clangd.llvm.org/) and setting | ||
| 34 | up missing dependencies in code was rather easy. For this project I use | ||
| 35 | [SDL2](https://www.libsdl.org/) for rendering terminal emulator. It’s a hobby | ||
| 36 | project, don’t worry about it. | ||
| 37 | |||
| 38 | If you are going to give this a try and you are using C, I suggest checking two | ||
| 39 | files in the root of your project folder. If you don't have them, create them. | ||
| 40 | |||
| 41 | **compile_flags.txt** | ||
| 42 | |||
| 43 | ``` | ||
| 44 | -I/opt/homebrew/include | ||
| 45 | -I/opt/homebrew/include/SDL2 | ||
| 46 | ``` | ||
| 47 | |||
| 48 | Easy way of checking what the appropriate includes for a specific library is to | ||
| 49 | use `pkg-config` and in my case `pkg-config SDL2 --cflags-only-I`. But this is | ||
| 50 | nothing new to C/C++ devs. Just a noter for people who are using Visual Studio. | ||
| 51 | |||
| 52 | **.clang-format** | ||
| 53 | |||
| 54 | ``` | ||
| 55 | ColumnLimit: 220 | ||
| 56 | BasedOnStyle: Mozilla | ||
| 57 | ``` | ||
| 58 | |||
| 59 | I prefer Mozilla coding style for C so you can set that up. | ||
| 60 | |||
| 61 | They really have something special here. Although there is no version available | ||
| 62 | for Linux yet, I will stick to Helix. This impressive piece of engineering is, | ||
| 63 | above all, an amazing example of craftsmanship. | ||
| 64 | |||
| 65 | They have a bunch of amazing integrated functionalities like live desktop | ||
| 66 | sharing, code sharing in a live coding session. There is a lot of pretentious | ||
| 67 | marketing speak there but the product is still amazing! | ||
| 68 | |||
| 69 | For me the speed and the simplicity of the product was the most impressive | ||
| 70 | thing. You get that: it just works feeling. A rare thing in 2023. | ||
| 71 | |||
| 72 |  | ||
| 73 | |||
| 74 | They also managed to add [Github Copilot](https://github.com/features/copilot) | ||
| 75 | in a non obtrusive way. To me, everything feels very intentional and | ||
| 76 | specifically selected. It's minimal yet maximally effective. | ||
| 77 | |||
| 78 | <video src="https://zed.dev/img/post/copilot/copilot-demo.webm" autoplay loop></video> | ||
| 79 | |||
| 80 | It is a perfect balance between VS Code, Jetbrains IDE’s and something like VIM | ||
| 81 | or Helix. | ||
| 82 | |||
| 83 | I just hope they **DON’T** add plugin support and keep it like it is. They as a | ||
| 84 | vendor should add stuff to it with great deliberation and thought. And this way | ||
| 85 | the product will stay fast and focused. That’s my two cents. | ||
| 86 | |||
| 87 | Amazing job! | ||
