Paket CodeEditorView Swift menyediakan tampilan SwiftUi yang menerapkan editor kode kaya untuk iOS, visiono, dan macO yang gaya visualnya terinspirasi oleh Xcode. Fungsionalitas yang saat ini didukung mencakup penyorotan sintaks dengan tema yang dapat dikonfigurasi, pesan inline (peringatan, kesalahan, dll) pelaporan, pencocokan braket, penyisipan braket pencocokan, sorotan baris saat ini, dan minimap.
Memperbarui:
CodeEditorView sekarang didasarkan pada TextKit 2.CodeEditorView pada versi macOS atau iOS sebelumnya, Anda perlu menggunakan rilis 0.12.0 atau cabang textkit1 dari repositori ini. (Saya tidak memiliki bandwidth untuk mendukung TextKit 2 pada versi OS sebelumnya, tetapi saya senang menerima PR yang menambah dukungan untuk itu. Mereka perlu menggunakan Swift 5.9,)CodeEditorView juga mendukung (1) menampilkan informasi tentang pengidentifikasi (seperti informasi jenis dan dokumentasi yang disediakan dalam Markdown) serta (2) penyelesaian kode. Ini pada akhirnya juga akan didukung di iOS. Ini adalah tema gelap default pada macOS. Seperti di Xcode, pesan memiliki tampilan inline di sisi kanan layar, yang muncul ke overlay yang lebih besar untuk menampilkan lebih banyak informasi. Minimap di sebelah kanan memberikan garis besar teks yang diedit.

Berikut ini adalah tema lampu default di iOS.

Penggunaan tampilan yang khas adalah sebagai berikut.
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 )
}
} Untuk melihat CodeEditorView beraksi, lihat repo dengan aplikasi demo lintas platform.
Untuk informasi lebih lanjut, lihat dokumentasi paket.
Saya menganggap ini sebagai kualitas pra-pelepasan. Sudah cukup untuk membangun sesuatu dengannya, tetapi belum siap untuk diproduksi. Tampilan CodeEditor sudah cukup mendukung sedikit fungsionalitas canggih (seperti pesan inline, minimap, dan (pada macOS) penyelesaian kode). Komponen lain masih cukup sederhana, seperti kisaran token yang dicakup oleh konfigurasi bahasa, tetapi itu juga sesuatu yang mudah diperluas. Kinerja masih menjadi masalah untuk file yang lebih besar.
Hak Cipta [2021..2024] Manuel Mt Chakravarty.
Didistribusikan di bawah lisensi APACHE-2.0-lihat file lisensi untuk detailnya.