I am currently an ivy user, trying out vertico + consult.
For ivy I am using the following
(defun rit-check-buffer-mode (str mode)
"Check whether the buffer's major mode is `mode'."
(let ((buf (get-buffer str)))
(and buf (eq (buffer-local-value 'major-mode buf) mode))))
(defun rit-ivy-switch-buffer (ignore-list)
(let ((ivy-ignore-buffers ignore-list))
(ivy-switch-buffer)))
(defun rit-ivy-buffer-switch-file ()
"Switch to any non-dired and non-virtual buffer."
(interactive)
(rit-ivy-switch-buffer '((lambda (str)
(or
(string-match-p "^ " str)
(string-match-p "^\\*" str)
(rit-check-buffer-mode str 'dired-mode))))))
How to achieve the same in vertico + consult?