Urgent.News

One page, thousands of outlets. See who else covered it.

Editions

Tech

Protobuf has LSP support. You're welcome

Buf, a company specializing in Protobuf tools, has introduced a fully-featured Language Server Protocol (LSP) server for Protobuf. The LSP protocol is a standard API used to integrate language support into popular IDEs and text editors like VSCode, IntelliJ, and Neovim. Previously, Protobuf lacked the same level of LSP support as other major programming languages, but this new LSP server changes that.

Buf's LSP server, released as part of its suite of tools for the Protobuf ecosystem, works seamlessly with popular editors like VSCode and Neovim. To use the Buf LSP in VSCode, simply install the Buf extension and let it use your installed version of the Buf CLI, which includes the LSP server. Neovim users can achieve the same result by installing the Buf CLI and configuring Neovim to use it as an LSP server.

The Buf LSP offers several advantages over traditional Protobuf compilers like protoc. It features a query-driven frontend that enables incremental compilation and improved diagnostics. This means that Buf LSP can accurately diagnose issues such as duplicate repeated modifiers, providing a better development experience. Additionally, the new AST and intermediate representation employed by Buf LSP facilitate the implementation of new language features as they are added to Protobuf, such as the upcoming features in Editions 2024. The compiler is also memory-efficient, allowing it to handle large workspaces with ease.

Buf's commitment to advancing Protobuf development extends beyond the LSP server. They continue to enhance diagnostics and plan to add more features to the LSP server in the future. To learn more about how Buf can help enforce standards on your organization's data, or to explore career opportunities in building excellent developer tooling, visit their careers page.

Written by urgent.news from Hacker News's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at buf.build →

More in Tech

var in JavaScript

var is one of the ways to create a variable in JavaScript. A variable is a place to store a value, like a name or a number. var is mostly seen in old JavaScript code, written before 2015.

  • "var" is a common variable declaration method in JavaScript.
  • Variables created with "var" can be modified and re-declared.
  • "var" variables are hoisted to the top of their containing function.

React Native Architecture: 8 Folder Structures for Scalable Apps

A team-lead's breakdown of 8 real React Native project architectures — what each one actually solves, where the "Domain-Driven" and "Micro-Frontend" labels get misused, and how to pick one without…

  • Flat structure suitable for prototypes and MVPs, but becomes unmanageable with growing files
  • Feature-based structure common in production apps, organizes code by product area
  • Domain-based structure aligns with business capabilities, mirrors org chart for large-scale products

FetchQuest: Spec-Driven Dog Battling on Solana Devnet

This is a submission for Weekend Challenge: Dog Days Edition What I Built FetchQuest — a tiny dog-vs-raccoon battler. You generate a dog with random stats (Speed, Bark, Chomp) and a personality tag…

  • FetchQuest is a dog-vs-raccoon battler on Solana devnet
  • Players create dogs with random stats and personality
  • Spec-driven development guided project decisions

More from Sunday 16 August →