Override default straight recipe for vertico to expose extensions as
packages.
Also create hacky vertico-directory-mode to easily toggle
vertico-directory features on and off.
vertico-directory-mode is then used by a projectile advice to
temporarily disable vertico-directory features while completing results
from projectile. This is required to avoid breaking the
projectile-switch-project and related commands, as the project list is
not a set of files, but vertico-directory-enter thinks it is.
Trackpad momentum can often lead to emacs trying to resize font size by
thousands of points. Hence let's disable it, as font size changes are
easy enough via C-x C-- and C-x C-=.
Rails projects uses a "tmp" directory for asset compilation, which can
lead to thousands of olders, which lsp-mode will try to monitor, and
warns that you're about to monitor +1000 directories.
Hence, ignore "tmp" directories, as there shouldn't be any code in there
that needs a language server.
I finally resolved the lsp-mode bug I had whenever I tried vertico in
the past. It was due to me setting resize-mini-windows instead of
vertico-resize.
This serves as a alternative to the code-review package. I'm adding it
mostly for testing purposes so I can compare the two and see the
pros/cons with each.
When deleting a file in Dired, it has recently started prompting about
removing the dired buffer along with file buffer. This is rather
annoying, as I almost never want to close the dired instance I have open
when simply deleting a file from a folder.
So I've overridden the relevant function, and added an option
specifically to enable/disable the prompt about removing the dired
buffer.
Relying on file notifications to detect changes on disk and auto-revert
buffers seems unreliable on macOS, so let's disable the use of file
notifications, and let auto-revert-mode use polling instead.
Turns out running (magit-delta-mode -1) to "disable" or ensure it's
disabled as a magit-mode-hook was a bad idea, as it set
magit-diff-refine-hunk to nil.
So instead, we only call magit-delta-mode when siren-magit-delta-enabled
is not nil, and the delta executable is available.
Use consult-lsp-file-symbols if available and lsp-mode is enabled in
current buffer. Otherwise fall back to consult-imenu. Also fall back on
consult-lsp-file-symbols if it produces an error, which seems to happen
for some language servers right now.
Disabled by default, as the syntax highlighting can make code harder to
read in the diff. Hence disabled by default, and easy to toggle on if I
want to try it.
- Bind consult-lsp-diagnostics to C-c C-\ as it is visually less
intrusive, and scoped to only the current workspace.
- Bind helm-lsp-diagnostics to C-c \ which includes diagnostics from all
active workspaces.
Because dired+ must be loaded before the dired creates a buffer, we have
to actually manually require dired+ when loading dired. Otherwise the
first dired buffer within a fresh Emacs instance will have dired+
features, but any further buffers will.
Also we can now remove a workaround for dired+ with Emacs 28 that
prevented files/folders from being deleted with dired.