The official production-ready VS Code extension for VintLang programming language with full Language Server Protocol (LSP) support. This extension provides comprehensive language support including intelligent code completion, real-time error checking, syntax highlighting, and much more.
- Advanced Syntax Highlighting - Rich, semantic syntax highlighting for all VintLang constructs
- Intelligent Code Completion - Context-aware autocompletion for keywords, functions, modules, and variables
- Real-time Error Diagnostics - Instant feedback on syntax errors and potential issues
- Smart Indentation - Automatic code formatting and indentation
- Bracket Matching - Automatic bracket, parentheses, and quote pairing
- Go to Definition - Navigate to function and variable definitions
- Find All References - Find all usages of symbols across your codebase
- Hover Documentation - Rich documentation on hover for built-in functions and keywords
- Symbol Navigation - Document outline and workspace-wide symbol search
- Signature Help - Parameter hints for function calls
- Code Folding - Collapse functions, blocks, and comments for better navigation
- Rename Refactoring - Safely rename symbols across your codebase
- Document Highlight - Highlight all occurrences of the symbol under cursor
- Code Actions - Quick fixes for common issues (missing 'let', unused variables)
- Semantic Highlighting - Advanced syntax highlighting based on semantic analysis
- Inlay Hints - Inline parameter names and type information
- Call Hierarchy - Navigate function call relationships
- Document Links - Clickable links for imports and URLs in comments
- Selection Ranges - Smart expand/shrink selection (Alt+Shift+Left/Right)
- Code Lens - Shows reference counts and inline actions for functions
- Color Decorators - Visual color previews for hex and RGB color values in code
Over 50+ pre-built code snippets for common VintLang patterns:
- Functions (regular, async, anonymous, classes)
- Control flow statements (if/else, loops, switch/case, try/catch)
- Async/Await patterns (async functions, await, promises)
- Concurrency (goroutines, channels, producer-consumer)
- HTTP requests and JSON handling
- File operations and I/O
- Time and date operations
- Error handling patterns
- Module imports (argparse, cli, uuid, filewatcher, kv, random, etc.)
- Auto-closing pairs for brackets, quotes, and parentheses
- Smart commenting with
//and/* */support - Configurable settings for personalized experience
- Command palette integration for quick actions
- Workspace symbol search across all
.vintfiles
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "VintLang"
- Click Install
- Download the
.vsixfile from releases - Run
code --install-extension vint-x.x.x.vsix
Create a new file with .vint extension and start coding:
import time
import net
// Main logic to demonstrate VintLang features
let name = "VintLang Developer"
let skills = ["programming", "debugging", "optimization"]
// Function definition with proper syntax
let greetUser = func(userName, userSkills) {
println("Hello, " + userName + "!")
for skill in userSkills {
println("You're skilled in: " + skill)
}
// Time operations
let currentTime = time.now()
println("Current time: " + time.format(currentTime, "2006-01-02 15:04:05"))
return "Welcome to VintLang!"
}
// Call the function
let welcomeMessage = greetUser(name, skills)
println(welcomeMessage)
// HTTP request example
let response = net.get("https://api.github.com/users/vintlang")
println("GitHub API Response:", response)
// Error handling
try {
convert("invalid", "INTEGER")
} catch (error) {
println("Conversion error:", error)
}The extension supports various configuration options:
{
"vintlang.enable": true,
"vintlang.trace.server": "off",
"vintlang.maxNumberOfProblems": 100,
"vintlang.format.enable": true,
"vintlang.completion.enable": true,
"vintlang.diagnostics.enable": true
}| Setting | Type | Default | Description |
|---|---|---|---|
vintlang.enable |
boolean | true |
Enable/disable the VintLang language server |
vintlang.trace.server |
string | "off" |
Trace communication between VS Code and language server |
vintlang.maxNumberOfProblems |
number | 100 |
Maximum number of problems reported |
vintlang.format.enable |
boolean | true |
Enable auto-formatting |
vintlang.completion.enable |
boolean | true |
Enable intelligent code completion |
vintlang.diagnostics.enable |
boolean | true |
Enable real-time error diagnostics |
vintlang.inlayHints.enable |
boolean | true |
Enable inlay hints for parameters and types |
vintlang.semanticHighlighting.enable |
boolean | true |
Enable semantic syntax highlighting |
vintlang.codeActions.enable |
boolean | true |
Enable code actions and quick fixes |
vintlang.codeLens.enable |
boolean | true |
Enable code lens showing reference counts |
vintlang.colorDecorators.enable |
boolean | true |
Enable color decorators for color values |
The extension provides completion and documentation for all VintLang built-ins:
I/O Functions:
print(),println(),write()
Type Functions:
type(),convert(),has_key(),len(),range()
String Functions:
split(),join(),replace(),contains(),trim(),upper(),lower()substring(),indexOf(),lastIndexOf(),charAt(),charCodeAt()padStart(),padEnd(),repeat()
Array Functions:
push(),pop(),shift(),unshift(),slice(),sort(),reverse()map(),filter(),reduce(),find(),findIndex(),includes(),forEach()
Math Functions:
abs(),ceil(),floor(),round(),max(),min(),sqrt(),pow(),random()sin(),cos(),tan(),log(),exp(),toFixed(),parseInt(),parseFloat()asin(),acos(),atan(),atan2(),cbrt()
File I/O Functions:
readFile(),writeFile(),appendFile(),deleteFile(),fileExists(),readDir(),makeDir()
Utility Functions:
keys(),values(),entries(),merge(),clone(),freeze(),seal()
Type Checking Functions:
isString(),isNumber(),isArray(),isMap(),isNull(),isBool()
Full support for VintLang modules with auto-completion:
Core Modules:
time- Time and date operationsnet- HTTP requests and networkingos- Operating system interactionsjson- JSON parsing and stringificationcsv- CSV file handling
Advanced Modules:
regex- Regular expressions and pattern matchingcrypto- Cryptographic functions (hashing, encryption)encoding- Encoding/decoding utilities (base64, etc.)colors- Terminal colors and stylingterm- Terminal operations and controlargparse- Command-line argument parsingcli- Command-line interface toolsuuid- UUID generation and manipulation
Utility Modules:
math- Advanced mathematical operationsstring- String manipulation utilitiesarray- Array processing utilitiesrandom- Random number generationfilewatcher- File system watching and monitoringkv- In-memory key-value storage
Full support for modern async operations and concurrent programming:
Async Functions:
async func- Define asynchronous functionsawait- Wait for promise resolution- Promise-based async patterns
Goroutines & Channels:
go- Execute code concurrentlychan- Create channels for communicationsend()- Send values to channelsreceive()- Receive values from channelsclose()- Close channels- Producer-consumer patterns
Access these commands via Command Palette (Ctrl+Shift+P):
- VintLang: Restart Language Server - Restart the language server
- VintLang: Show References - Find all references to symbol under cursor
- VintLang: Show Extension Status - Display extension and server status
If you encounter issues with the language server:
- Restart the Language Server: Use Command Palette → "VintLang: Restart Language Server"
- Check Output Panel: View → Output → Select "VintLang Language Server"
- Enable Tracing: Set
"vintlang.trace.server": "verbose"in settings
Q: Code completion not working
A: Ensure "vintlang.completion.enable": true and restart VS Code
Q: Syntax highlighting incorrect
A: File must have .vint extension and be properly saved
Q: Diagnostics not appearing
A: Check that "vintlang.diagnostics.enable": true in settings
This extension follows a comprehensive roadmap to become a fully-featured modern LSP:
- LSP client-server architecture
- Document synchronization
- Basic error diagnostics
- Enhanced syntax highlighting
- Intelligent code completion
- Hover information
- Go to definition
- Symbol navigation
- Signature help
- ESLint integration for code quality
- Prettier formatting
- CI/CD with GitHub Actions
- Comprehensive error handling
- JSDoc type annotations
- Security vulnerability fixes
- MIT License
- Contributing guidelines
- VS Code workspace configuration
- Real-time semantic validation with symbol tracking
- Advanced code folding for all block types
- Document formatting with smart indentation
- Code actions and quick fixes
- Rename refactoring with prepare rename
- Document highlight for symbol occurrences
- Semantic tokens for enhanced highlighting
- Inlay hints for parameters and types
- Call hierarchy navigation
- Status bar integration
- Enhanced configuration options
- Document links for imports and URLs
- Selection ranges (smart select)
- Workspace symbol search
- Improved error messages with diagnostic codes
- Debugger integration
- Import/module resolution and validation
- Integration with VintLang compiler
- Testing framework integration
- Code lens for inline actions
- Type inference improvements
- Workspace-wide refactoring operations
We welcome contributions! Here's how you can help:
- Report Issues - Found a bug? Create an issue
- Suggest Features - Have an idea? We'd love to hear it!
- Submit PRs - Fix bugs or add features
- Improve Documentation - Help others learn VintLang
# Clone the repository
git clone https://github.com/vintlang/vscode-extension.git
cd vscode-extension
# Install dependencies
npm install
# Run linting
npm run lint
# Format code
npm run format
# Open in VS Code
code .
# Press F5 to launch extension development hostnpm run lint- Check code quality with ESLintnpm run lint:fix- Automatically fix linting issuesnpm run format- Format code with Prettiernpm run format:check- Check if code is formattednpm test- Run testsnpm run package- Create VSIX packagenpm run publish- Publish to marketplace
For detailed contributing guidelines, see CONTRIBUTING.md.
- Official Website: vintlang.ekilie.com
- GitHub Repository: github.com/vintlang/vintlang
- Documentation: vintlang.ekilie.com/docs
- Examples: Check out the
/examplesfolder in the main VintLang repository
This extension is licensed under the MIT License. See LICENSE for details.
- VintLang language created by Tachera Sasi
- Extension developed with ❤️ by the VintLang community
- Special thanks to all contributors and users
Happy coding with VintLang! 🚀
For more information about VintLang, visit vintlang.ekilie.com