← Back to list

vscode-extension
by mcclowes
A pipe-oriented functional programming language with a tree-walk interpreter written in TypeScript.
⭐ 3🍴 0📅 Jan 12, 2026
SKILL.md
name: vscode-extension
prettier-ignore
description: Use when developing VSCode extensions - covers language support, LSP integration, and packaging
VSCode Extension Development
Quick Start
// package.json
{
"name": "vscode-lea",
"displayName": "Lea Language",
"engines": { "vscode": "^1.85.0" },
"categories": ["Programming Languages"],
"contributes": {
"languages": [{
"id": "lea",
"extensions": [".lea"],
"configuration": "./language-configuration.json"
}],
"grammars": [{
"language": "lea",
"scopeName": "source.lea",
"path": "./syntaxes/lea.tmLanguage.json"
}]
}
}
Core Components
Language Configuration
// language-configuration.json
{
"comments": { "lineComment": "--" },
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
"autoClosingPairs": [
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
{ "open": "\"", "close": "\"" }
],
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["\"", "\""]
]
}
LSP Client Integration
import {
LanguageClient,
LanguageClientOptions,
ServerOptions,
} from "vscode-languageclient/node";
export function activate(context: vscode.ExtensionContext) {
const serverModule = context.asAbsolutePath("server/index.js");
const serverOptions: ServerOptions = {
run: { module: serverModule, transport: TransportKind.ipc },
debug: { module: serverModule, transport: TransportKind.ipc }
};
const clientOptions: LanguageClientOptions = {
documentSelector: [{ scheme: "file", language: "lea" }],
};
const client = new LanguageClient("lea", "Lea", serverOptions, clientOptions);
client.start();
}
Snippets
// snippets/lea.json
{
"Function": {
"prefix": "fn",
"body": ["let ${1:name} = (${2:params}) -> ${0:body}"],
"description": "Define a function"
},
"Pipeline": {
"prefix": "pipe",
"body": ["${1:value}", " /> ${2:transform}", " /> ${0:result}"],
"description": "Create a pipeline"
}
}
Packaging & Publishing
# Install vsce
npm install -g @vscode/vsce
# Package extension
vsce package
# Publish to marketplace
vsce publish
Reference Files
- references/activation.md - Activation events
- references/commands.md - Command registration
Score
Total Score
65/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon

