diff options
Diffstat (limited to 'dot_emacs.d/local/dictem/dictem-elisp.el')
-rw-r--r-- | dot_emacs.d/local/dictem/dictem-elisp.el | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/dot_emacs.d/local/dictem/dictem-elisp.el b/dot_emacs.d/local/dictem/dictem-elisp.el deleted file mode 100644 index 7ee6cbc..0000000 --- a/dot_emacs.d/local/dictem/dictem-elisp.el +++ /dev/null @@ -1,102 +0,0 @@ -(require 'dictem) - -(defun dictem-elisp-variable-documentation (func) - (let* ((help-buffer "*Help*") - (temp-buffer-show-function (lambda (b) ())) - ) - (if (boundp func) - (save-excursion - (describe-variable func) - (set-buffer help-buffer) - (prog1 - (buffer-substring (point-min) (point-max)) - (kill-this-buffer help-buffer)) - ) - nil))) - -(defun dictem-elisp-function-documentation (func) - (let* ((help-buffer "*Help*") - (temp-buffer-show-function (lambda (b) ())) - ) - (if (functionp func) - (save-excursion - (describe-function func) - (set-buffer help-buffer) - (prog1 - (buffer-substring (point-min) (point-max)) - (kill-this-buffer)) - ) - nil))) - -(defun dictem-elisp-DEFINE (query) - (let ((sym (intern-soft query)) - (doc nil)) -; (ret (if (and sym (functionp sym)) -; (documentation sym) -; nil))) - (cond ((null sym) - (dictem-make-error - 20 (format "SYmbol '%s is not defined" query))) - ((functionp sym) - (setq doc (dictem-elisp-function-documentation sym)) - (if doc doc - (dictem-make-error - 20 (format "'%s is not documented as a function" query)))) - (t - (setq doc (dictem-elisp-function-documentation sym)) - (if doc doc - (dictem-make-error - 20 (format "'%s is documented as neither function not variable" query))) - )))) -; (documentation sym)) -; (t (dictem-make-error -; 20 (format "There is no function '%s" query)))))) - -(defun dictem-string-match-prefix (pattern string) - (eq 0 (string-match (regexp-quote pattern) string))) -(defun dictem-string-match-substring (pattern string) - (string-match (regexp-quote pattern) string)) -(defun dictem-string-match-suffix (pattern string) - (string-match (regexp-quote pattern) string) - (= (length string) (match-end 0))) -(defun dictem-string-match-word (pattern string) - (string-match (concat "\\b\\(" (regexp-quote pattern) "\\)\\b") - string)) - -(defun dictem-elisp-MATCH-UNI (query fun) - (let ((i 0) - (l nil) -; (re (regexp-quote query)) - (item nil)) - (while (< i (length obarray)) - (progn - (setq item (symbol-name (elt obarray i))) - (if (funcall fun (regexp-quote query) item) - (setq l (cons item l))) - (setq i (+ i 1)))) - l)) - -(defun dictem-elisp-MATCH (query strategy) - (let ((l (dictem-elisp-MATCH-UNI - query - (cond ((string= strategy "exact") - (symbol-function 'string=)) - ((string= strategy "word") - (symbol-function 'dictem-string-match-word)) - ((string= strategy "prefix") - (symbol-function 'dictem-string-match-prefix)) - ((string= strategy "suffix") - (symbol-function 'dictem-string-match-suffix)) - ((string= strategy "substring") - (symbol-function 'dictem-string-match-substring)))))) - (if l l - (dictem-make-error - 20 (format "No matches for %s/%s" query strategy))))) - -;(dictem-elisp-MATCH "at" "word") -;(dictem-elisp-MATCH "file" "suffix") -;(dictem-elisp-MATCH "dictem" "prefix") -;(dictem-elisp-MATCH "s-s" "substring") -;(dictem-elisp-MATCH "pike" "substring") - -(provide 'dictem-elisp) |