Soru Kakao'da kaynak kodun sözdizimi vurgulamasının en iyi yolu nedir? [kapalı]


Objective-C, SQL, JavaScript, Python gibi dillerde yazılmış bir kaynak kodu analiz edip vurgulayabilen Kakao Uygulaması üzerinde çalışıyorum. Metin de (NSTextView kullanarak) düzenlenebilir olmalıdır.

Lütfen Mac OS X 10.5'te bu özelliğin uygulanmasının en iyi yolunun hangisi olduğunu belirtin.

Otomatik tamamlama ve diğer ekstra özellikleri desteklemeye gerek yoktur. Anahtar kelimeler, dizgiler, #includes ve sayılar ile basit biçimlendirme ancak harika performansa sahip olmak sadece Tamam.

Ayrıca, dillerin yapılandırılması desteklenirse harika olur.

Teşekkürler!


18
2018-04-16 03:00


Menşei


Akıllı sözdizimi vurgulaması oldukça zor olabilir - bu neden Apple'ın LLVM'ye clang cephesinde bu kadar çok çalışmasının bir parçası. Kontrol etmek isteyebilirsiniz. - user57368


Cevaplar:


Benzer bir şey gerektiren bir proje hazırlarken, aşağıdakileri buldum (ancak bunları derinlemesine değerlendirmedim):

  • / Geliştirici / Örnekler / OpenGL / Cocoa / GLSLEditorSample sözdizimi vurgulamasını uygular.
  • IDEKit“Sözdizimi renklendirme, açılır pencereler ve bölünmüş kareler dahil olmak üzere programcı kaynak kodu düzenlemeyi sağlayan açık kaynaklı bir çerçeve”. Bu bir süredir güncellenmemiştir (10.2 ve 10.3 uyumluluğuna sahiptir ve bir Proje Oluşturucu projesi ile birlikte gelir - Xcode 2.5 ile dönüştürülebilir).
  • UKSyntaxColoredTextDocument.

16
2018-04-16 17:54



Gandreas repoyu öldürdü, ancak eski bir SVN repo'undan çalışan bir kopyayı (en son 0.3) kurtardım. İşte. Benimki Xcode 4.x desteği ve ARC var. - CodaFi


Urum'un UKSyntaxColoredTextDocument belgesine bakarak Ahruman'ın tavsiyesine kulak veriyorum, bu da sizi hangi sınıflar hakkında öğreneceğinize dair doğru yöne işaret edecektir.

Bu başka bir mükemmel bilgi kaynağı:

http://www.cocoadev.com/index.pl?ImplementSyntaxHighlighting

İyi şanslar - Sözdizimi vurgulamak doğru olmak zor, ama yol boyunca çok eğlenceli!


6
2018-04-16 23:08



Sağolun beyler. Kesinlikle doğru cevap gibi görünüyor. Uli'nin bileşenini dikkatlice inceleyeceğim, ama bu soruyu birkaç gün boyunca cevapsız bırakmak istiyorum. Muhtemelen, bu sefer birileri yeni bir şey bulmuş olacak. - Stream


Son zamanlarda Cocoa için bir sözdizimi vurgulama çözümü aramak zorunda kaldım ve Stack Overflow'ta arama yaptıktan sonra Google ve GitHub, modern, yeniden kullanımı kolay ve etkin geliştirme aşamasında hiçbir şey bulamadı.

Günümüzde çoğu sözdizimi highlighters görünüyor web için yazılmıştır. Neyse ki, bunları herhangi bir Kakao uygulamasında kullanmak için WebView'e gömmek oldukça kolay. Editör ile iletişim kurmak WebKit üzerinden yapılabilir. WebScriptObject protokolü.

İşte popüler JavaScript metin editörü için örnek bir sarıcı CodeMirror Kakao için: https://github.com/swisspol/CodeMirrorView


2
2017-12-30 20:50





Kaynak kodun bir HTML gösterimini oluşturmak için python ile yazılan Pygments'ı kullanabilirsiniz, bu da bir Web Görünümünde sunulabilir.

(Aşağıdaki yorumda da belirtildiği gibi, bu cevap, düzenlenebilir metinden bahsetmemiş olan orijinal soruya verildi.)


1
2018-04-16 07:54



Sağol Matthew. Üzgünüz, ancak bir tane daha gereksinimi eklemeyi unuttum. Kaynak kodu düzenlenebilir olmalıdır (örneğin NSTextView'a yerleştirilmelidir). Bu hedefe ulaşmak için NSTextView'a vurgulamayı dahil etmek için Pygments kullanmak mümkün mü? - Stream
HTML oluşturmadan başka bir şey yapmamıştım, ancak başka biçimlerde de işaretleyebileceğini biliyorum. Bunlardan biri NSTextView'i görüntülemek için bir temel olabilir. - Matthew Schinckel


Burada anlatıldığı gibi (Almanca olarak) flex kullanmayı düşünebilirsiniz [1]. Bu yaklaşımın bir örneğini burada bulabilirsiniz [2].

[1] http://www.osxentwicklerforum.de/thread.php?postid=14764 [2] http://objectiveous.github.com/davenport/


1
2018-04-18 19:56