[EMAIL PROTECTED] (Cafer Şimşek) writes:
> Emacs ile daha çok Java kodu yazdığımdan sıklıkla ihtiyaç duyduğum bir
> özelliği (getter/setter'ların otomatik eklenmesi) basit bir elisp
> fonksiyonu şeklinde buldum[1]. Ancak bu haliyle beni tatmin etmedi
> açıkçası. Her değişken için ayrı ayrı girmek zor geldi. (e)lisp bilgim
> olmadığı için aynı işi istediğim gibi yapan bir Perl betiği
> yazdım[2]. Ancak bunu Emacs içinden kullanabilmem için bir yöntem olup
> olmadığını merak ediyorum. En basitinden aktif buffer'ı alıp yazdığım
> betiğe standart girdiden gönderip, betik çıktısını da etkin
> buffer'daki içerik ile değiştirebilecek bir elisp fonksiyonuna
> ihitiyacım var.

Bunun için şu işi yapan ufak bir fonksiyon yazabilirsiniz:

  WRITE-FILE ile dosyayı[1] geçici bir yere kaydettikten sonra,
  SHELL-COMMAND fonksiyonunu kullanarak[2],
  "/path/to/make-getter-setter.pl <FILE>" komutunu çağırırsınız.

[1] Dosya/Buffer adını öğrenmek için BUFFER-NAME ve BUFFER-FILE-NAME
    fonksiyonlarına göz atabilirsiniz.
[2] SHELL-COMMAND'ın ikinci argümanı olan OUTPUT-BUFFER seçeneğine t
    değeri girerek, programın çalışması esnasında ürettiği çıktıyı şu
    an bulunduğunuz imleç konumuna yazdırmasını sağlayabilirsiniz.

Ama benim daha güzel bir önerim var. Siz bize kullandığınız Perl
düzenli ifadelerinin Emacs'te çalışanlarını yollayın (Bunun için
replace-regexp ile deneme yanılma yaparak işe başlayabilirsiniz.), biz
de programınızın emacs lisp ile yazılmışını size gönderelim.

Ek olarak, programdaki trim fonksiyonuna gerek yok sanırım. Aynı işi
if ($line =~ ...) satırında da halledebilirsiniz.


İyi çalışmalar.

_______________________________________________
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap