From 5fafc529130788b3c56872ac2e451cc9f237a111 Mon Sep 17 00:00:00 2001 From: neon443 <69979447+neon443@users.noreply.github.com> Date: Sat, 21 Jun 2025 12:50:28 +0100 Subject: [PATCH] added syntax highlighting - and a new runtime error :cry --- ShhShell/Views/Terminal/TextViewController.swift | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ShhShell/Views/Terminal/TextViewController.swift b/ShhShell/Views/Terminal/TextViewController.swift index 1df7580..5814652 100644 --- a/ShhShell/Views/Terminal/TextViewController.swift +++ b/ShhShell/Views/Terminal/TextViewController.swift @@ -9,12 +9,15 @@ import Foundation import UIKit import SwiftUI import Runestone +import TreeSitterBashRunestone struct TextViewController: UIViewRepresentable { @Binding var text: String func makeUIView(context: Context) -> TextView { + let languageMode = TreeSitterLanguageMode(language: .bash) let textView = TextView() + setTextViewState(on: textView) textView.translatesAutoresizingMaskIntoConstraints = false textView.backgroundColor = .systemBackground return textView @@ -23,4 +26,14 @@ struct TextViewController: UIViewRepresentable { func updateUIView(_ textView: TextView, context: Context) { textView.text = text } + + private func setTextViewState(on textView: TextView) { + DispatchQueue.global(qos: .userInitiated).async { + let text = self.text + let state = TextViewState(text: text, language: .bash) + DispatchQueue.main.async { + textView.setState(state) + } + } + } }