counsel-rg はとても便利なので、月に1,2度使うのだが、rg が return 2 を返すと counsel の一覧が消えてしまう。
man rg をすると return 2 が返るのは例えばファイルを読む権限がなかったときとかのようだ。
でも、そんなの気にせずに検索結果を見たいのだ。
ま、上記の通りだが、after! ってなんだ?
ともかく
(with-eval-after-load 'counsel
(advice-add 'counsel-rg
:around
(lambda (func &rest args)
(cl-flet ((filter-func (code) (if (= code 2) 0 code)))
(unwind-protect
(progn (advice-add 'process-exit-status :filter-return #'filter-func)
(apply func args))
(advice-remove 'process-exit-status #'filter-func))))))
を use-package counsel のあとでやってやれば解決。 2 のときに 0 を返してくれるので、一覧は消えない。
after! がなにかわからなかったが、これは doomemacs の人はどっかで定義されててつかえる function なんだろうか?