July 1st, 2024

Improving Your Zig Language Server Experience

Enhance Zig Language Server (ZLS) by configuring it to run build scripts on save for immediate error display. Zig project progresses include faster builds, incremental compilation, and code intelligence. Support via Zig Software Foundation donations.

Read original articleLink Icon
Improving Your Zig Language Server Experience

The article discusses enhancing the Zig Language Server (ZLS) experience by configuring it to run build scripts on save, allowing for immediate display of build errors in the editor. By adding specific keys to the ZLS config file and creating a dedicated check step in the build.zig file, developers can receive faster diagnostics without the need to install the executable. The article also mentions ongoing improvements in the Zig project, such as removing LLVM from the debug build pipeline to speed up builds and implementing incremental compilation for instant rebuilds. The ultimate goal is to enable the Zig compiler to provide comprehensive code intelligence features. The community is encouraged to support these developments by donating to the Zig Software Foundation, which allocates over 90% of its income to Zig project developers.

Related

Exposition of Front End Build Systems

Exposition of Front End Build Systems

Frontend build systems are crucial in web development, involving transpilation, bundling, and minification steps. Tools like Babel and Webpack optimize code for performance and developer experience. Various bundlers like Webpack, Rollup, Parcel, esbuild, and Turbopack are compared for features and performance.

Zlib-ng 2.2 Speeds Up Compression By ~12% On x86_64 CPUs

Zlib-ng 2.2 Speeds Up Compression By ~12% On x86_64 CPUs

Zlib-ng 2.2 release candidate offers 12% faster compression on x86_64 CPUs with performance optimizations, revamped memory allocation, modern API, and CPU intrinsics support. Improvements focus on memory allocation, system calls reduction, and small buffer processing efficiency. Michael Larabel praises enhanced compression speed and memory handling.

Igneous Linearizer: semi-structured source code

Igneous Linearizer: semi-structured source code

The Igneous Linearizer project enhances source code in Obsidian Markdown format, enabling features like links and transclusion. It sacrifices AST correctness for compatibility with text editors and Git, benefiting literate programming. Users must follow specific input file formats for optimal use.

Mix-testing: revealing a new class of compiler bugs

Mix-testing: revealing a new class of compiler bugs

A new "mix testing" approach uncovers compiler bugs by compiling test fragments with different compilers. Examples show issues in x86 and Arm architectures, emphasizing the importance of maintaining instruction ordering. Luke Geeson developed a tool to explore compiler combinations, identifying bugs and highlighting the need for clearer guidelines.

Integrated assembler improvements in LLVM 19

Integrated assembler improvements in LLVM 19

LLVM 19 brings significant enhancements to the integrated assembler, focusing on the MC library for assembly, disassembly, and object file formats. Performance improvements include optimized fragment sizes, streamlined symbol handling, and simplified expression evaluation. These changes aim to boost performance, reduce memory usage, and lay the groundwork for future enhancements.

Link Icon 3 comments
By @firtoz - 5 months
I have seen Bun use Zig and they're showing some interesting performance gains. I'm unsure if it's because the code runs faster, or because it's easier to write better code.

Either way, it got me interested in Zig.

How's the developer ecosystem feeling these days, the community, and what have you all developed with it that was fun to develop but also cool to see it working?

By @hansvm - 5 months
Fan. fucking. tastic.

It's not often I consider investing in a project just because I think the key actors will keep doing the right things. Zig is a notable exception. By and large, it looks like they're making the right decisions at the right times, and I sincerely hope they can keep up the momentum.