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