home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / util / jade-3.0.lha / Jade / lisp / prompt.jlc < prev    next >
Encoding:
Text File  |  1994-04-20  |  4.4 KB  |  43 lines

  1.  
  2. (setq prompt-keymap (make-keylist) prompt-esc-keymap (make-keylist) prompt-buffer-list nil)
  3.  
  4. (bind-keys prompt-keymap "esc" (quote (setq next-keymap-path (quote (prompt-esc-keymap esc-keymap)))) "tab" (quote prompt-complete-word) "return" (quote prompt-enter-line) "ctrl-g" (quote (throw (quote prompt) nil)))
  5.  
  6. (bind-keys prompt-esc-keymap "?" (quote prompt-print-word-completions))
  7.  
  8. (defun prompt2 (prompt-comp-func &optional prompt-title prompt-start word-regexps) 55102 (lisp-code "DI0I1I2I3ü€—L MF$û€†\tF H‡KF&‡HˆJ\nH±‰ü€Å‰ŠS&‹‰ŒSF&û€ÎŽ&‹F&Hqü€Ý‘\tû€â‘’\tH“H”qü€ù•I²–” û€þ‘—\tH‘˜\tH™F\"Hš›œ\t\t\tHžF&ŸH ¡sF!H¢‡\nF&‡H£\tþÀ¤¥\t\nF#G±HH¦\tHKF$HE" [prompt-buffer prompt-line-pos prompt-completions-pos result prompt-buffer-list make-buffer "*prompt*" buffer-list set-buffer-special word-regexps 0 word-regexp 1 word-not-regexp "." "^|$" prompt-title insert "Enter string:" split-line prompt-start format "\n%s\n\n" "\n\n\n" "::Completions::\n" cursor-pos goto line-end prev-line 3 (prompt-keymap global-keymap) keymap-path (lisp-code "" [recursive-edit] 1) (quote prompt) delq posp copy-area line-start clear-buffer] 5))
  9.  
  10. (defun prompt-enter-line nil (lisp-code "dü€û€t" [prompt cursor-pos prompt-completions-pos line-end] 3))
  11.  
  12. (defun prompt-complete-word nil (lisp-code "DI0I1I2I3\tÿ€“†!‡ˆ\n ‰Š\n\"TF#H‹bü€ÄŒHŽ\nH‘\tû’bü€ç“”L \tHŽ\nH•\tûJüŒŒH–\tH“”—\n \tH˜J™ ûIE" [word word-pos comp-list num-found word-start left-char line-start copy-area cursor-pos funcall prompt-comp-func 0 beep delete-area prompt-completions-pos file-end title "No completions." 1 goto replace-string "Unique completion." prompt-print-completions make-completion-string format "%d completions."] 6))
  13.  
  14. (defun prompt-print-completions (comp-list &optional insert-pos) (lisp-code "D\t2\nH†\nH‡nþ€®ˆI²K‰‡L H‡MF&‡Hû€‘E" [dup-pos prompt-completions-pos ipos delete-area file-end insert "\n" comp-list format "%s\n"] 4))
  15.  
  16. (defun prompt-print-word-completions nil (lisp-code "\tÿ€Ž†‡\n\n\t" [prompt-print-completions funcall prompt-comp-func copy-area word-start left-char line-start cursor-pos] 6))
  17.  
  18. (defun prompt-complete-symbol (word) (lisp-code "\n\t\n" [mapcar symbol-name apropos concat 94 word] 6))
  19.  
  20. (defun prompt-complete-function (word) (lisp-code "\n†\n\n" [mapcar symbol-name apropos concat 94 word fboundp] 6))
  21.  
  22. (defun prompt-complete-variable (word) (lisp-code "\n†\n\n" [mapcar symbol-name apropos concat 94 word boundp] 6))
  23.  
  24. (defun prompt-complete-buffer (word) (lisp-code "\n\n" [delete-if-not (lambda (b) (lisp-code "\n" [string-head-eq b word] 3)) mapcar buffer-name buffer-list] 5))
  25.  
  26. (defun prompt-complete-filename (word) (lisp-code "D\t2\t4\t6†‡ˆ‰Š†\n\nE" [path-name word path base-name file directory-files files mapcar (lambda (x &aux y) (lisp-code "\nF$\tþ€‘\nF$H" [file-directory-p concat path x y 47] 4)) delete-if-not (lambda (f) (lisp-code "\n" [string-head-eq f file] 3))] 5))
  27.  
  28. (defun prompt-for-file (&optional prompt start-name) (lisp-code "qÿ€ˆF H " [prompt "Enter filename:" prompt2 prompt-complete-filename start-name] 4))
  29.  
  30. (defun prompt-for-buffer (&optional prompt start) (lisp-code "³þ€Š\tF Hqÿ€“F\"H " [start buffer-name prompt "Enter buffer name:" prompt2 prompt-complete-buffer] 4))
  31.  
  32. (defun prompt-for-symbol (&optional prompt start) (lisp-code "yþ€ˆl]þ€\tF Hqÿ€™F\"H†‡ \t" [start symbol-name prompt "Enter name of symbol:" intern prompt2 prompt-complete-symbol symbol-word-regexps] 6))
  33.  
  34. (defun lisp-prompt (prompt &optional start) (lisp-code " " [prompt2 prompt-complete-symbol prompt start symbol-word-regexps] 5))
  35.  
  36. (defun prompt-for-function (&optional prompt start) (lisp-code "yþ€ˆl]þ€\tF Hqÿ€™F\"H†‡ \t" [start symbol-name prompt "Enter name of function:" intern prompt2 prompt-complete-function symbol-word-regexps] 6))
  37.  
  38. (defun prompt-for-variable (&optional prompt start) (lisp-code "yþ€ˆl]þ€\tF Hqÿ€™F\"H†‡ \t" [start symbol-name prompt "Enter name of variable:" intern prompt2 prompt-complete-variable symbol-word-regexps] 6))
  39.  
  40. (defun prompt-complete-from-list (word) (lisp-code "DI12þ€ L\nþ€—LKF!HMF\"Hû€…HE" [prompt-list dst src string-head-eq word] 3))
  41.  
  42. (defun prompt-from-list (prompt-list prompt &optional start) (lisp-code " " [prompt2 prompt-complete-from-list prompt start] 4))
  43.