KPL Language Support
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,
Features
- 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
Installation
- Open VS Code
- Press
Ctrl+P
/ Cmd+P
to open the Quick Open dialog
- Type
ext install kpl-linter
- Press Enter
Requirements
VS Code 1.96.0 or higher
Known Issues
Please report any issues on the GitHub repository.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Release Notes
1.0.0
Basic kpl
parsing and validation
0.1.0
Added kpl
autocompletion features, fixed clr
command
0.0.9
Added constants checking to the KPL language syntax highlighting
0.0.8
Added single quote string to the Blitz Assembly Language syntax highlighting
0.0.7
Added btst
instruction hotfix
0.0.6
Added basic linting and hover support for Blitz Assembly files
0.0.5
Added CI/CD for faster development
0.0.4
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
0.0.3
Added Blitz Assembly support with syntax highlighting, smart indentation, and more.
0.0.2
Fixed package extensions
0.0.1
Initial release of KPL Language Support:
- Basic syntax highlighting
- Code block detection
- Smart indentation
- Bracket matching
TODO
Features
- [x] Auto-closing statements (e.g.,
if
and endIf
)
- [x] Auto-completion for common statements/fields
- [x]
kpl
formatter
- [x] Parse
kpl
into an ast
- [x]
tokenizer
with look aheads based on rules for kpl
CFL
- [x] basic token validation
- [ ] store tokens into
symbolTable
- [ ] code auto-completion
- [ ] hover support
Bugs
- [x] add
clr
blitz-asm
command
- [ ] fix duplicating labels in
blitz-asm
symbolManager
License
MIT