Claude Code gets native LSP support
https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
#HackerNews #ClaudeCode #LSP #nativeSupport #coding #news #techupdates
Claude Code gets native LSP support
https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
#HackerNews #ClaudeCode #LSP #nativeSupport #coding #news #techupdates
With ty, Astral has released a fast Python type checker and language server (LSP): https://astral.sh/blog/ty
It can also be easily integrated into Visual Studio Code and other editors:
https://marketplace.visualstudio.com/items?itemName=astral-sh.ty
https://docs.astral.sh/ty/reference/editor-settings/
#Python #Typechecker #LSP #Code
With ty, Astral has released a fast Python type checker and language server (LSP): https://astral.sh/blog/ty
It can also be easily integrated into Visual Studio Code and other editors:
https://marketplace.visualstudio.com/items?itemName=astral-sh.ty
https://docs.astral.sh/ty/reference/editor-settings/
#Python #Typechecker #LSP #Code
Ty: A fast Python type checker and LSP
#HackerNews #Ty #Python #type #checker #LSP #programming #tools #developer #productivity
A minimal, declarative setup for productive Rust 🦀 hacking on Emacs + Guix
I noticed there was a blatant lack of resources and documentation on this particular setup.
With a tiny manifest and a small Emacs configuration, you get a powerful, reproducible, elegant Rust development environment.
#rust #guix #emacs #dev #manifest #shell #development #environment #ide #clippy #lsp #gnu #reproducible #direnv #eglot
A minimal, declarative setup for productive Rust 🦀 hacking on Emacs + Guix
I noticed there was a blatant lack of resources and documentation on this particular setup.
With a tiny manifest and a small Emacs configuration, you get a powerful, reproducible, elegant Rust development environment.
#rust #guix #emacs #dev #manifest #shell #development #environment #ide #clippy #lsp #gnu #reproducible #direnv #eglot
I made a fun little thing over the weekend that had been on my mind since the local-first conf. I combined @ethersync and the Language Server Protocol to enable some kind of real-time collaboration in Helix.
I use the "textDocument/didChange" event to track editor's changes and convert them to an edit message in Ethersync.
When a peer makes changes, the other peer receives them from the Ethersync daemon and converts them into a "workspace/applyEdit" message.
Also thinking about using inlay hints for showing other peer's cursor
I'm not sure if that will even be able to work properly, but it's worth trying anyway
Ethersync: https://github.com/ethersync/ethersync
I made a fun little thing over the weekend that had been on my mind since the local-first conf. I combined @ethersync and the Language Server Protocol to enable some kind of real-time collaboration in Helix.
I use the "textDocument/didChange" event to track editor's changes and convert them to an edit message in Ethersync.
When a peer makes changes, the other peer receives them from the Ethersync daemon and converts them into a "workspace/applyEdit" message.
Also thinking about using inlay hints for showing other peer's cursor
I'm not sure if that will even be able to work properly, but it's worth trying anyway
Ethersync: https://github.com/ethersync/ethersync
Salut salut ! Dimanche prochain c'est notre premier atelier toulousain des @lessanspages pour 2025 😁
On se retrouve de 14h à 18h à la gougnotte !!!
Gouter et boissons chaudes offertes, purificateur d'air et acces pmr sur place. Prenez vos ordi !
Pour s'incrire le lien est ici : https://meta.wikimedia.org/wiki/Event:Atelier_LSP_Toulouse/19_octobre_2025
Salut salut ! Dimanche prochain c'est notre premier atelier toulousain des @lessanspages pour 2025 😁
On se retrouve de 14h à 18h à la gougnotte !!!
Gouter et boissons chaudes offertes, purificateur d'air et acces pmr sur place. Prenez vos ordi !
Pour s'incrire le lien est ici : https://meta.wikimedia.org/wiki/Event:Atelier_LSP_Toulouse/19_octobre_2025
This is not helping me in the market but what I love doing the most is computer language engineering. I'm learning how to write an #LSP right now to support my born language in neovim. I also discovered #LLVM recently. It lets you compile to any target from a generic ASM. It made me realize something. The first languages where all compiled. Then, we got the interpreted languages. But recently, the new languages are all compiled again! Think of #rust, #go, #zig, #elixir. I wonder if it's because we perfected the tooling in a way that maintaining a compiled language is not that hard anymore. Go is a weird one. It has a garbage collector. Yeah! A compiled language with a garbage collector. It means that there is a process that is embedded in the executable to just do garbage collection. We might now have a real reason anymore to interpret.
Magic Completions in rust-analyzer (a Language Server Protocol implementation for Rust), https://rust-analyzer.github.io/book/features.html#magic-completions.
- expr.if expands to if expr { } or if let … { } for Option or Result
- expr.dbg expands to dbg!(expr)
- expr.match expands to match expr { … }
- tmod expands to #[cfg(test)] mod tests { use super::*; #[test] fn test_name() { } }
Magic Completions in rust-analyzer (a Language Server Protocol implementation for Rust), https://rust-analyzer.github.io/book/features.html#magic-completions.
- expr.if expands to if expr { } or if let … { } for Option or Result
- expr.dbg expands to dbg!(expr)
- expr.match expands to match expr { … }
- tmod expands to #[cfg(test)] mod tests { use super::*; #[test] fn test_name() { } }
A lot of trouble with the new #Vue#LSP.
First, it disables all other typescript LSPs, even if there is no Vue in the project; fortunately, this can be fixed with:
(setq lsp-volar-take-over-mode nil)
Maybe a better way would be to advise lsp-volar--activate-p' to detect Vue by parsing package.json.</p><p>Second, somehow the server sends empty "textDocument/publishDiagnostics" messages about a second after sending one with diagnostics! As a result, the diagnostics appear for a second and then disappear.</p><p>For now, I've worked around that by advising lsp--on-diagnostics' to ignore empty messages if they come less than five seconds after a non-empty one. Not sure where to go next with this.
The code: https://sqrtminusone.xyz/configs/emacs/#fix-vue-semantic-server
Finally, the server sometimes crashes randomly. It happened once or twice today.