Syntax highlighting and language support for the Kernel Programming Language (kpl) and the compiled Blitz Assembly Language (blitz-asm) from the Blitz System (v2.0) in Visual Studio Code.
Links: Code Examples, KPL Overview, Context Free Language, and Instruction Set,
- Full syntax highlighting for KPL (
.k
,.h
) and Blitz Assembly (.s
) files - Smart bracket matching and autoclosing
- Code folding
- Comment toggling
- Auto-indentation for code blocks
- Syntax Highlighting Support for:
- Classes and interfaces
- Functions and methods
- Control structures
- Type declarations
- Error handling
- Parameterized classes
- Function types and pointers
- A formatter for the
blitz-asm
language files - A basic parser for the
kpl
language
- Open VS Code
- Press
Ctrl+P
/Cmd+P
to open the Quick Open dialog - Type
ext install kpl-linter
- Press Enter
VS Code 1.96.0 or higher
Please report any issues on the GitHub repository.
Contributions are welcome! Please feel free to submit a Pull Request.
Basic kpl
parsing and validation
Added kpl
autocompletion features, fixed clr
command
Added constants checking to the KPL language syntax highlighting
Added single quote string to the Blitz Assembly Language syntax highlighting
Added btst
instruction hotfix
Added basic linting and hover support for Blitz Assembly files
Added CI/CD for faster development
Added Blitz Assembly formatter with support for:
- Comment alignment and label-based indentation
- Formatting instructions, labels, and comments with customizable tab spacing
- Automatic handling of label lines and in-line comments
Added Blitz Assembly support with syntax highlighting, smart indentation, and more.
Fixed package extensions
Initial release of KPL Language Support:
- Basic syntax highlighting
- Code block detection
- Smart indentation
- Bracket matching
Features
- Auto-closing statements (e.g.,
if
andendIf
) - Auto-completion for common statements/fields
-
kpl
formatter - Parse
kpl
into an ast-
tokenizer
with look aheads based on rules forkpl
CFL - basic token validation
- store tokens into
symbolTable
- code auto-completion
- hover support
-
Bugs
- add
clr
blitz-asm
command - fix duplicating labels in
blitz-asm
symbolManager