🧠 Umbra Programming Language - VSCode Extension
Professional AI/ML development environment for the Umbra programming language

🚀 What is Umbra?
Umbra is a statically-typed, compiled programming language specialized for AI/ML applications. Created by Eclipse Softworks, it combines the performance of compiled languages with the ease of Python-like syntax, featuring native AI/ML constructs and LLVM-powered compilation.
Features
🎨 Syntax Highlighting
- Full syntax highlighting for Umbra language constructs
- Special highlighting for AI/ML keywords (
train
, model
, dataset
, etc.)
- Support for all Umbra data types and operators
🚀 Language Server Protocol (LSP)
- Real-time error detection and diagnostics
- Auto-completion for keywords, functions, and variables
- Go-to definition and find references
- Hover information for symbols
- Document formatting
- Compile: Build Umbra files to native binaries
- Run: Execute Umbra programs directly
- Check: Validate syntax and types without compilation
- Test: Run Umbra test suites
- New Project: Create new Umbra projects with templates
🧠 AI/ML Features
- Specialized snippets for AI/ML workflows
- Function templates for data processing
- Mathematical computation helpers
- Training simulation templates
🔧 Code Snippets
- Function definitions (
define
)
- Control flow (
when
, otherwise
, repeat
)
- Variable declarations (
let
)
- AI/ML concepts (training parameters, accuracy calculations)
- Mathematical operations and comparisons
🐛 Debugging Support
- Integrated debugging with breakpoints
- Variable inspection
- Step-through debugging
- Call stack analysis
Installation
Install the Umbra compiler:
# Download and install Umbra compiler
curl -sSL https://get.umbra-lang.org | sh
Install this extension from the VS Code marketplace or:
code --install-extension umbra-lang.umbra-language-support
Quick Start
- Create a new Umbra file with
.umbra
extension
- Use
Ctrl+Shift+P
and search for "Umbra: New Project" to create a project
- Write your Umbra code with full syntax highlighting and IntelliSense
- Use
Ctrl+F5
to run your program or Ctrl+Shift+B
to compile
Example Code
// Simple Umbra program with AI/ML concepts
define calculate_accuracy(correct: Integer, total: Integer) -> Float:
let accuracy: Float := correct / total
return accuracy
define main() -> Void:
show("=== Umbra AI/ML Demo ===")
// Basic variables with Go-style assignment
let learning_rate: Float := 0.001
let epochs: Integer := 100
let batch_size: Integer := 32
let correct_predictions: Integer := 95
let total_predictions: Integer := 100
show("Training Parameters:")
show("Learning Rate:", learning_rate)
show("Epochs:", epochs)
show("Batch Size:", batch_size)
// Function call
let accuracy: Float := calculate_accuracy(correct_predictions, total_predictions)
show("Model Accuracy:", accuracy)
// Control flow
when accuracy > 0.9:
show("Excellent model performance!")
otherwise:
show("Model needs improvement")
show("=== Training Complete ===")
Configuration
Configure the extension through VS Code settings:
{
"umbra.compiler.path": "umbra",
"umbra.lsp.enabled": true,
"umbra.format.onSave": true,
"umbra.ai.suggestions": true
}
Commands
Command |
Shortcut |
Description |
Umbra: Compile |
Ctrl+Shift+B |
Compile current file |
Umbra: Run |
F5 or Ctrl+F5 |
Run current file |
Umbra: Check |
- |
Check syntax and types |
Umbra: New Project |
- |
Create new project |
Umbra: Run Tests |
- |
Execute test suite |
The extension adds a ▶️ Run button to the editor toolbar when viewing Umbra files. Click it or press F5
to run your code directly!
Umbra Language Syntax
Function Definition
define function_name(param1: Type1, param2: Type2) -> ReturnType:
// function body
return value
Variables
let variable_name: Type := value
Control Flow
when condition:
// statements
otherwise:
// alternative statements
Requirements
- Visual Studio Code 1.74.0 or higher
- Umbra compiler installed and available in PATH
About Eclipse Softworks
Eclipse Softworks is the creator and maintainer of the Umbra programming language. We specialize in developing cutting-edge programming languages and tools for AI/ML applications.
Contributing
Visit our GitHub repository to contribute or report issues.
License
MIT License - see LICENSE file for details.
Copyright (c) 2025 Eclipse Softworks. All rights reserved.