Jaguar Language (Official) — Plugin 1.2.6
Versioning: 1.2.6 is the VS Code plugin version. It is not the Jaguar language version.
The current Jaguar language version is 26.0.1.
VS Code support for the Jaguar programming language and the Jaguar Build System (JBS).
The extension provides Jaguar syntax highlighting, an external language server, code completion, hover information, symbol navigation and rename support, real-time diagnostics, JBS support, dedicated file icons, and project build commands.
Official website: https://oscar-soirey.github.io/JaguarCC/
Features
Jaguar (.ja / .jah)
- Syntax highlighting for Jaguar source and header files.
- Completion powered by the Jaguar language server.
- Hover information for:
- functions and overloads;
- classes and structs;
- variables and parameters;
- members and namespaces;
- built-in types, including storage size;
auto, including its deduced type when it can be inferred.
- Go to definition support.
- Symbol rename through F2 and the editor context menu.
- Workspace-aware rename for functions, classes, structs and namespaces.
- Real-time diagnostics while editing.
- Detection of semantic and syntax errors supported by the language server.
- Resolution of functions from the current file, the Jaguar standard library, and files imported with
using.
- Jaguar-specific type highlighting, including user-defined types such as
MyClass in:
MyClass object = MyClass();
Diagnostics
The language server analyzes the current document as it changes and publishes diagnostics directly to VS Code.
Examples include:
bool value = "hello";
and:
void main() {}
void main() {}
as well as unknown function calls such as:
sys:dihg();
Language-server diagnostics are written in English. Diagnostics originating directly from jcc.py keep the compiler's current wording.
JBS (.jbs)
- Syntax highlighting for JBS files.
- Completion for JBS directives and project-related entries.
- Dedicated
.jbs file icon.
Example:
version 1.0
out build
include lib
compile game {
main.ja
player.ja
}
JCC, JBS and the language server
JCC, JBS, and the language server are not bundled with the VS Code extension.
Keep the Jaguar tools together in one directory:
jcc.py
jbs.py
jlanguage_server.py
The extension launches the external language server with:
python jlanguage_server.py
The language server loads jcc.py from its own directory.
JBS remains responsible for the build process and for invoking JCC. The extension intentionally runs JBS as:
python jbs.py project.jbs
It does not inject additional JBS options such as --jcc or --target.
VS Code settings
"jaguar.buildSystem.python": "python",
"jaguar.buildSystem.toolsDirectory": "",
"jaguar.buildSystem.project": ""
jaguar.buildSystem.python
Python executable used to launch JBS. The default is python.
Directory containing jcc.py, jbs.py, jlanguage_server.py, and the other Jaguar tools.
Example:
C:\Users\User\Desktop\Jaguar\JaguarCC
jaguar.languageServer.path
Optional path to the external jlanguage_server.py. If it is not specified, the extension resolves the server from jaguar.buildSystem.toolsDirectory.
jaguar.buildSystem.project
Optional path to the .jbs project file to build. If empty, the extension uses the active .jbs file or searches for .jbs files in the current directory.
Build
Jaguar: Build Project is available from Jaguar and JBS files.
Shortcut:
Ctrl+Alt+B
The extension invokes:
python jbs.py project.jbs
Build & Run
Jaguar: Build & Run builds the project through JBS and then runs the resulting application from the integrated terminal.
Shortcut:
Ctrl+Alt+R
File icons
The extension provides dedicated icons for:
.ja — Jaguar source files
.jah — Jaguar header/interface files
.jbs — Jaguar Build System files
The Jaguar logo is also used as the VS Code extension icon.
The extension does not provide a complete File Icon Theme, so it does not replace icons for unrelated file types.
1.2.6
- Official release of the Jaguar Language VS Code plugin.
- Plugin version is independent from the Jaguar language version (currently 26.0.1).
- Improved Jaguar language support for current compiler features, including unions and
new.
- Improved JBS path completion for files and directories.
Jaguar: Build & Run now builds first and runs the executable generated by JBS in its configured out directory; if no executable is produced, it stops after the build.
- Fixed JBS
mode syntax highlighting.
1.2.5
- Added real-time language-server diagnostics.
- Added detection of duplicate function declarations with accurate diagnostic locations.
- Added validation for invalid
@exposed usage on private members.
- Added unknown-function diagnostics for qualified calls such as
sys:dihg() and jcc:unknown().
- Function resolution now considers the current file, the Jaguar standard library, and files imported through
using.
- Improved diagnostic locations for compiler-reported declaration errors.
- Language-server diagnostic messages are in English; compiler-originated messages keep their existing wording.
- Updated Jaguar type highlighting for user-defined types.
- Updated
.ja, .jah, .jbs, and Jaguar logo artwork.
- Added the dedicated JBS file icon to the release assets.
1.2.3
- Improved duplicate-variable diagnostics and their source locations.
- Added user-defined type highlighting in declarations.
1.2.2
- Added real-time diagnostics and semantic error reporting.
1.2.1
- Improved hover information and type-size information.
- Added
auto type deduction information.
- Added standard JaguarCC (
jcc) function signatures to hover information.
- Added imported-function lookup through
using.
- Added functional symbol rename and a Jaguar rename command in the editor context menu.
1.2.0
- Added hover information for Jaguar symbols.
- Added symbol rename support.
- Kept the language server external to the VS Code extension.