2010-03-04 3 views
12

(interactive) elisp 함수에 내 자신의 완성을 추가 할 수있는 방법이 있습니까? 이상적으로는 탭으로 완성 할 문자열 목록을 전달하고 싶습니다. (interactive "D"), (interactive "F") 또는 (interactive "b")을 사용하면 각각 디렉토리, 파일 및 버퍼 이름을 완성한다는 것을 알고 있지만 더 일반적인 입력은 무엇입니까?Completion to (interactive)

답변

24

interactive의 인수는 문자열 일 필요는 없습니다. 그렇지 않은 경우 함수에 전달할 인수 목록을 얻는 것으로 평가됩니다. 지금은 예를 본 적이 있다고

(defun insert-foo-bar-or-baz (arg) 
    (interactive 
    (list 
    (completing-read "Choose one: " '("foo" "bar" "baz")))) 
    (insert arg)) 
+0

/마른 세수, interactive' 완벽 의미가 있습니다'에 대한'M-X apropos' 항목이 주석 : 따라서, 당신은 이런 식으로 뭔가를 할 수 있습니다. – Inaimathi