# Mica Language Support for Visual Studio Code
**A modern systems programming language with native C interoperability**
[](https://code.visualstudio.com/)
[](https://github.com/mica-development/mica-extension/blob/HEAD/LICENSE)
**[Visit the Mica Development UG Homepage](https://mica-dev.com/)**
Features
✨ Syntax Highlighting
- Complete syntax highlighting for all Mica language features
- Support for all data types:
int8, int16, int32, int64, float32, float64, uint8, uint16, uint32, uint64, unicode, bool, string
- Import declarations with
imp keyword for namespace imports
- Logical operators:
and, or, not
- Type casting with
as keyword
- String literals with escape sequences
- Unicode character literals
- Line comments (
//) and block comments ({ })
- Floating-point numbers with scientific notation
🔧 Language Features
- IntelliSense-ready: Proper token classification for future language server
- Auto-indentation: C-style formatting with smart indentation
- Auto-closing pairs: Automatic closing of brackets, parentheses, quotes, and
begin/end blocks
- Comment toggling: Easy comment/uncomment with keyboard shortcuts
- Code folding: Fold procedures, functions, blocks, and comments
🐛 Debugging Support
- Breakpoint support for
.mica files
- Integration with GDB for native debugging of compiled executables
- DWARF v5 debug information generated by Mica compiler
📝 Code Snippets
16 ready-to-use code snippets:
program - Complete program template
procedure - Procedure declaration
function - Function declaration
if, ifelse - Conditional statements
while - Loop structure
var, const, imp - Variable, constant, and import declarations
imports - Multiple import declarations block
writeln, readln - I/O operations
cast - Type casting
- And more!
Language Overview
Mica is a statically-typed, compiled language featuring:
- Strong type system with type inference
- Nested procedures with lexical scoping
- Type casting and promotion
- Format strings for I/O operations
- UTF-8 source encoding with full Unicode support
- Native C interoperability without foreign function interface (FFI) overhead
- Direct compilation to x86_64 assembly (System V AMD64 ABI)
- Seamless access to C standard library and system APIs
Why Mica?
Mica combines the clarity of Pascal-like syntax with the power of systems programming:
- Zero-overhead C interop: Call any C library directly without FFI wrappers
- Educational yet practical: Learn compiler construction with a real, usable language
- Debuggable: Full DWARF v5 support for GDB integration
- Transparent compilation: See the assembly code and intermediate compiler internal representations your program generates
Example
{ Fibonacci sequence calculator }
program fibonacci;
var
n, a, b, temp : int32;
begin
writeln("Enter number of terms: ");
readln(n);
a := 0;
b := 1;
writeln("Fibonacci sequence:");
writeln("%d", a);
writeln("%d", b);
while n > 2 do
begin
temp := a + b;
a := b;
b := temp;
writeln("%d", temp);
n := n - 1;
end;
exit := 0;
end.
Learning Mica
New to Mica? Check out the Mica Tutorials to learn the language step by step. The tutorials also include detailed instructions on how to obtain and install the Mica compiler.
Extension Settings
This extension contributes the following settings:
- File association for
.mica files
- Syntax highlighting theme integration
- Debugging breakpoint support
Known Issues
- Language server features (hover, go-to-definition, etc.) are planned for future releases
- Semantic highlighting is not yet implemented
Release Notes
2.0.0 (November 2025)
Complete rewrite of the extension with:
- Updated syntax highlighting for all new language features
- Logical operators (
and, or, not)
- Type casting support (
as)
- All primitive types (int8-64, float32-64, uint8-64, unicode, bool, string)
- String and Unicode literals with escape sequences
- Scientific notation for floating-point numbers
- Line comments support
- Comprehensive code snippets
- Enhanced formatting and indentation rules
- Better auto-closing pairs
1.0.0
- Initial release with basic syntax highlighting
- Simple language configuration
Contributing
Found a bug or want to contribute? Visit the GitHub repository.
License
Note: This VS Code extension is licensed under MIT.
The Mica compiler itself uses a separate license.
Enjoy coding in Mica! 🐉
| |