Skip to content

Finch 2.3.0: Windows, language server, VS Code

Choose a tag to compare

@Nexoniarz Nexoniarz released this 08 Oct 20:09
· 56 commits to main since this release

Finch now runs on Windows and has a language server with a VS Code extension.

Windows

  • finch-windows-x64.zip (below): finch.exe + libclang.dll. Needs LLVM 21 (for clang) and Visual Studio Build Tools with Desktop development with C++. See Installing on Windows.
  • Programs are normal .exe files. C structs follow the Microsoft x64 calling convention (1/2/4/8-byte structs in one register, others through a copy's address).
  • Built and tested on Windows Server with MSVC in CI: all 59 tests pass.
  • Cross-building from Linux: finch build game.fch --target windows (with MinGW-w64); finch run --target windows uses Wine. tests/windows.sh runs the whole suite that way.
  • -g writes CodeView on Windows (Visual Studio debugger, WinDbg).

Editors

  • finch lsp: errors as you type, hover (types, signatures, docs), go to definition, completion (variables, functions, structs, built-ins, struct fields and array/str methods after ., module members, names from C headers), document outline, parameter hints. It uses the real compiler, so the editor never disagrees with finch build.
  • VS Code extension (finch-lang-2.3.0.vsix, below): highlighting, snippets, the language server, a ▶ Run button (Ctrl+F5) and Build with errors in the Problems panel. Install with Extensions → … → Install from VSIX.
  • Works with any LSP editor (Neovim, Helix, Zed, Emacs, Sublime): run finch lsp.

Smaller things

  • delete_file(path); stdin/stdout/stderr work everywhere (they're macros on Windows).
  • Pointers print the same on every system: null or 0x….

Docs

  • New cheat sheets with every function, method, operator and command: English, polski.
  • Windows install, cross-building and VS Code in the technicians' guide; targets, the Microsoft ABI, the language server and the extension in the engineers' guide (en, pl).