2011-12-09 37 views
2

クリック可能なテキストをemacsのミニバッファに入れるには?emacsのクリック可能なテキストミニバッファ

たとえば、このコードでは、テキストバッファ内でクリック可能なテキストが作成され、問題なく動作します。

(let ((map (make-sparse-keymap))) 
    (define-key map (kbd "<down-mouse-1>") 
      '(lambda() (interactive) (message-box "it works!"))) 
    (add-text-properties 1 5 `(keymap, map 
           mouse-face highlight))) 

しかし、ミニバッファのための同様のコードは、テキストが、これらの特性なしでミニバッファに入れてその結果を正しく

 [...] 
    (with-current-buffer (window-buffer (minibuffer-window)) 
     (message "link") 
     (add-text-properties (point-at-bol) (point-at-eol) 
          `(keymap, map 
           mouse-face highlight)))) 

動作しません。 は私もpropertizeが、結果は同じです(試してみました。

 [...] 
    (message (propertize "link" 
          'mouse-face 'highlight 
          'keymap map))) 

これで間違っているのですか?

おかげ

答えて

2
  1. messageはエコー領域ではなく、ミニバッファに書き込みます。

  2. ミニバッファはアクティブではありません。messageの代わりにinsertを使用しても、nそこのテキストを見てください。

あなたは実際に何をしようとしていますか?そのような特化されたテキストをミニバッファに挿入するコンテキストは何ですか?ミニバッファは、例えば入力が読み取られているときにアクティブである。テキストが読み込まれ、テキストがアクティブなときにそこにテキストを挿入することができます。

+0

私は、ミニバッファコンテキスト - (with-current-buffer(window-buffer(minibuffer-window)[...]) 'の中でプロパティテキストを使用します。だから私は 'message'の代わりに' insert'を使ってみようとしました。ミニバッファでクリック可能なテキストを表示しています。これは私が必要とするものです。ありがとうございました。 – Taras

関連する問題