CodeEditor:SwiftUI代码编辑器视图,支持语法高亮





项目名称:CodeEditor

项目简介

CodeEditor是一个用SwiftUI开发的代码编辑器视图,它通过使用Highlight.js来实现代码的语法高亮功能。这个项目建立在Highlightr之上,Highlightr是Highlight.js的包装,而CodeEditor则将这些功能打包成适用于SwiftUI的组件。

功能特点

  • 语法高亮:支持超过180种语言和80多种主题的语法高亮。

  • 多平台支持:可以在macOS、iOS和visionOS上使用。

  • 编辑功能:支持作为源代码查看器和实际的代码编辑器。

  • 智能缩进和配对:支持智能缩进和自动字符配对,如在macOS上输入{自动添加}

  • 字体大小调整:在macOS上支持通过快捷键和字体面板调整字体大小。

  • 选择和滚动:可以通过另一个Binding观察和修改选中的文本。

安装指南

Swift package的URL是:https://github.com/ZeeZide/CodeEditor.git

使用方法

在SwiftUI应用中使用CodeEditor,可以简单地将源代码作为字符串传递:

struct ContentView: View {
    var body: some View {
        CodeEditor(source: "let a = 42")
    }
}

如果需要作为实际的编辑器使用,传递一个字符串Binding

struct ContentView: View {
    @State private var source = "let a = 42\n"
    
    var body: some View {
        CodeEditor(source: $source, language: .swift, theme: .ocean)
    }
}

语言和主题

可以使用CodeEditor.availableLanguagesCodeEditor.availableThemes访问可用的语言和主题,并在SwiftUI的Picker中使用它们。

智能缩进和自动配对

CodeEditor支持智能缩进和软缩进(按用户配置的空格数量插入空格),以及自动字符配对。

字体大小调整

在macOS上,可以通过Cmd +/-快捷键和字体面板调整字体大小。

选择和滚动

可以通过Binding观察和修改选中的文本,并且可以设置autoscroll以在外部修改选择时自动滚动到相应的光标位置。

完整示例

项目提供了一个完整的示例,展示了如何在SwiftUI应用中集成和使用CodeEditor。

或许喜欢

WaterTracker: 跨平台纯SwiftUI开发的喝水追踪应用

WaterTracker是一款跨iOS、iPadOS和watchOS平台的喝水追踪应用,使用SwiftUI开发,支持HealthKit和CloudKit数据同步,无广告、无内购。

最近更新 2024-12-09

PhotoEditor:一款用Swift开发的开源图片编辑器

PhotoEditor是一个用Swift语言开发的开源图片编辑器,提供基本的图片编辑功能,适用于iOS平台。

最近更新 2024-12-11

ActivityIndicatorView:SwiftUI 创建的预设加载指示器库

ActivityIndicatorView 是一个 SwiftUI 库,提供多种预设的加载动画指示器,支持自定义样式和动画,适用于 iOS、watchOS、tvOS 和 macOS 平台。

最近更新 2024-12-11

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1