Commit Graph

692 Commits

Author SHA1 Message Date
6bada58d49 feat(snippets): add wip config for tempel to try it out 2022-03-14 21:16:15 +00:00
a8618938bf feat(core): use general.el for keybind definitions nearly everywhere
Primarily this replaces :bind with :general in all use-package calls.
2022-03-14 21:16:15 +00:00
ee91287b52 feat(completion): ignore case in minibuffer completion 2022-03-14 21:16:14 +00:00
0b7ecb91a2 feat(language/markdown): add vmd-mode to preview markdown via vmd 2022-03-14 21:16:14 +00:00
e8978f7b44 feat(projects): enable all-the-icons in minibuffer completion 2022-03-14 21:16:14 +00:00
106245af8b feat(completion): improve completion-at-point/company candidates
This applies especially in lsp-mode. Yasnippet snippets now show as
completion candidates if the word at point exactly matches a snippet
keyword, otherwise it'll fallback to normal lsp backed completion.

And it also supports completing file/directory names now too while
lsp-mode is active.

All this is done by modifying completion-at-point-functions after
lsp-mode has done it's trickery with it. Along with a dirty hack to
company-yasnippet to make it only activate on exact matches. Without
this hack, lsp backed completion rarely activates as snippets would have
higher priority if there's any partial matches.
2022-03-14 21:16:13 +00:00
b742c9026f feat(snippets): disable prog-mode snippets from yasnippet-snippets
The prog-mode snippets are very basic, a bit a annoying, as they
contain a couple of single-character snippets which conflict with common
variable names in Go.
2022-03-14 11:58:47 +00:00
7da944b04d feat(language/go): add -race flag to gotest invocations 2022-03-14 11:58:47 +00:00
4ea4f6dc95 chore(completion): remove needless company-mode references
Since we enable global-company-mode, explicitly enabling it in the setup
for various major modes does nothing. But it does tie the code to
company mode, making it harder to try alternatives like corfu.
2022-03-14 11:58:47 +00:00
246a459622 fix(navigation): remove ctrlf package in favor of isearch
Visually ctrlf is very nice, but it seems one of it's features is to
stay active in the mini-buffer until explicitly cancelled. This can
easily lead to annoyance if you mess up a C-x C-s keybind and then move
on to other buffers and such, as ctrlf will still be active.

Regular isearch however will dismiss itself as soon as you do anything
other than typing in a search query. Hence causing a lot less annoyance
for me.
2022-03-10 21:11:52 +00:00
92c16d4dcb feat(language/go): use tree-sitter-mode and tree-sitter-hl-mode 2022-03-10 21:11:26 +00:00
6f422773a5 feat(language/markdown): enable polymode in markdown buffers 2022-02-23 12:11:52 +00:00
75543de052 feat(language/ssh-config): add custom file path to mode list 2022-02-23 12:11:18 +00:00
ae6877668f chore(projects): remove left-over "C-c b" keybinding from projectile
"C-c b" is now handled by consult via a custom
siren-consult-projectile-buffer function.
2022-02-23 12:11:17 +00:00
96d5bab074 fix(navigation): disable direx as it is broken on recent Emacs 29.x builds 2022-02-23 12:11:17 +00:00
2554669fea feat(language/go): improve and fix usage of gotest package
- Fix issue where gotest could not be used from non-test files in Emacs
  28.x or later.
- Bind "C-c , t" to ff-find-other-file to mimic behavior in Ruby via
  rspec-mode.
- Configure gotest to always run tests with "-count=1" to avoid cached
  results, so it's easier to notice and handle flickering tests.
2022-02-23 12:11:17 +00:00
1db4018497 feat(nativation/consult): custom groups for consult-buffer
Using consult-buffer to switch between buffers is now project aware,
meaning when current buffer is in a project, the list of buffers is
split into two groups; project buffers, and other non-project buffers.

The project buffers group is above the other buffers group, meaning it's
very easy to switch to other buffers within the same project, while
still being able to switch to non-project buffers too.

When current buffer is not part of a project, all buffers are shown
together in a single completion group.
2022-02-17 22:08:03 +00:00
1a41eea77e fix(nativation/helm): resolve helm loading issue after update 2022-02-09 00:35:39 +00:00
4a552aa96d fix(editor/vertico): resolve race-condition issue with projectile-switch-project
Occasionally right after starting Emacs, it was possible to issue a
projectile-switch-project command which ran before my hacky
vertico-directory advice had been added. This should ensure the advice
gets added earlier.
2022-02-07 22:42:17 +00:00
d6d7b3a450 fix(docs/helpful): add workarounds for recent Emacs 29.x issues
There's been a couple of recent changes in Emacs' master branch which
has affected the helpful package. These changes work around both issues,
and seems to let helpful keep working as before.
2022-02-07 22:40:26 +00:00
27fae46664 fix(ui): prevent tab-bar being visible in lsp-ui-doc child frame 2022-02-07 10:45:42 +00:00
f79cb11fa2 chore(language/go): update lsp-mode setup for gopls 2022-02-07 10:44:17 +00:00
ddc99acaa0 feat(workspaces/tab-bar): display tab-bar and make it pretty
I'm giving the visual tab-bar a try, by making it less ugly than it is
by default. Hopefully I won't mind it taking up one full row at the top
of the frame.
2022-01-26 22:54:37 +00:00
5cd56e866b chore(navigation/centaur-tabs): minor customization tweaks 2022-01-26 22:49:38 +00:00
fd1072ae8c chore(editor/marginalia): minor customization tweaks 2022-01-26 22:48:39 +00:00
0312a360b4 feat(projects): switch from helm-projectile to regular projectile commands
With vertico, orderless and marginalia, I feel the regular projectile
find-file and switch-project commands offer just as good if not better
completion than helm-projectile commands do. Hence the switch.
2022-01-25 12:26:09 +00:00
c80b4e24fa fix(editor/vertico): cleanup if projectile command is canceled 2022-01-18 03:04:53 +00:00
309bc2a611 feat(editor/vertico): improve extension setup
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.
2022-01-18 00:51:34 +00:00
bd36da4bfe fix(navigation/helm): set helm-find-files to C-x f
This allows C-x C-f to be bound to find-files, which now uses vertico to
great effect.
2022-01-17 22:35:25 +00:00
b5daa4f2e5 fix(navigation/helm): add require helm-mode to fix errors 2022-01-17 22:33:28 +00:00
fdc443ea74 feat(languages): enable lsp-mode in Dockerfiles and web-mode buffers 2022-01-16 12:17:36 +00:00
5a464d6562 chore(languages): simplify terraform configuration
lsp-mode now supports terraform-lsp and terraform-ls, so there's no need
to define a custom language server for terraform-ls.
2022-01-16 11:56:50 +00:00
04d83a23cd feat(editor/veritco): add vertico-directory extension 2022-01-16 03:35:49 +00:00
3a8b04b59c fix(lsp-mode): add "tmp" to ignored directory names
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.
2022-01-16 03:33:42 +00:00
56a577ae91 feat(completion): switch from selectrum to vertico
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.
2022-01-09 15:41:17 +00:00
fd707a6e1b feat(version-control): add github-review package
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.
2021-12-27 19:30:36 +00:00
90441a2590 feat(version-control): add gh-notify package
Also configure forge's dispatch menu to have a keybind for triggering
gh-notify.
2021-12-27 19:27:50 +00:00
36dd864a37 chore(version-control): move forge SQLite database file to cache directory 2021-11-30 22:32:28 +00:00
70f776d4f3 feat(version-control): add code-review package
This allows reviewing GitHub pull requests within Emacs.
2021-11-30 22:31:47 +00:00
819f068879 fix(dired): prevent dired from prompting about removing dired buffers
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.
2021-11-26 21:28:25 +00:00
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