NIPO ODIN Language
Full language support for the NIPO ODIN scripting language in Visual Studio Code.
Write ODIN questionnaires with syntax highlighting, real-time error checking, IntelliSense completions, and code navigation — no external runtime required.
Features
Syntax Highlighting
Rich colorization for .odin files covering commands, strings, numbers, operators, question references, and comments. Includes bracket matching, auto-closing pairs, code folding, and comment toggling.
Real-Time Diagnostics
Errors appear instantly in the Problems panel as you type:
- Syntax errors — malformed commands, missing brackets, invalid tokens
- Semantic warnings — undefined variables, unresolved question references, missing subroutines, duplicate declarations
IntelliSense
Context-aware completions triggered as you type:
- 80+ commands —
*CODES, *PUT, *GOTO, *IF, and more, each with a short description
- 17 built-in functions —
?STRLENGTH, ?DATETIMEADD, ?PROPERTY, etc., with parameter signatures
- System variables —
_ISTEST, LANGUAGE, Stopwatch
- Your symbols — variables, questions, lists, and subroutines declared in the current file
Hover Documentation
Hover over any keyword to see documentation. Works for commands, functions, system variables, and user-declared symbols (with type, definition location, and reference count).
Go to Definition
Press F12 on a variable, question, list, or subroutine reference to jump straight to where it was declared.
Find All References
Press Shift+F12 to find every usage of a symbol across the document.
Document Outline
Open the Outline panel (Ctrl+Shift+O / Cmd+Shift+O) to browse all questions, variables, subroutines, and lists in the file, sorted by position.
Rename Symbol
Press F2 to rename a variable, question, list, or subroutine across all its definition and reference sites. Built-in commands and system variables are protected from accidental renaming.
Getting Started
- Install the extension from the VS Code Marketplace
- Open any
.odin file
- Start writing — the language server activates automatically
No Python, Java, or any other external runtime is needed. The language server is a self-contained Node.js process bundled with the extension.
Supported File Types
| Extension |
Language ID |
.odin |
NIPO ODIN |
Requirements
- Visual Studio Code 1.85 or later
Support the Project
If this extension saves you time, consider supporting its development:

Known Limitations
- Analysis is single-file only; cross-file references (e.g.,
*MERGE targets) are not resolved
- The parser covers the full NIPO ODIN grammar but some rarely used constructs may produce spurious diagnostics
Release Notes
0.2.0
- Hover documentation, go-to-definition, find all references
- Document outline, rename symbol, semantic diagnostics
- Two-pass symbol extraction with forward-reference support
0.1.0
- Syntax highlighting, real-time syntax diagnostics, IntelliSense completions