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.
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.
Further tweaks to helm appearance, now simply take up the full frame
with it's completion UI. When follow mode is enabled, have preview
appear in bottom half of the window.
This reverts helm back to not using posframe, as it is kind of glitchy
and a bit slow. Helm has a built-in posframe like thing, but it doesn't
work quite the way I want, so I might try and sort that out at some
point.
When lsp-mode is enabled, use consult-lsp-file-symbols instead of
consult-imenu, as it yields a more structured list and nicer formatted
symbol results. The result list is identical as lsp-mode updates imenu
with all file symbols, but via imenu they're just not rendered as
nicely.
This is useful for annotating completion-read buffer results which all
belong to a single project, as it removes the project root from the
file path field, showing a relative path to each buffer's file from the
project root.
Use the makefile-executor package instead of helm-make to execute make
targets. But we still rely on helm-make due to it's more efficient
available targets lookup function compared to that of makefile-executor.
Running make targets is bound to C-c C-m now which is nice and fast, and
completes via completing-read, which is currently giving a better
suggested candidates via selectrum+orderless than helm-make does.
And helm-make is still available via the old C-c h m keybinding.
This prevents larger files from causing latency and lag, especially
large YAML files, like generate Kubernetes menifests.
This fix here simply does not enable highlighting indentation levels if
the file is above 100KB in size. In my experience it's rare a file meant
to be manually edited by a human is above 100KB in size.
Personally I find orderless is giving me better results than prescient
when fuzzy/flex matching is enabled. Hence the switch to orderless.
I also split the modules apart to ensure, that selectrum, vertico,
prescient and orderless can be mixed and matched however and work
correctly.
And the switch from to vertico from selectrum is mostly cause I like
it's wraparound/cycle feature, where end/beginning of the candidate list
will wrap around.