CodeEditorView
A truck load of fixes
CodeEditorView Swift軟件包提供了SwiftUI視圖,該視圖實現了iOS,Visionos和MacOS的豐富代碼編輯器,其視覺樣式受Xcode的啟發。當前支持的功能包括語法突出顯示,具有可配置的主題,內聯消息(警告,錯誤等)報告,括號匹配,匹配的括號插入,當前線突出顯示和最小值。
更新:
CodeEditorView現在基於TextKit 2。CodeEditorView ,則需要使用版本0.12.0或此存儲庫的textkit1分支。 (我沒有在較早的操作系統版本上支持TextKit 2的帶寬,但是我很樂意接受對其進行支持的PR。但是,他們需要使用Swift 5.9。)CodeEditorView還支持(1)顯示有關標識符(例如Markdown中提供的類型信息和文檔)以及(2)代碼完成的信息。最終也將在iOS上支持。 這是MacOS上的默認黑暗主題。像XCode一樣,郵件在屏幕右側具有內聯視圖,該視圖彈出到較大的覆蓋層中以顯示更多信息。右側的最小值提供了編輯文本的概述。

以下是iOS上的默認燈主題。

典型的視圖用法如下。
import SwiftUI
import CodeEditor
import LanguageSupport
struct ContentView : View {
@ State private var text : String = " My awesome code... "
@ State private var position : CodeEditor . Position = CodeEditor . Position ( )
@ State private var messages : Set < TextLocated < Message > > = Set ( )
@ Environment ( . colorScheme ) private var colorScheme : ColorScheme
var body : some View {
CodeEditor ( text : $text , position : $position , messages : $messages , language : . swift )
. environment ( . codeEditorTheme ,
colorScheme == . dark ? Theme . defaultDark : Theme . defaultLight )
}
} 要查看In Action的CodeEditorView ,請使用跨平台演示應用程序查看回購。
有關更多信息,請參閱包裝文檔。
我認為這是預發行的質量。用它構建一些東西是足夠的,但是尚未準備好生產。 CodeEditor視圖已經支持了很多高級功能(例如內聯消息,最小值和(MacOS)代碼完成)。其他組件仍然很簡單,例如語言配置涵蓋的令牌範圍,但這也很容易擴展。性能仍然是較大文件的問題。
版權[2021..2024] Manuel Mt Chakravarty。
根據Apache-2.0許可證分配 - 有關詳細信息,請參見許可證文件。