Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ObjectText LSPNew to Visual Studio Code? Get it now.
ObjectText LSP

ObjectText LSP

Feuerhai

| (0) | Free
A Language Server Protocol for the ObjectText configuration language.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ObjectText LSP

A language server for Cosmoteer .rules files, providing real-time validation, diagnostics, and navigation for ObjectText, which is the configuration language used by Cosmoteer and its modding system.

Open Beta — This LSP is functional but still a work in progress. You may encounter bugs or missing features. If something goes wrong, the Restart Language Server command should fix most issues. Please report any bugs on the Discord server or in the #modding channel on the Cosmoteer Discord server.


Features

  • Syntax validation — real-time syntax error detection as you type
  • Semantic validation — type checking and structural validation against the Cosmoteer schema, crawled from cosmoteer.rules downward
  • Mod support — full support for mod.rules actions (Add, AddMany, AddBase, Overrides, Remove, RemoveMany, Replace), with validation of modded files reflecting applied changes
  • Go to definition — navigate to the target of any reference, inheritance path, or math expression reference
  • Find all references — find every place a node is referenced across all files

Commands

Three commands are available via the VS Code command palette (Ctrl+Shift+P):

Command Description
Restart Language Server Fully restarts the language server. Use this if you encounter unexpected errors or stale diagnostics. It should resolve most issues.
Revalidate all Saved files Reparses all .rules files in the workspace without a full restart. Useful after adding new files or making changes outside the editor.
Show Modified File Displays the current state of the active .rules file after all mod actions have been applied. Useful for debugging what your mod.rules is actually doing to a file.

How it works

On startup the LSP:

  1. Parses all .rules files from the Cosmoteer installation folder and your workspace
  2. Applies any mod.rules actions
  3. Validates everything by crawling downward from cosmoteer.rules, propagating type information through reference chains

Because ObjectText has no way to determine a file's validation type from the file itself alone, validation always traces back to the root. This means files that are not reachable from cosmoteer.rules (directly or via references) will fall back to syntax-only validation.


Known limitations

  • Auto-complete and hover information are not yet available — these require a rework of the internal schema analyzer
  • Newly created .rules files may require a Reload Workspace to be picked up by the LSP
  • Very large mods may produce slower validation times on first load

Reporting issues

Found a bug or unexpected behavior? Please report it on the Discord server with:

  • A description of what you did and what you expected to happen
  • The relevant .rules file(s) if possible
  • Any error messages shown in the VS Code output panel under ObjectText LSP
  • The Actions you took to break it
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft