Hafif Bir C Editoru

Merhaba arkadaslar,

Bu programı kendisi uzman,ama bilgisayari berbat olan arkadasım icin yaptım.(Aslında bununla birlikte tum bilgisayarı dusuk seviye olan kullanıcılar icin yaptım.)Bu editorde kodları renklendirme yok(gerci editor de sayılmaz ya neyse:)).Gule gule kullanın.Gelistirmesini arada sırada aklıma eserse yaparım.Bununla birlikte bu scripti gelistirebilirsiniz de.Katkıda bulunmak size kalmıs:).Sadece linux kullaniciları icindir.Windowsta calısmaz.Gule güle kullanın.

Bu arada eger hata veya bug bulup bilgilendirebilirseniz o kadar cok sevinirim ki.
Her turlu soruya acıgım.Elimden geldigi kadarıyla yardımcı olmaya calısırım.

2 Beğeni

Merhabalar. Elinize sağlık, güzel bir çalışma olmuş. Geliştirilmeye de oldukça açık. İlk izlenimlerim şunlar:

  • GitHub’daki README’de programın nasıl çalıştırılacağı anlatılsa iyi olurmuş. Örneğin Python 2 mi Python 3 mü kullanmak gerek?
  • LICENSE’ı doğrudan ana dizinde LICENSE isimli bir dosyada tutabilirsiniz. Bu şekilde GitHub lisansınızı tanıyıp gösterebilir.
  • Lisansı kendiniz yazmak yerine MIT gibi hazır bir lisans kullanabilirsiniz. Bunun bir iyi yanı GitHub’ın çok bilinen bu lisansı tanıyıp bunu ana sayfada göstermesidir.
  • Uygulama arayüzü sınıflar ile yazılabilir. Gelişmeye açık bir uygulama olduğu için en baştan sınıfları ve farklı dosyaları kullanmanız sizin faydanıza olur.
  • Uygulamanın bir başlığı ve simgesi olabilir.

Cok dogru bir nokta.Uyarılarınızı dikkate alacagım.Zaten pyqt ile yeni bir versiyonunu yazıyorum su anda.Bazı yeni ozellikler eklemeye calısmaktayım su anda.

Aslında bu olay yanlıslıkla oldu.Onceden lisans koymayayım dedim, sonra koymaya karar verince bir karısıklık yasadım ve klasorun icinde olusturdu lısansı:)

Bunu uygulamaya calısacagım.Tesekkurler

Dedigim gibi eger pyqt li versiyonunu cıkarabilirsem bu pyqt sınıflı bir ornek olacak,ama ne yazık kı miras alma vb olaylara girmek istemedim.Aslında girmek lazım ama,pyqt5 i daha bugun ogrendim(ogrenme de sayılmaz ama) ve tecrubesizim,bu yuzden sınıfları kullansam da inheritance kavramından yoksun kalacak bir anlamda galiba.

Bunu da bir dusuneyim.Ama benim proje digerlerine gore cok kiytırık bence.O yuzden bu olayı daha önce dusunmemistim.Ama siz bunu deyince azmim ikiye katlandi bir anlamda.

Son olarak onerileriniz icin gercekten cok tesekkurler

1 Beğeni

Konu hortlatmak gibi oldu pardon ama:

Yeni versiyonu PyQt5 ile yazıldı.Bakmak isteyenler bakabilir.

Eklenen ozellikler:

  • linenumber ozelligi eklendi.Ayrica imlecin bulundugu satır renklendirilerek hem kullanıcının gozune hitap etmesi,hem de kullanıcının isini daha da kolaylastırmak amaclandı.

  • Go to line babında sıkıntı vardı,giderildi.

  • Fare imleciyle TextEdit widgetinde secilen nesne kopyalanamıyordu,kesilemiyordu ve yapıstırılamıyordu,butun bunlar olsa bile cok sinirliydi imkanlar.Bu sorun giderildi.

Renklendirme su anda yapılmadı,ama regex kalıplarıyla yapmayı dusunuyorum.

Bu arada yeni ozellikler ekledigim zaman burada cevap olarak mı yazayım,susayım mı:)?

1 Beğeni

program-tanıtımları etiketini kullanıyorsunuz; güncellemeleri buradan paylaşabilirsiniz.

Daha kolay bir alternatif olarak pygments’i kullanabilirsiniz.

Pogrami indirdim denedim bazi moduller yok diye calismadi modulleri indiren bir install.py isminde dosya olursa guzel olur bu sekilde programi indirenler direk baska islemler yapmadan kullana bilir

requirements.txt adlı bir dosya içine pip modülleri alt alta da yazılabilir. Daha sonra bağımlılıklar şu komut ile kolayca kurulabilir:

$ pip install -r requirements.txt
1 Beğeni

evet bu sekiilde daha guzel olur

Mantıklı,bunu bir dusuneyim.Guzel fikir.Sagolun gercekten.Bu arada @ismailarilik hocam gereken ve guzel cevabı vermis.

Renklendirme yapıldı.Yani editorde yazdıgınız kodlar artik otomatik renklenecek.Ama herhangi bir sıkıntıda lutfen iletisime gecin.Kolay gelsin.Bu arada bir soru gibi olacak ama,c keywordslerinin,c datatypes larının tumunu guzel bir sekilde listeleyen bir sey atabilir misiniz?Bi zamanlar c++ baktım ama unuttum.Eger c keywordslerinin,c datatypeslarının tamamını bilebilirsem syntax Highlighting 'i daha guzel yapabilirim.(ben c_keywords.json aslı dosyada listeledim ama eksik bir seyler oldugunu dusunuyorum)

install.py diye bir dosya yapmadım,ama hala dusunusteyim:)

Aslında guzel bir alternatifmis,ama pyqt5 e ne kadar da ugrassam uyarlayamadım,onun yerine pyqt5 in kendisinde olan QSyntaxHighlighter ı kullandım.Belki sacma ama bu soru sıkıntı çıkarır mı?

Github pygments i birakti.Niye biraktigini anlayamadım ama,eger ben renklendirmeyi pygmentsle yapsaydım ve bu projeyi githubda yayımlasaydım sıkıntı olur muydu,olursa nasıl olurdu?

Kolay gelsin:)

QSyntaxHighlighter kodları renklendirmek için kolaylık sağlıyor ancak anladığım kadarıyla kuralları belirleyemiyor. Bu durumda tüm renklendirme kurallarını kendiniz belirlemeniz gerek. Pygments ile kuralları belirlemenize gerek yok; Pygments C ve daha birçok programlama dili için renklendirme yapabilir. Tabii Pygments’i QSyntaxHighlighter’a entegre etmek için biraz uğraşmanız gerekecek. Hazır çözümler bulabilirsiniz ancak kendiniz yapmak isterseniz uygun bir formatter yazmanız gerek. Bir örnek için şuraya bakabilirsiniz. Sonuç olarak ne kadar işi kendinizin yapacağı, ne kadarını hazır çözümlere bırakacağınız tamamen size kalmış. Öğrenmek istiyorsanız tamamını siz yapın, bir an önce bir program ortaya çıkarmak istiyorsanız hazır çözümleri kullanın.

GitHub’ın Pygments’i bırakmasıyla kastınız nedir? Eğer sitesindeki kodlardaki renklendirmeden bahsediyorsanız, benim bildiğim GitHub renklendirme işini kendi yapmıyor. CodeMirror ya da Ace gibi web editörlerini kullanıyor, renklendirmeyi de bu editörler yapıyor. Ki renklendirmeyi Pygments’le yapıp yapmaması sizin kodunuzu herhangi bir şekilde etkilemeyecektir.

O kadar bilmiyorum ama bilgi icin tesekkurler.Ama pygments i kurdugumuz zaman site-packages klasorundeki py dosyalarını acamıyorum,ama masaustu dizinine kopyaladıgımda rahatlıkla dosyayi acabiliyırum.Cok garip.Bilgi icin cok tesekkurler😊.

Yeni gelen ozellikler(biraz eksik kalacak ama):

  • keywords ve veri tiplerinin ne renk olacagını seçebilirsiniz.
  • Tema seçilebilir.
  • Programlama dili secme,gelistirme aşamasında (tam degil,cunku daha diger dillerin renklendirmesi yapılmadı,keywordslerini ve boyayıcısını yazmam lazım.)
  • Tab sorunu halloldu.
  • Tab uzunlugu ayarlanabilir.

Hata veya bug bulduysanız lutfen benle iletişime geçin.

Kolay gelsin :slight_smile:

Edit: java çalişmaz, seçeneklerde gorundugune bakmayın.

1 Beğeni