2026 · SHIPPED · UNKNOWN
Bnlang for VS Code
Writing code in Bangla without an IME
- TypeScript
- VS Code Extension API
- TextMate grammars
Bnlang for VS Code provides syntax highlighting, snippets, completions and formatting for the Bangla programming language Bnlang. A .bnl file freely mixes English and Bangla keywords, because both forms tokenize to the same thing in the lexer.
The feature that matters is phonetic typing: type a roman spelling and accept the Bangla token. Because the language defines a closed set of keywords, this removes the system IME requirement entirely for the tokens the language owns.
Problem
Bnlang lets you write programs with Bangla keywords. But typing Bangla on a standard keyboard requires a system IME, which means the language is only usable by people who have already solved a separate, unrelated problem.
Question
If a language defines a closed set of keywords, does the editor need an IME at all — or can phonetic completion cover every token the language actually defines?
Approach
Because Bnlang keywords are a closed set, the editor can accept a roman spelling and complete it to the Bangla token: type jodi, accept যদি; type likhun, accept লিখুন. That covers all 28 keyword groups plus Bangla globals and built-in module aliases, so no system IME is needed for any token the language defines.
System
Open any stage to see what it does.
Demo
Open a .bnl file, type a roman spelling of any keyword, and accept the Bangla token. Mixed English and Bangla source highlights and formats as one language.
Result
- Covers all 28 keyword groups plus Bangla globals and built-in module aliases with phonetic completion.
- No system IME is required for any closed-set token the language defines.
- English and Bangla keyword forms are fully interchangeable, matching the behaviour of the Bnlang lexer.
Lesson
Language accessibility is usually framed as a font or encoding problem. Here it was an input problem, and the fix was possible only because keywords are a closed set — a constraint of the language turned into the feature that makes it usable.
Source
Connected
- hdgame.me — Both are SYSTEMS and CREATIVE CODING work, and both are built with TypeScript.
- CodeRelay — Both are SYSTEMS work, and both are built with TypeScript, VS Code Extension API.
- Epistemic Guard — Both are SYSTEMS work, and both are built with TypeScript, VS Code Extension API.
- Bazario — Both are SYSTEMS work, and both are built with TypeScript.