Commit Graph

652 Commits

Author SHA1 Message Date
0ac1c86102 feat(lang/go): add custom lsp-client for golangci-lint-langserver 2021-11-26 21:20:01 +00:00
ec280fbade chore(projects/projectile): remove no longer needed root file config 2021-11-10 10:33:23 +00:00
ab001eeb0e fix(version-control/magit): when disabled delta still caused issues
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.
2021-11-10 10:28:00 +00:00
1f7d739193 feat(navigation/imenu): improve C-t imenu keybinding
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.
2021-10-28 11:04:24 +01:00
ea97b5528a chore(version-control/diff-hl): minor tweaks and cleanup 2021-10-24 04:05:32 +01:00
09c27ab0a7 fix(projects): unbind M-l from treemacs as it interfered with a global keybinding 2021-10-24 04:03:52 +01:00
3a8dc7944f chore(navigation/helm): set sources which default to using follow 2021-10-24 04:03:12 +01:00
31078e618f chore(navigation/helm): attempt to get posframe working perfectly again
Only outstanding issue is that some helm-completions when follow mode is
enabled do not show the followed file content in the posframe.
2021-10-24 03:59:10 +01:00
67a0c99e52 chore(lsp): tweak lsp-related keybindings again 2021-10-24 03:58:33 +01:00
6daac868e2 fix(lang/dockerfile): add custom hadolint flycheck checker which actually works 2021-10-24 03:56:51 +01:00
1dbb5631f6 feat(version-control/magit): add magit-delta package
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.
2021-10-24 03:55:52 +01:00
205af0097a feat(workspaces/tab-bar): hide tab-bar
I prefer my custom echo area message which appears whenever any tab-bar
operations are performed, as they don't take up permanent space on the
screen.
2021-10-24 03:52:15 +01:00
11099af502 feat(navigation/helm): add helm-xref package 2021-10-24 03:51:56 +01:00
01bd757c15 fix(lang): gitconfig-mode and gitignore-mode have been replaced with git-modes 2021-10-24 03:50:18 +01:00
6e65e27ca2 feat(navigation/helm): make treemacs/neotree auto-hiding customizable 2021-10-22 11:42:27 +01:00
cccff7190a feat(projects/treemacs): customize highlight line background color 2021-10-22 11:28:53 +01:00
c52853e832 feat(lsp): tweak lsp diagnostics related keybindings
- 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.
2021-10-11 10:33:54 +01:00
35d6e12612 fix(navigation): resolve dired/dired+ load order issue
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.
2021-10-07 22:56:07 +01:00
6e34c36e69 feat(projects): use helm-projectile for project switching again 2021-10-06 23:47:29 +01:00
bde765001b feat(navigation): make helm take up full frame
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.
2021-10-06 23:44:52 +01:00
9a3828c293 feat(lsp): add keybindings for helm-lsp-diagnostics
This makes it easy to get a nice list of all errors and warnings
reported by the language server.
2021-10-06 04:37:55 +01:00
5849a7b522 feat(lang): enable a few gopls analyzers which are disabled by default 2021-10-06 04:37:19 +01:00
11bb56b4ac feat(projects): only show file/process buffers in projectile buffer list 2021-10-06 04:36:31 +01:00
cb0cf52769 feat(navigation): stop using helm-posframe
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.
2021-10-06 04:35:02 +01:00
22369470c4 feat(navigation): use consult instead of helm for imenu completion
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.
2021-10-06 02:28:26 +01:00
b8fe28f07c feat(editor): don't use helm for projectile-switch-project
With selectrum and marginalia, regular completing-read is actually more
than good enough for simple project selection.
2021-10-06 01:40:50 +01:00
6dc661f14e feat(editor): decorate various projectile commands with marginalia 2021-10-06 01:40:49 +01:00
f4e1c403b0 feat(editor): add project-buffer marginalia annotator
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.
2021-10-06 01:39:55 +01:00
abc1dddcf9 fix(lang): set tab-width in protobuf-mode 2021-09-28 09:26:01 +01:00
093f4a62c3 feat(lang): add ssh-config-mode for ssh config and authorized_keys files 2021-09-18 20:46:46 +01:00
d3ee78224a feat(lang): add protobuf-mode and configure flycheck to support buf 2021-09-16 19:40:09 +01:00
32f23ea33b fix(lang): tweak golines arguments to not use deprecated gofumports 2021-09-15 12:28:41 +01:00
4cb9c3d3a0 feat(makefile): improve makefile execution and bind it to C-c C-m
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.
2021-09-13 12:38:34 +01:00
46a8169ed3 fix(lsp): only use lsp-mode in bash and sh based sh-mode buffer 2021-08-07 17:12:36 +01:00
8096cb34ab feat(misc): add lorem-ipsum package 2021-08-03 01:27:39 +01:00
17f63255d9 feat(lang): improve jsonnet-mode setup with format on save, and more 2021-08-03 01:27:39 +01:00
0435cb28d6 fix(editor): do not highlight indentation levels on large files
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.
2021-08-03 01:27:39 +01:00
14f394c7ca feat(lsp): allow C-c C-f to perform extra formatting not done by on-save hook 2021-06-29 00:36:36 +01:00
850c9dbbdd feat(lang): enable lsp-mode for bash and sh script files in sh-mode 2021-06-29 00:35:57 +01:00
79007f6687 chore(languages): remove temporary dockerfile-mode auto-mode-alist tweaks
The PR that addressed the issue was merged long ago, and I simply forgot
to remove the temporary fix :P
2021-06-24 22:48:20 +01:00
0e6a7b6290 feat(editor): switch to vertico+orderless from selectrum+prescient
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.
2021-06-24 22:39:17 +01:00
cb1296ed9c feat(completion): insert current company-mode selection with tab
THis is in addition to the RET keybinding.
2021-06-24 22:15:38 +01:00
c9a05afbdf feat(lsp); tweak lsp-ui-sideline to only show errors
The sideline hover stuff about all objects on the current line are
rather noisy, and most of the time I only care about the errors.
2021-06-24 22:14:39 +01:00
f77a3150b7 chore(lsp): improve lsp and formatting behavior of js, json and yaml modes 2021-06-24 22:13:57 +01:00
654eae72ff chore(editor): extract recentf, savehist and uniquify to seperate modules 2021-06-24 19:16:16 +01:00
b53cef4d30 fix(navigation): make helm play nicer with treemacs when helm-posframe is enabled
When helm-posframe is enabled, there's no need to to hide treemacs or
neotree before showing helm.
2021-06-22 02:08:52 +01:00
688b14a775 fix(navigation): workaround dired+ incompatibility with dired in master branch
Commit 194d54a929a83fede75d618b104acd1b544feb10 changed behavior of
deletion functions in Dired, causing Dired+ to break deletion, as it
wholesale replaces a bunch of Dired functions with it's own
implementation. For now I've just copied the Dired variants of those
functions to restore them.
2021-06-21 03:51:16 +01:00
2d98386d24 chore: fix whitespace 2021-06-20 02:47:59 +01:00
ee895054fd fix(editor): ensure selectrum current item always highlights full line 2021-06-20 01:27:15 +01:00
07b0013c75 feat(editor): add config for vertico + orderless as a alternative to selectrum
I still prefer selectrum for the time being, but I've written the
config, might as well commit it for potential future use or
experimentation.
2021-06-20 01:27:15 +01:00