120 lines
3.0 KiB
JSON
120 lines
3.0 KiB
JSON
{
|
|
"name": "relspec-template-editor",
|
|
"displayName": "RelSpec Template Editor",
|
|
"description": "Visual editor for RelSpec PostgreSQL migration templates",
|
|
"version": "0.1.0",
|
|
"engines": {
|
|
"vscode": "^1.80.0"
|
|
},
|
|
"categories": [
|
|
"Programming Languages",
|
|
"Formatters",
|
|
"Snippets"
|
|
],
|
|
"activationEvents": [
|
|
"onLanguage:gotmpl",
|
|
"onCommand:relspec.previewTemplate",
|
|
"onCommand:relspec.validateTemplate",
|
|
"onCommand:relspec.newTemplate"
|
|
],
|
|
"main": "./out/extension.js",
|
|
"contributes": {
|
|
"languages": [
|
|
{
|
|
"id": "gotmpl",
|
|
"aliases": ["Go Template", "gotmpl"],
|
|
"extensions": [".tmpl"],
|
|
"configuration": "./language-configuration.json"
|
|
}
|
|
],
|
|
"grammars": [
|
|
{
|
|
"language": "gotmpl",
|
|
"scopeName": "source.gotmpl",
|
|
"path": "./syntaxes/gotmpl.tmLanguage.json"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "relspec.previewTemplate",
|
|
"title": "RelSpec: Preview Template",
|
|
"icon": "$(preview)"
|
|
},
|
|
{
|
|
"command": "relspec.validateTemplate",
|
|
"title": "RelSpec: Validate Template"
|
|
},
|
|
{
|
|
"command": "relspec.newTemplate",
|
|
"title": "RelSpec: New Template"
|
|
},
|
|
{
|
|
"command": "relspec.listFunctions",
|
|
"title": "RelSpec: List Available Functions"
|
|
}
|
|
],
|
|
"menus": {
|
|
"editor/title": [
|
|
{
|
|
"command": "relspec.previewTemplate",
|
|
"when": "resourceLangId == gotmpl",
|
|
"group": "navigation"
|
|
}
|
|
],
|
|
"editor/context": [
|
|
{
|
|
"command": "relspec.validateTemplate",
|
|
"when": "resourceLangId == gotmpl",
|
|
"group": "relspec"
|
|
}
|
|
]
|
|
},
|
|
"configuration": {
|
|
"title": "RelSpec Template Editor",
|
|
"properties": {
|
|
"relspec.templatePath": {
|
|
"type": "string",
|
|
"default": "pkg/writers/pgsql/templates",
|
|
"description": "Path to template directory"
|
|
},
|
|
"relspec.autoValidate": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Automatically validate templates on save"
|
|
},
|
|
"relspec.showDataStructures": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Show data structure hints in preview"
|
|
},
|
|
"relspec.previewSampleData": {
|
|
"type": "string",
|
|
"default": "{}",
|
|
"description": "Sample JSON data for template preview"
|
|
}
|
|
}
|
|
},
|
|
"snippets": [
|
|
{
|
|
"language": "gotmpl",
|
|
"path": "./snippets/relspec.json"
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"vscode:prepublish": "npm run compile",
|
|
"compile": "tsc -p ./",
|
|
"watch": "tsc -watch -p ./",
|
|
"lint": "eslint src --ext ts"
|
|
},
|
|
"devDependencies": {
|
|
"@types/vscode": "^1.80.0",
|
|
"@types/node": "16.x",
|
|
"@typescript-eslint/eslint-plugin": "^5.59.0",
|
|
"@typescript-eslint/parser": "^5.59.0",
|
|
"eslint": "^8.41.0",
|
|
"typescript": "^5.0.4"
|
|
},
|
|
"dependencies": {}
|
|
}
|