Bklang Language Support for Visual Studio Code
Official high-performance Visual Studio Code extension for Bklang (.bkl files), providing syntax highlighting, intelligent code completion, rich parameter & documentation hovers, standard library snippets, and document symbol outlines.
✨ Features
💡 Intelligent IntelliSense & Autocompletion:
- Contextual completions for keywords (
fn, struct, class, if, for, while, try, catch, pipe).
- Native Standard Library function signatures with inline parameter details and usage examples.
- Automatic detection and completion of local user-defined variables, functions, and structs across the active document.
🎨 TextMate Syntax Highlighting:
- Full-color grammar parsing for types (
int, str, float, bool, auto, array, map), function definitions, pipeline operators (|>), lambda arrows (=>), f-strings (f"..."), numbers, and comments (//, #, @...@).
📖 Rich Hover Documentation:
- Instant tooltips displaying type signatures, descriptions, and code examples for all standard library functions (Math, Strings, JSON, Crypto, File System, OS).
⚡ Productivity Snippets:
- Rapid code templates:
fn (Function), pfn (Pipeline function), cls (Class), struct (Data record), trycatch (Error handling), json (Serialization block), and doc (Docstrings).
🔍 Document Outline & Symbols:
- Full support for the VS Code Outline view and Quick Open (
Ctrl+Shift+O / Cmd+Shift+O) to jump directly to any function, class, struct, or top-level variable.
🚀 Installation
Option 1: Install from VSIX (Recommended)
- In VS Code, open the Extensions sidebar (
Ctrl+Shift+X or Cmd+Shift+X).
- Click the
... menu icon at the top right of the Extensions panel.
- Select Install from VSIX...
- Choose
bklang-vscode-0.5.0.vsix.
Option 2: Command Line
code --install-extension bklang-vscode-0.5.0.vsix
🛠️ Usage
Open or create any file with the .bkl extension. The extension will activate automatically and configure default formatting (4-space indentation, semantic highlighting).
Example .bkl Program:
// Hello Bklang
str name = "Developer";
print f"Welcome to Bklang, {name}!";
// Pipeline processing
auto numbers = [1, 2, 3, 4, 5];
auto result = numbers
|> filter((x) => x % 2 != 0)
|> map((x) => x * 10);
print f"Transformed values: {json_stringify(result)}";
📄 License & Attribution
Created by Aditya Pandey. Licensed under the Bklang Community Source & Usage License.
For documentation, tutorials, and binaries, visit https://bkl.freedev.app/.
| |