Changeset 8674 for lang/elisp

Show
Ignore:
Timestamp:
04/02/08 21:45:43 (8 months ago)
Author:
imakado
Message:

lang/elisp/anything-c-yasnippet/anything-c-yasnippet.el:
カスタマイズ可能な変数 `anything-c-yas-display-key-on-candidate'を追加
non-nilで補完候補表示の際に先頭にkey(snippetのファイル名)も含めるようになる。

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/elisp/anything-c-yasnippet/anything-c-yasnippet.el

    r8612 r8674  
    22 
    33;; Author: Kenji.I (Kenji Imakado) <ken.imakaado@gmail.com> 
    4 ;; Version: 0.3 
     4;; Version: 0.4 
    55;; Keywords: anything yasnippet 
    66 
     
    7272 
    7373;;; Code 
    74 (defvar anything-c-yas-version "0.3" "Version of anything-c-yasnippet") 
     74(defvar anything-c-yas-version "0.4" "Version of anything-c-yasnippet") 
    7575 
    7676(defgroup anything-c-yasnippet nil 
     
    8787  :group 'anything-c-yasnippet) 
    8888 
    89 ;(defvar anything-c-yas-snippets-dir-list nil) ;;customizable list of path(string) for finding snippet file in Action 
    9089(defcustom anything-c-yas-snippets-dir-list nil 
    9190  "list of directory used to find snippet file" 
     
    10099quite convenience 
    101100Default: nil" 
     101  :type 'boolean 
     102  :group 'anything-c-yasnippet) 
     103 
     104(defcustom anything-c-yas-display-key-on-candidate nil 
     105  "if non-nil anything display candidate(snippet name) include key 
     106ex. [for] for (...) { ... } 
     107otherwise display just name 
     108ex. for (...) { ... }" 
    102109  :type 'boolean 
    103110  :group 'anything-c-yasnippet) 
     
    206213  "Return list of dotlist, (DISPLAY . REAL) DISPLAY is name of snippet, REAL is template of snippet" 
    207214  (let ((transformed-list (assoc-default 'transformed alist 'eq))) 
    208     (setq transformed-list (remove-if-not (lambda (lst) 
    209                                             (string-match (concat "^" (regexp-quote initial-input)) (car lst))) 
    210                                           transformed-list)) 
     215    (cond 
     216     ;; display key on candidate ex: [for] for (...) { ... } 
     217     (anything-c-yas-display-key-on-candidate 
     218      (setq transformed-list (remove-if-not (lambda (lst) 
     219                                              (string-match (concat "^" (regexp-quote initial-input)) (car lst))) 
     220                                            transformed-list)) 
     221      (setq transformed-list (loop for dotlst in transformed-list 
     222                                   for name = (car dotlst) 
     223                                   for template = (cdr dotlst) 
     224                                   for key = (anything-c-yas-get-key-by-template template alist) 
     225                                   for name-inc-key = (concat "[" key "] " name) 
     226                                   collect `(,name-inc-key . ,template)))) 
     227     ;; default ex: for (...) { ... } 
     228     (t 
     229      (setq transformed-list (remove-if-not (lambda (lst) 
     230                                              (string-match (concat "^" (regexp-quote initial-input)) (car lst))) 
     231                                            transformed-list)))) 
    211232    (when anything-c-yas-not-display-dups 
    212233      (setq transformed-list (delete-dups transformed-list))) 
     
    275296                  (anything-c-yas-initial-input anything-c-yas-point-start anything-c-yas-point-end) (anything-c-yas-get-cmp-context)) ;return values(str point point) 
    276297              (setq anything-c-yas-cur-snippets-alist (anything-c-yas-build-cur-snippets-alist)))) 
    277 ;;     (candidates . (lambda () 
    278 ;;                     (anything-c-yas-get-candidates anything-c-yas-cur-snippets-alist))) 
    279298    (candidates . (anything-c-yas-get-candidates anything-c-yas-cur-snippets-alist)) 
    280299    (candidate-transformer . (lambda (candidates)