Editor setup and the language server

Objeck ships a language server (LSP) and a debug adapter (DAP) that work in VS Code, Sublime Text, Neovim, Emacs, Kate, ecode and Helix. Every editor gets the same server, so the features below do not depend on which one you use.

Install

Download objeck-lsp_<version>.zip from the releases page and unzip it. Then, from the unzipped folder, run the install script, giving the folder Objeck is installed in and the editor (vscode, sublime, neovim, emacs or all):

scripts\install.cmd "C:\Program Files\Objeck" vscode
./scripts/install.sh /usr/local/objeck vscode

The first line is for Windows and the second for Linux and macOS. VS Code can also install the extension directly:

code --install-extension objeck-lsp.vsix

Then set the install folder in the editor's settings (objk.win.install.dir on Windows, objk.posix.install.dir elsewhere). The per-editor steps, including Vim, Kate and the editors that only have syntax highlighting, are in docs/editors.md, and tools/lsp/README.md covers the server itself.

For a project of several files, put a build.json in the project folder that lists them:

{
  "files": ["main.obs", "helper.obs"],
  "libs": ["gen_collect.obl", "net.obl", "json.obl"],
  "flags": ""
}

What you get

Diagnostics as you type, completion with signature help, hover, go to definition, declaration, type definition and implementation, find references, rename, code actions, formatting, document and workspace symbols, call and type hierarchy, inlay hints, semantic tokens, folding and document highlight. The full list is in docs/editors.md.

Debugging needs a program compiled with debug symbols, or no breakpoint will bind:

obc -src myprogram.obs -debug

then start a debug session from the editor (F5 in VS Code). Breakpoints, conditional breakpoints, logpoints, stepping, variable inspection and the call stack all work.

What changed in v2026.10.3

The design of the incremental analysis, and the two phases that are not started, is in docs/INCREMENTAL_ANALYSIS_DESIGN.md.