<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="ja-JP">
	<channel rdf:about="http://shakenbu.org/yanagi/d/index.rdf">
	<title>活動日誌</title>
	<link>http://shakenbu.org/yanagi/d/</link>
	<description></description>
	<dc:creator>Kouhei Yanagita</dc:creator>
	<dc:rights>Copyright 2022 Kouhei Yanagita, copyright of comments by respective authors</dc:rights>
	<items><rdf:Seq>
<rdf:li rdf:resource="http://shakenbu.org/yanagi/d/20220530.html#p01"/>
</rdf:Seq></items>
</channel>
<item rdf:about="http://shakenbu.org/yanagi/d/20220530.html#p01">
<link>http://shakenbu.org/yanagi/d/20220530.html#p01</link>
<dc:date>2022-05-30T10:23:01+09:00</dc:date>
<title>consult-buffer + recentf のプレビューで、特定ファイルのみ自動プレビューしない</title>
<dc:creator>Kouhei Yanagita</dc:creator>
<dc:subject>Emacs</dc:subject>
<description>consult-bufferではrecentfと組み合わせることで 「最近開いたファイル」を補完対象とすることができますが、このときこのファイルにカーソルを合わせると 自動プレビューがなされます。 これは便利なのですが、EasyPGを使って*.gpgファイルを開いていると、gpgファイルにカーソルが合わさった瞬間にパスフレーズ入力が要求され、操作を阻害されてしまいます。 gpgファイルは自動プレビュー対象としないようにするにはどうしたらよいか調べていたのですが、 以下のようにすることで解決できました。 (defun my/consult-preview-exclude-by-file-name (orig-fun name)   (let ((excluded (and name                        (string-match-p &quot;\.gpg$&quot;                                        (abbreviate-file-name (expand-file-name name))))))     (if exclude..</description>
<content:encoded><![CDATA[<h3>consult-buffer + recentf のプレビューで、特定ファイルのみ自動プレビューしない</h3><p><a href="https://github.com/minad/consult#virtual-buffers">consult-buffer</a>ではrecentfと組み合わせることで
「最近開いたファイル」を補完対象とすることができますが、このときこのファイルにカーソルを合わせると
自動プレビューがなされます。</p>
<p>これは便利なのですが、<a href="http://epg.osdn.jp/">EasyPG</a>を使って*.gpgファイルを開いていると、gpgファイルにカーソルが合わさった瞬間にパスフレーズ入力が要求され、操作を阻害されてしまいます。</p>
<p>gpgファイルは自動プレビュー対象としないようにするにはどうしたらよいか調べていたのですが、
以下のようにすることで解決できました。</p>
<pre>(defun my/consult-preview-exclude-by-file-name (orig-fun name)
  (let ((excluded (and name
                       (string-match-p "\.gpg$"
                                       (abbreviate-file-name (expand-file-name name))))))
    (if excluded
        (progn
          (message "not previewed")
          nil)
      (apply orig-fun (list name)))))

(advice-add 'consult--find-file-temporarily :around #'my/consult-preview-exclude-by-file-name)</pre>
<p>consult-preview-max-sizeの設定で自動プレビュー可否の判定がされることはわかっていたので、
同じように処理をするにはどうしたらよいかと考えた結果、adviceでconsult--find-file-temporarilyをスキップすればよさそう
というところに行きつきました。</p>
<p><a href="http://shakenbu.org/yanagi/d/20220530.html#c">ツッコミを入れる</a></p>]]></content:encoded>
</item>
</rdf:RDF>
