Emre Agabey'in sitemi uzerine :) Emacs'de uzun zamandir isleri onem sirasina gore listeleyebilecek bir `yapilacak isler' eklentisi bulamayinca dun gece hizli ve kirli soyle bir cozum uydurdum.
Can Burak Cilingir'in de hos fikirleri var, ekler umarim :)
Merge-sort algoritmasindaki pek sevdigim ama verimli olmayan split
yontemine dikkat! Listelere vector muamelesi yapmak istemedim,
uzunlukla isim olmadigi icin boyle olsun dedim.
Kullanim:
0. Kendi yapilacak islerinizi lsp uzantili bir dosyada liste halinde
yazin. Uzanti renklendirmeyi etkiler, rahat edersiniz.
1. vst-todo.el dosyasinin ilk satirini duzeltin.
2. "M-x :" ve ardindan (load "vst-todo.el dosyasinin yolu")
3. "M-x" ve ardindan run-vst-todo
Isimlendirmedeki `vst' ibaresini degistirseniz hic uzulmem,
sevinirim. Sadece isim uzayini kirletmemek icin koyuyorum vst'leri.
todo-grade fonksiyonu en islek kisim. Oyle degistiriniz ki sizin icin
nasil bir siralama gerektigine kendinizce karar verin.
Mesela ben dedim ki:
(defun todo-grade (td)
(*
; zaman bugune ne kadar yakinsa o kadar onemli
; ama scale abartili oldugu icin bir normalizasyon
; uygulamak gerekiyor. Ben simdilik vazgectim.
;(convert-iso-8601-to-timestamp (car td))
; onem derecesi yuksekse yukarilarda ciksin. Tanimlanamayan
; bayraklar onemli olabilir, o yuzden 10la carp.
(cond
((equal (cadr td) "high") 3)
((equal (cadr td) "mid") 2)
((equal (cadr td) "low") 1)
(t 10))
; tamamlanmasi gerek zaman vadesine gore derecelendir.
(cond
((equal (caddr td) "short") 3)
((equal (caddr td) "mid") 2)
((equal (caddr td) "long") 1)
(t 10))
; baslayan isler hemen bite, bitmislerden bize ne!
(cond
((equal (cadddr td) "started") 3)
((equal (cadddr td) "waiting") 2)
((equal (cadddr td) "completed") 0)
(t 10))))
Mailboxlar dolsun!
Saygilar, Sevgiler,
Sinan
sample-input-file.lsp
Description: Binary data
vst-todo.el
Description: application/emacs-lisp
_______________________________________________ cs-lisp mailing list [email protected] http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

