1

helm-imenuどのバリアントを使用するかを抽象化する関数を作成しようとしました。

(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))))

ただし、Org モード以外のバッファで使用すると、引数が 1 つ必要であると言って失敗します。

確かに、helm-semantic-or-imenuが必要argです。

どうやって渡せばいいですか?

なぜそれはM-x helm-semantic-or-imenu: で動作するのですか? 引数はどこにありますか?

4

1 に答える 1

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))))

少なくとも、それは機能します!

于 2016-06-25T09:06:38.993 に答える