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" "kiss"
] ]
} }
],
"customEditors": [
{
"viewType": "ktxt2.splitView",
"displayName": "KTxt2 Split View",
"selector": [
{
"filenamePattern": "*.*.*.ktxt2"
}
],
"priority": "default"
}
] ]
}, },
"engines": { "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)) (.runKeyboardShortcut (the KissConfig config))
(Vscode.window.showErrorMessage "Can't run commands! No config is loaded."))))) (Vscode.window.showErrorMessage "Can't run commands! No config is loaded.")))))
(context.subscriptions.push
(KTxt2EditorProvider.register context))
(set builtinConfigDir (joinPath context.extensionPath "config")) (set builtinConfigDir (joinPath context.extensionPath "config"))
(set activeConfigDir (joinPath (userHome) ".kiss-vscode" "activeConfig")) (set activeConfigDir (joinPath (userHome) ".kiss-vscode" "activeConfig"))
(set lastConfigDir (joinPath (userHome) ".kiss-vscode" "lastActiveConfig")) (set lastConfigDir (joinPath (userHome) ".kiss-vscode" "lastActiveConfig"))