Editor support generalized: shared core, language server, Vim and VS Code (from dev eb5baf9cbe59)
doc/edit/ now holds a shared Python implementation of the language's structural layer (klammertext_edit.py) and a dependency-free language server (klammertext_ls.py), with integrations for Emacs, Sublime Text, Vim, and Visual Studio Code. The editor test suite in tst/ covers the core's API and CLI, the language server protocol, the VS Code extension, headless Vim, and Emacs byte-equality. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
85
doc/edit/vscode/package.json
Normal file
85
doc/edit/vscode/package.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"name": "klammertext",
|
||||
"displayName": "Klammertext",
|
||||
"description": "Klammertext language support: syntax highlighting, delimiter matching, structural reindentation, table alignment, and delimiter diagnostics.",
|
||||
"version": "0.1.0",
|
||||
"publisher": "klammertext",
|
||||
"license": "SEE LICENSE IN THE KLAMMERTEXT DISTRIBUTION",
|
||||
"engines": {
|
||||
"vscode": "^1.75.0"
|
||||
},
|
||||
"categories": [
|
||||
"Programming Languages"
|
||||
],
|
||||
"main": "./extension.js",
|
||||
"activationEvents": [
|
||||
"onLanguage:klammertext"
|
||||
],
|
||||
"capabilities": {
|
||||
"untrustedWorkspaces": {
|
||||
"supported": false,
|
||||
"description": "The extension runs the Klammertext language server (a local Python process)."
|
||||
}
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [
|
||||
{
|
||||
"id": "klammertext",
|
||||
"aliases": [
|
||||
"Klammertext"
|
||||
],
|
||||
"extensions": [
|
||||
".kt",
|
||||
".k"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "klammertext",
|
||||
"scopeName": "text.klammertext",
|
||||
"path": "./syntaxes/klammertext.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"commands": [
|
||||
{
|
||||
"command": "klammertext.jumpToMatch",
|
||||
"title": "Klammertext: Jump to Matching Delimiter"
|
||||
},
|
||||
{
|
||||
"command": "klammertext.alignTable",
|
||||
"title": "Klammertext: Align Table"
|
||||
}
|
||||
],
|
||||
"keybindings": [
|
||||
{
|
||||
"command": "klammertext.jumpToMatch",
|
||||
"key": "ctrl+alt+j",
|
||||
"mac": "cmd+alt+j",
|
||||
"when": "editorTextFocus && editorLangId == klammertext"
|
||||
},
|
||||
{
|
||||
"command": "klammertext.alignTable",
|
||||
"key": "ctrl+alt+a",
|
||||
"mac": "cmd+alt+a",
|
||||
"when": "editorTextFocus && editorLangId == klammertext"
|
||||
}
|
||||
],
|
||||
"configuration": {
|
||||
"title": "Klammertext",
|
||||
"properties": {
|
||||
"klammertext.pythonPath": {
|
||||
"type": "string",
|
||||
"default": "python3",
|
||||
"description": "Python interpreter used to run the Klammertext language server."
|
||||
},
|
||||
"klammertext.serverPath": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Full path to klammertext_ls.py. Leave blank to auto-locate: a copy next to the extension, ../shared/ relative to it (the Klammertext repository layout), or $KLAMMERTEXT_HOME/doc/edit/shared/."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user