Official VS Code extension for the Script programming language - an AI-native language with production-grade generics, pattern matching, and memory safety.
This extension provides language support for the Script programming language in VS Code and Cursor.
- 🎨 Syntax Highlighting: Full syntax highlighting for all Script language constructs
- 🔧 Language Configuration: Auto-closing brackets, comment toggling, smart indentation
- 📁 File Recognition:
.scriptfiles automatically recognized - 🎯 Language ID: Proper
scriptlanguage identifier for other extensions - 💡 Coming Soon: Language Server Protocol support (85% complete)
- Open VS Code or Cursor
- Press
Ctrl+P/Cmd+P - Type
ext install script-lang.script-lang - Press Enter and click Install
✨ Auto-Updates: Once installed, the extension updates automatically when new versions are released!
- Download the latest
.vsixfile from Releases - In VS Code: Extensions → ... → Install from VSIX
- Select the downloaded file
-
Copy the
vscode-script-extensionfolder to your VS Code extensions directory:- Windows:
%USERPROFILE%\.vscode\extensions\ - macOS/Linux:
~/.vscode/extensions/ - Cursor: Same locations but replace
.vscodewith.cursor
- Windows:
-
Restart VS Code/Cursor
-
Clone the repository:
git clone https://github.com/moikas-code/vscode-script-extension.git cd vscode-script -
Install dependencies:
npm install
-
Package the extension:
npm run package
-
Install the generated .vsix file:
code --install-extension script-lang-*.vsix
Once installed:
.scriptfiles will be recognized with thescriptlanguage ID- Syntax highlighting will work automatically
- File icons will appear in the explorer (may need icon theme support)
To improve icon support with popular icon themes:
Material Icon Theme:
"material-icon-theme.languages.associations": {
"script": "javascript"
}vscode-icons:
"vsicons.associations.files": [
{ "icon": "script", "extensions": ["script"], "format": "svg" }
]// Function definition
fn main() {
print("Hello, Script!")
}
// Variables and types
let name: string = "Script"
let version: f32 = 0.5
let features = ["generics", "pattern matching", "memory safety"]
// Pattern matching
match result {
Ok(value) => print("Success: ${value}"),
Err(error) => print("Error: ${error}")
}
// Generics
fn map<T, U>(items: Array<T>, transform: fn(T) -> U) -> Array<U> {
// Implementation
}
// Async/await
async fn fetch_data(url: string) -> Result<string, Error> {
let response = await http_get(url)
Ok(response.body)
}
Contributions are welcome! Please see our Contributing Guide for details.
- Clone the repository
- Run
npm install - Open in VS Code
- Press
F5to launch a new VS Code window with the extension loaded - Open any
.scriptfile to test
npm test # Run tests
npm run lint # Check code style- Basic syntax highlighting
- Language configuration
- File type recognition
- Language Server Protocol integration (85% complete)
- IntelliSense and auto-completion
- Debugging support
- REPL integration
- Code snippets
- Formatting support
The extension automatically updates when new versions are published to the marketplace. You can:
- Control auto-updates in VS Code settings
- View update notifications with changelog links
- Manually check for updates in the Extensions view
See AUTO_UPDATE.md for more details.
MIT - See LICENSE for details.