I switched to Gram when the 1.0 came out and it's such a nice project. I enjoy the editor a lot (especially compared to my neovim setup at the time which was succumbing more and more to entropy), and contributing to it has since become a bit of a hobby project. I really enjoy its focus on code quality and reducing complexity rather than constantly pushing for more and more features.
For this release, I landed a change which just gives you a command to download and install the server binary via ssh if you're trying to do remote editing against a host without a server in the right place, and I rewrote the protocol to use postcard instead of protobuf (for significant complexity and compile time wins). Compared to mega projects like VS Code and Zed, it feels like my contributions actually matter since it's a small team; and my work enriches the community rather than some company.
It's empowering for your tools to be small projects which you can take part in moulding. And it helps that the community is nice.
Thank you too! It always annoyed me to have to hunt for mod.rs in some random place in the middle of a long list of files, makes sense to hoist it to the top. I've gone and enabled smart sort now!
Add smart sort for project panel: mod.rs sorts first (#541) by @patchunwrap
I contributed to this one! I've been wanting to contribute to open source projects for a while. It's been a weirdly scary prospect but also quite a fun one.
Gram is such a satisfying editor to use and I very much look forward to a new extension system and an improved language server configuration flow. Currently language server binaries are installed and run through Node/NPM, I wonder if these could be bundled within Gram in some way to prevent additional installation steps
Gram and flow(-gui) are the two editors that are "new" that I've been enjoying very much whenever I try them out. Both don't have an extension something[0] (yet!), so it'll be interesting to see what kind of approach they'll take. Both have the amp jump feature that I really enjoy using because it made me stop spamming jjjjjjjklll.
[0]: yes Zed/Gram have an extension system, but I think it's so specific to LS/tree-sitter/themes that I don't know what to think of it. Such a cool buffer system and I can't pipe any data to/from other sources!
At least in the case of Gram, a better extension system is something we're thinking about! It'll probably take a while, but it would be cool to let extensions do more than just provide language server commands and tree-sitter grammars.
So what I personally have been looking into, and what we've very loosely agreed is an interesting direction in the XMPP chat, is to integrate Lua. I have an experimental branch where extensions can provide an LSP command through a Lua script rather than Rust code, and that does work. But replacing current functionality with Lua is a tiny amount of work compared to exposing actual new and interesting functionality to Lua.
Now I’m terribly interested… One of the reasons I’m still so addicted to VSCode is the Git extension. It’s definitely not perfect but it’s really good and intuitive for what I do. I’m going to give Gram another try later when I have time!
mort | 14 hours ago
I switched to Gram when the 1.0 came out and it's such a nice project. I enjoy the editor a lot (especially compared to my neovim setup at the time which was succumbing more and more to entropy), and contributing to it has since become a bit of a hobby project. I really enjoy its focus on code quality and reducing complexity rather than constantly pushing for more and more features.
For this release, I landed a change which just gives you a command to download and install the server binary via ssh if you're trying to do remote editing against a host without a server in the right place, and I rewrote the protocol to use postcard instead of protobuf (for significant complexity and compile time wins). Compared to mega projects like VS Code and Zed, it feels like my contributions actually matter since it's a small team; and my work enriches the community rather than some company.
It's empowering for your tools to be small projects which you can take part in moulding. And it helps that the community is nice.
patchunwrap | 12 hours ago
Thank you for contributing back to it, I've been really thankful that something like gram is available for me to use.
mort | 11 hours ago
Thank you too! It always annoyed me to have to hunt for
mod.rsin some random place in the middle of a long list of files, makes sense to hoist it to the top. I've gone and enabled smart sort now!patchunwrap | 12 hours ago
I contributed to this one! I've been wanting to contribute to open source projects for a while. It's been a weirdly scary prospect but also quite a fun one.
bdn | 15 hours ago
Gram is such a satisfying editor to use and I very much look forward to a new extension system and an improved language server configuration flow. Currently language server binaries are installed and run through Node/NPM, I wonder if these could be bundled within Gram in some way to prevent additional installation steps
zetashift | 16 hours ago
Gram and flow(-gui) are the two editors that are "new" that I've been enjoying very much whenever I try them out. Both don't have an extension something[0] (yet!), so it'll be interesting to see what kind of approach they'll take. Both have the
amp jumpfeature that I really enjoy using because it made me stop spammingjjjjjjjklll.[0]: yes Zed/Gram have an extension system, but I think it's so specific to LS/tree-sitter/themes that I don't know what to think of it. Such a cool buffer system and I can't pipe any data to/from other sources!
mort | 14 hours ago
At least in the case of Gram, a better extension system is something we're thinking about! It'll probably take a while, but it would be cool to let extensions do more than just provide language server commands and tree-sitter grammars.
zetashift | 13 hours ago
I think so too! It'll be interesting to see what the maintainers are settling on when the time is right(no rush from me :P).
Some questions that pop up when thinking about the design:
Not asking for answers here, but it is fun to philosophize about it.
mort | 13 hours ago
So what I personally have been looking into, and what we've very loosely agreed is an interesting direction in the XMPP chat, is to integrate Lua. I have an experimental branch where extensions can provide an LSP command through a Lua script rather than Rust code, and that does work. But replacing current functionality with Lua is a tiny amount of work compared to exposing actual new and interesting functionality to Lua.
zetashift | 12 hours ago
Lua seems like a safe bet, I'll be keeping an eye out for the progress. And meanwhile I can just search for nice XMPP clients, been a while.
hugoarnal | 13 hours ago
Now I’m terribly interested… One of the reasons I’m still so addicted to VSCode is the Git extension. It’s definitely not perfect but it’s really good and intuitive for what I do. I’m going to give Gram another try later when I have time!