STTextView Source Code Syntax Highlighting with TreeSitter and Neon.
Notepad.exe.mp4
Installation
Add the plugin package as a dependency of your application, then register/add it to the STTextView instance:
import STPluginNeon textView.addPlugin( NeonPlugin( theme: .default, language: .swift ) )
SwiftUI:
import SwiftUI import STTextViewUI import STPluginNeon struct ContentView: View { @State private var text: AttributedString = "" @State private var selection: NSRange? var body: some View { STTextViewUI.TextView( text: $text, selection: $selection, options: [.wrapLines, .highlightSelectedLine], plugins: [NeonPlugin(theme: .default, language: .swift)] ) .textViewFont(.monospacedDigitSystemFont(ofSize: NSFont.systemFontSize, weight: .regular)) .onAppear { loadContent() } } private func loadContent() { // (....) self.text = AttributedString(string) } }