From dd8190d4b85840e5f8fb40a2da2e27b7247f3449 Mon Sep 17 00:00:00 2001 From: shijizhi Date: Tue, 3 Nov 2020 16:31:32 +0800 Subject: [PATCH 1/2] add Wrap Support --- Sources/CodeViewer/CodeWebView.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sources/CodeViewer/CodeWebView.swift b/Sources/CodeViewer/CodeWebView.swift index 3904b7b..b0ad40d 100644 --- a/Sources/CodeViewer/CodeWebView.swift +++ b/Sources/CodeViewer/CodeWebView.swift @@ -343,6 +343,10 @@ public class CodeWebView: CustomView { callback(result) } } + + func setUseWrapMode(_ isWrap: Bool) { + callJavascript(javascriptString: "editor.session.setUseWrapMode(\(isWrap));") + } } extension CodeWebView { From a2c561e388a94a0482708f074ef6ccd7ce1b39c8 Mon Sep 17 00:00:00 2001 From: shijizhi Date: Tue, 3 Nov 2020 19:19:36 +0800 Subject: [PATCH 2/2] add Wrap Support --- Sources/CodeViewer/CodeViewer.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sources/CodeViewer/CodeViewer.swift b/Sources/CodeViewer/CodeViewer.swift index 4c4f592..ab844f2 100644 --- a/Sources/CodeViewer/CodeViewer.swift +++ b/Sources/CodeViewer/CodeViewer.swift @@ -20,6 +20,7 @@ public struct CodeViewer: ViewRepresentable { private let darkTheme: CodeWebView.Theme private let lightTheme: CodeWebView.Theme private let isReadOnly: Bool + private let isWrap: Bool private let fontSize: Int public init( @@ -28,6 +29,7 @@ public struct CodeViewer: ViewRepresentable { darkTheme: CodeWebView.Theme = .solarized_dark, lightTheme: CodeWebView.Theme = .solarized_light, isReadOnly: Bool = false, + isWrap: Bool = false, fontSize: Int = 12, textDidChanged: ((String) -> Void)? = nil ) { @@ -36,6 +38,7 @@ public struct CodeViewer: ViewRepresentable { self.darkTheme = darkTheme self.lightTheme = lightTheme self.isReadOnly = isReadOnly + self.isWrap = isWrap self.fontSize = fontSize self.textDidChanged = textDidChanged } @@ -48,6 +51,7 @@ public struct CodeViewer: ViewRepresentable { let codeView = CodeWebView() codeView.setReadOnly(isReadOnly) + codeView.setUseWrapMode(isWrap) codeView.setMode(mode) codeView.setFontSize(fontSize)