Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Vex - Systems Programming LanguageNew to Visual Studio Code? Get it now.
Vex - Systems Programming Language

Vex - Systems Programming Language

devloops

| (0) | Free
Full IDE support for the Vex systems programming language: syntax highlighting, LSP, debugging, and more
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Vex Language - VS Code Extension

Status: ✅ Globally Installed
Extension ID: meftunca.vex-language
Version: 0.1.5

🚀 Quick Start

Check Status

./check_status.sh

Install/Update

./install.sh

Reload VS Code

Cmd+Shift+P → "Developer: Reload Window"

📚 Documentation

  • GLOBAL_INSTALLATION.md - Complete installation guide
  • LSP_STATUS.md - LSP implementation status
  • BUILD.md - Build instructions

✨ Features

Current (v0.1.2)

  • ✅ Syntax Highlighting - Full Vex v0.1.2 syntax with all new features
  • ✅ File Icons - New .vx file icons with light/dark variants (contribute via "Vex File Icons" theme)
  • ✅ unsafe blocks for raw pointer operations
  • ✅ Trait bounds syntax (<T: Display>)
  • ✅ interface keyword support
  • ✅ Extended types: f128, str, byte, unit, nil
  • ✅ HashMap, HashSet, String types
  • ✅ Language Server (LSP) - Real-time diagnostics with exact positions
    • ✅ Trait bounds validation errors
    • ✅ Unsafe block tracking
    • ✅ Generic type inference
  • ✅ Code Formatter - Auto-formatting with unsafe/defer/go support
  • ✅ Extended Type Support - i128, u128, f16, f128, error, Map, Set, Channel, Vec, Box
  • ✅ Builtin Functions - 50+ builtin functions including memory ops, LLVM intrinsics, reflection
  • ✅ Code Snippets - Comprehensive snippets for all language features
  • ✅ Vex Dark Theme - Custom color scheme
  • ✅ Commands - Restart Language Server

Coming Soon

  • 🚧 Hover type information
  • 🚧 Go to definition
  • 🚧 Auto-completion
  • 🚧 Code actions (quick fixes)

🔍 Current Installation

# Extension location (symlink)
~/.vscode/extensions/vex-language-0.1.2
→ /Users/mapletechnologies/Desktop/big_projects/vex_lang/vscode-vex

# LSP server
~/.cargo/target/release/vex-lsp (3.2 MB)

# Status
✅ Extension globally installed
✅ TypeScript compiled (out/extension.js)
✅ LSP server built
✅ All v0.1.2 features supported
✅ Trait bounds enforcement
✅ Unsafe block support
⏳ Waiting for .vx file to activate

📋 Quick Commands

# Development
cd client && npm run compile          # Recompile TypeScript
cargo build --release -p vex-lsp      # Rebuild LSP server

# Testing
code test.vx                          # Open test file
code --list-extensions | grep vex     # Verify installation

# Maintenance
./check_status.sh                     # Check everything
./uninstall.sh                        # Remove extension

🧪 Test It

# 1. Create test file
cat > test_syntax_error.vx << 'EOF'
fn main(): i32 {
    let x = "missing semicolon"
    return 0;
}
EOF

# 2. Open in VS Code
code test_syntax_error.vx

# 3. Expected result
# Line 2: Red squiggle at "missing semicolon"
# Message: "Expected ';' after let statement"
# Position: test_syntax_error.vx:2:32

🔧 Development Mode

Since extension is symlinked, changes reflect immediately:

# 1. Edit source
vim client/src/extension.ts

# 2. Compile
cd client && npm run compile

# 3. Reload VS Code
# Cmd+Shift+P → "Developer: Reload Window"

No reinstall needed! 🎉

File Icons

This extension provides a small file icon theme so .vx files show a Vex icon in the Explorer. To enable it:

  1. Cmd+Shift+P → Preferences: File Icon Theme
  2. Choose Vex File Icons from the list

If you still do not see the icons, try: Reload Window (Cmd+Shift+P → Developer: Reload Window).


📊 Architecture

vscode-vex/                           # Extension source (symlinked)
├── package.json                      # Extension manifest
├── client/src/extension.ts           # TypeScript client
├── out/extension.js                  # Compiled output
├── syntaxes/vex.tmLanguage.json     # Syntax rules
├── snippets/vex.json                # Code snippets
└── themes/vex-dark.json             # Color theme

~/.cargo/target/release/vex-lsp      # Rust LSP server
├── Parse .vx files
├── Generate diagnostics
└── Communicate via stdio

VS Code
├── Loads extension from ~/.vscode/extensions/
├── Spawns vex-lsp process
├── Shows diagnostics as red squiggles
└── Sends hover/completion requests

🐛 Troubleshooting

Extension not found?

ls -la ~/.vscode/extensions/ | grep vex
# If missing: ./install.sh

LSP not starting?

ls -lh ~/.cargo/target/release/vex-lsp
# If missing: cargo build --release -p vex-lsp

Syntax highlighting not working?

# Check language mode (bottom right)
# Should show: "Vex"
# Manually set: Cmd+Shift+P → "Change Language Mode" → "Vex"

Changes not reflecting?

cd client && npm run compile
# Then reload VS Code

📝 Version History

v0.1.1 (Current - January 2025)

  • ✅ Extended primitive types (i128, u128, f16, error)
  • ✅ Collection types (Map, Set, Channel, Vec, Box)
  • ✅ Option/Result constructors (Some, None, Ok, Err)
  • ✅ Goroutine support (go keyword)
  • ✅ Switch and defer statements
  • ✅ 50+ builtin functions (memory, strings, UTF-8, reflection, LLVM intrinsics, compiler hints)
  • ✅ Enhanced code snippets for all new features
  • ✅ Complete v0.1.1 language specification support

v0.2.0

  • ✅ LSP integration with exact error positions
  • ✅ Parser span tracking (file:line:column)
  • ✅ Real-time diagnostics
  • ✅ Symlink installation

v0.1.0

  • ✅ Basic syntax highlighting
  • ✅ Code snippets
  • ✅ Vex Dark theme

🎯 Next Steps

  1. Test in VS Code - Open any .vx file
  2. Check Output panel - "Vex Language Server"
  3. Try syntax errors - Should show red squiggles
  4. Test snippets - Type main and press Tab

Need Help?

  • Check: ./check_status.sh
  • Read: GLOBAL_INSTALLATION.md
  • Logs: VS Code → Output → "Vex Language Server"

Ready to use! 🚀

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft