From eaaf443ca23383ca82049f177331428d698a9745 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Fri, 3 Dec 2021 15:58:17 -0700 Subject: [PATCH] Add newline placeholder in Ktxt2 --- projects/kiss-vscode/src/ktxt2/KTxt2.kiss | 5 ++++- .../kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss | 11 ++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/projects/kiss-vscode/src/ktxt2/KTxt2.kiss b/projects/kiss-vscode/src/ktxt2/KTxt2.kiss index 4f080b15..26e70e28 100644 --- a/projects/kiss-vscode/src/ktxt2/KTxt2.kiss +++ b/projects/kiss-vscode/src/ktxt2/KTxt2.kiss @@ -67,8 +67,11 @@ "${blockStartEnd}${source}$(if outputLocked lockedStart unlockedStart)${output}${blockStartEnd}")))) // To save window space after each block editor, ¶ can be used in place of \n\n +// and ↵ in place of \n (function :String applySpecialChars [:String text] - (text.replace "¶" "\n\n")) + (.replace + (text.replace "¶" "\n\n") + "↵" "\n")) // Return [sourceFile outputFile] (function :Array extractFileContents [:Stream fileStream :String->Dynamic reportError] diff --git a/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss b/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss index 0ef35559..e6089707 100644 --- a/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss +++ b/projects/kiss-vscode/src/ktxt2/KTxt2EditorProvider.kiss @@ -10,9 +10,14 @@ (defNew [&prop :ExtensionContext context]) (method :String insertSpecialChars [:String text] - (if (text.endsWith "\n\n") - (+ (text.substr 0 (- text.length 2)) "¶") - text)) + (let [text (text.replace "\r" "")] + (cond + ((text.endsWith "\n\n") + (+ (substr text 0 -2) "¶")) + ((text.endsWith "\n") + (+ (substr text 0 -1) "↵")) + (true + text)))) (method :Promise resolveCustomTextEditor [:TextDocument document :WebviewPanel webviewPanel :CancellationToken _token] (set webviewPanel.webview.options (object enableScripts true))