5

helmのドロップイン代替品として使用したいと思いdisplay-completion-listます。唯一の問題は、この行が一番上に表示されることです。これは望ましくありません。

C-z: I don't want this line here (keeping session).

説明するコードは次のとおりです。

(helm :sources `((name . "Do you have?")
                 (candidates . ("Red Leicester"
                                "Tilsit"
                                "Caerphilly"
                                "Bel Paese"
                                "Red Windsor"
                                "Stilton"))
                 (action . identity)
                 (persistent-help . "I don't want this line here"))
      :buffer "*cheese shop*")

nil に設定persistent-helpするか、まったく設定しないようにしましたが、それでも表示されます。どうすればオフにできますか?

4

1 に答える 1

7

この属性helm-persistent-help-stringはライブラリに付属していますhelm-plugin。ロードしないと、ヘルプ文字列が表示されません。helm-plugin何らかの理由でロードする必要がある場合は、helm-persistent-help-string後で次の方法で機能を無効にすることができます。

(defadvice helm-persistent-help-string (around avoid-help-message activate)
  "Avoid help message"
  )

灰色のヘッダー行を完全に削除したい場合は、次のようにします。

(defadvice helm-display-mode-line (after undisplay-header activate)
  (setq header-line-format nil))

あなたとグローバルdefadviceの動作を変更します。コマンドの実行のために一時的helmに変更したい場合は、次を使用できます。helm-display-mode-linehelm

(defmacro save-function (func &rest body)
  "Save the definition of func in symbol ad-func and execute body like `progn'
Afterwards the old definition of func is restored."
  `(let ((ad-func (if (autoloadp (symbol-function ',func)) (autoload-do-load (symbol-function ',func)) (symbol-function ',func))))
     (unwind-protect
     (progn
       ,@body
       )
       (fset ',func ad-func)
       )))

(save-function helm-display-mode-line
           (fset 'helm-display-mode-line '(lambda (source)
                        (apply ad-func (list source))
                        (setq header-line-format nil)))
           (helm :sources `((name . "Do you have?")
                (candidates . ("Red Leicester"
                           "Tilsit"
                           "Caerphilly"
                           "Bel Paese"
                           "Red Windsor"
                           "Stilton"))
                (action . identity)
                (persistent-help . "I don't want this line here"))
             :buffer "*cheese shop*"))

(注意してください、そのようなものcl-fletはこのようには機能しません。)

于 2013-11-13T13:19:52.437 に答える