2016-06-24 4 views
1
내가 helm-imenu 변형이 사용하는 추상적 인에 대한 기능을 작성하려고

:이맥스 추상적 인 기능에 arg를 전달하는 방법을

(defun my/helm-menu() 
    "For Org mode buffers, show Org headlines. 
For programming mode buffers, show functions, variables, etc." 
    (interactive) 
    (cond ((derived-mode-p 'org-mode) 
      (helm-org-in-buffer-headings)) 
     (t 
      (helm-semantic-or-imenu)))) 

비록이 아닌 조직 모드 버퍼를 사용하는 경우, 그것을 말하는 실패 하나의 논쟁이 필요하다.

실제로 helm-semantic-or-imenuarg이 필요합니다.

어떻게해야합니까?

그 이유는 무엇입니까 M-x helm-semantic-or-imenu : 인수는 어디에 있습니까? 조언 드류의 조각에 따라

+0

http://emacs.stackexchange.com – rsenna

+0

에서 질문해야합니다. emacs.stackexchange.com에서 질문 할 필요가 없습니다. 여기에서 물어볼 수 있습니다. – Drew

+0

'C-h f helm-semantic-or-imenu'를 사용하여 인수가 무엇인지 찾으십시오. 거기에있는 링크를 클릭하여 소스 정의로 이동하여 인수가 무엇이며 어떻게 수신되는지 확인하십시오. 이 함수가 명령이면'interactive' 스펙을 검사하여 arg가 어디서 왔는지 확인하십시오. 그런 다음 그 함수를 호출 할 때 같은 종류의 arg를 전달하십시오. – Drew

답변

0

이 그것을 수행해야합니다

(defun my/helm-menu (arg) 
    "For Org mode buffers, show Org headlines. 
For programming mode buffers, show functions, variables, etc." 
    (interactive "P") 
    (cond ((derived-mode-p 'org-mode) 
      (helm-org-in-buffer-headings)) 
     (t 
      (helm-semantic-or-imenu arg)))) 

이 적어도, 작동!

관련 문제