Adding ktxt2 editor to Kiss-Vscode

This commit is contained in:
2021-10-18 15:31:42 -04:00
parent 5aef077d70
commit 13389b341c
4 changed files with 36 additions and 0 deletions

View File

@@ -71,6 +71,18 @@
"kiss"
]
}
],
"customEditors": [
{
"viewType": "ktxt2.splitView",
"displayName": "KTxt2 Split View",
"selector": [
{
"filenamePattern": "*.*.*.ktxt2"
}
],
"priority": "default"
}
]
},
"engines": {

View File

@@ -0,0 +1,10 @@
import kiss.Prelude;
import kiss.List;
import vscode.ExtensionContext;
import vscode.TextDocument;
import vscode.CancellationToken;
import vscode.WebviewPanel;
import js.lib.Promise;
@:build(kiss.Kiss.build())
class KTxt2EditorProvider {}

View File

@@ -0,0 +1,11 @@
(function register [context]
(let [provider (new KTxt2EditorProvider context)]
(Vscode.window.registerCustomEditorProvider "ktxt2.splitView" provider)))
(defNew [&prop :ExtensionContext context])
(method :Promise<Void> resolveCustomTextEditor [:TextDocument document :WebviewPanel webviewPanel :CancellationToken _token]
(set webviewPanel.webview.options (object enableScripts true))
(set webviewPanel.webview.html "hello editor")
null
)

View File

@@ -129,6 +129,9 @@
(.runKeyboardShortcut (the KissConfig config))
(Vscode.window.showErrorMessage "Can't run commands! No config is loaded.")))))
(context.subscriptions.push
(KTxt2EditorProvider.register context))
(set builtinConfigDir (joinPath context.extensionPath "config"))
(set activeConfigDir (joinPath (userHome) ".kiss-vscode" "activeConfig"))
(set lastConfigDir (joinPath (userHome) ".kiss-vscode" "lastActiveConfig"))