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许可证分配 - 有关详细信息,请参见许可证文件。