Commit Graph

1640 Commits

Author SHA1 Message Date
e1fe7ef4e9 fix(themes/doom): correctly load theme when running in terminal
On macOS when running Emacs in a terminal, the ns-system-appearance
variable is defined, but set to nil. We now cater for that, and simply
default to loading the dark theme.
2022-08-10 21:25:47 +01:00
84fa1c39eb chore(packages): update lock file 2022-08-10 21:03:44 +01:00
27db1d32d0 chore(deps): remove undo-fu and undo-fu-session recipe overrides 2022-08-10 20:59:55 +01:00
0103747fc7 chore(release): 0.8.25 v0.8.25 2022-07-31 00:52:53 +01:00
9db27243f7 feat(themes/doom): add support for ns-system-appearance
Emacs will now change theme automatically on macOS when system
appearance is changed between light/dark. And also sets the appropriate
theme on startup too.
2022-07-31 00:29:00 +01:00
0932f6c5fa fix(themes/doom): set foreground of tab-bar and tab-line to fg-alt
The default in doom-themes is bg-alt, making text invisible.
2022-07-30 22:29:39 +01:00
e662ee6552 feat(ui/display-time): add config for display-time-mode 2022-07-30 22:20:55 +01:00
1883ba6972 chore: minor cleanup of reformatter lighter strings 2022-07-30 22:01:26 +01:00
646876f1cd feat(language/caddyfile): format on save, use tab indentation
Caddy can now format Caddyfiles with the "caddy fmt" command, so we use
reformatter to create a format-on-save mode for Caddyfiles.

Also there's no need for the weird whitespace-mode workaround, as we now
use tab indentation in Caddyfiles, since that's what "caddy fmt"
produces.
2022-07-30 21:56:24 +01:00
7f32de8c49 fix(completion): ensure correct order of completion-at-point-functions
When lsp-mode is active, it tries to ensure it's own
lsp-completion-at-point function is listed before any other functions in
completion-at-point-functions.

This however prevents completions for yasnippet snippets and
files/folders from working, as completion never moved on beyond
lsp-completion-at-point. Previously I had managed to fix this by using
the DEPTH option of add-hook to get siren-yasnippet-capf and cape-file
to run before lsp-completion-at-point.

But it seems lsp-mode has changed from using add-hook to a more custom
method of always ensuring lsp-completion-at-point is always first on the
list. Hence we need to the same using the new siren-prepend macro I
recently added.
2022-07-30 21:48:53 +01:00
bbd8f11719 feat(utils): add siren-prepend and siren-append macros
These macros work more or less like add-to-list, except they will always
leave ELEMENT as the first/last element in the list, while add-to-list
does not modify the list if ELEMENT is already present anywhere in the
list.
2022-07-30 21:35:24 +01:00
6fc53bc58e chore(release): 0.8.24 v0.8.24 2022-07-27 21:01:28 +01:00
3319a5ce36 fix: add missing siren-clang-format module 2022-07-27 21:01:06 +01:00
e2a409fc7a chore(release): 0.8.23 v0.8.23 2022-07-20 22:03:46 +01:00
ca9ec4f7a2 feat(editor/consult): massively simplify consult setup
Remove nearly all custom behavior with consult.

The separate groups for project and non-project buffers within
consult-buffer weren't as useful after switching away from orderless to
fussy for completion scoring, as non-project buffers were often sorted
higher than project buffers.

And there's no need for the custom siren-consult-projectile-buffer
function, as consult-project-buffer does the same thing when configured
to use projectile's root path function.
2022-07-20 22:02:13 +01:00
41742663de chore(editor/fussy): tidy up commented out stuff 2022-07-20 22:02:13 +01:00
b92bd7b19e feat(language/protobuf): format non-buf protobuf files with clang-format 2022-07-20 22:02:12 +01:00
72c33e7b37 feat(vendor/clang-format): add custom reformatter-based clang-format package
There is a clang-format package in MELPA, but I believe a
reformatter-based solution works better. Hence I've made my own,
somewhat like a package, and simply thrown it into the vendor directory.
2022-07-20 22:02:12 +01:00
a67b8f5047 feat(core/vendor): add support for loading files from vendor directory 2022-07-20 22:02:12 +01:00
0de0c4ca23 feat(text-editing): replace toggle-quotes with cycle-quotes package
It seems cycle-quotes does a better job than toggle-quotes. For example
it supports literal backtick strings in Go, which toggle-quotes does
not.
2022-07-20 22:02:12 +01:00
86464e80b1 feat(text-editing): add shift-number package 2022-07-20 22:02:12 +01:00
ab7d541148 feat(text-editing): add beginend package which improves M-< and M-> keybindings 2022-07-20 22:02:12 +01:00
92a6db71e6 fix(editor): correctly filter buffer results from consult-buffer
It seems the string candidates produced by consult-buffer have some
extra non-printable bytes appended at the end. These bytes makes flx-rs
not match against the candidate properly.

Consult does add a text property to the candidate string called 'buffer,
which contains the original buffer name.

So for now, we advice the flx-rs-score function and attempt to the
extract the buffer text property from the input candidate and use that
instead. If the candidate has no such text property, we use it as is.
2022-07-20 22:02:12 +01:00
5784db0ff6 chore(language/protobuf): change name of buf-based formatting mode 2022-07-20 22:02:12 +01:00
7c253d986c feat(editor): improve code folding with origami
Add and configure origami, and enable it for majro modes where it seems
to do a good job, and keep using hideshow for other major modes.
2022-07-20 22:02:12 +01:00
f6a1d44f03 chore(packages): update lock file 2022-07-19 00:55:27 +01:00
33552444ab feat(theme): add alias commands to quickly activate light/dark theme 2022-07-19 00:39:53 +01:00
ccb2d7a703 feat(theme): tweak completion related faces
Remove face overrides for oderless, vertico and selectrum. The defaults
from doom-themes are actually pretty nice once I gave them a chance :P

Also customize the built-in completions-common-part face so it matches
doom-themes' setup for orderless.
2022-07-19 00:39:53 +01:00
29db7b63ac feat(editor/fussy): improve completion performance
It seems the fzf-native scoring method can get slow and laggy over
time. It seems the flx-rs method does not, and is overall a bit faster.

However, flx-rs doesn't give exact matches as high of a score as
fzf-native, so scoring might be a bit different than I'm used to. Time
will tell if I'll find it annoying enough to switch back to fzf-native.

Also switch from orderless to fussy's all-completions backed filtering
method. This yields a noticeable improvement in speed, but it does not
support multiple search terms separated by space like orderless does.
Another potential habit I will need to adjust.
2022-07-19 00:39:53 +01:00
66cf3de9dc chore(languages): tidy up buffer-local setq statements 2022-07-18 22:20:08 +01:00
a3c384027d fix(language/protobuf): enforce buf flycheck linter in buf projects 2022-07-18 22:11:45 +01:00
9fc94ebec4 chore(release): 0.8.22 v0.8.22 2022-07-16 00:09:04 +01:00
32d969bee2 chore(packages): update lock file 2022-07-16 00:08:11 +01:00
9d72997be0 feat(ui): add solaire-mode 2022-07-16 00:07:45 +01:00
32a704a9e4 chore: minor tidying 2022-07-15 23:40:01 +01:00
05ad42d77e feat(workspaces/tab-bar): add keybindings for tab-duplicate 2022-07-15 23:38:37 +01:00
558e6a97d1 feat(workspaces/tab-bar): easier use of tab groups
Expose tab-group via a keybindings, and also tweak tab-bar group face to
make it less annoying than the default.
2022-07-15 23:36:41 +01:00
3d40d3b0ef feat(editor): add marginalia tab annotator with tab group support 2022-07-15 23:34:03 +01:00
9c13005937 fix(themes/doom-overrides): don't tweak vertical-bar in light themes 2022-07-15 23:08:27 +01:00
0a72c333cb chore(themes/doom-overrides): use doom-themes-set-faces helper
The doom-themes-set-faces essentially just lets you apply a doom-themes
faces spec against any theme you want.

Since we're defining a theme meant to override and extend various faces
from doom-themes, this makes it easier to do so, but also enables the
use of targeting light and dark theme variants with &light and &dark.
2022-07-15 23:07:29 +01:00
f8ed1029da fix(language/terraform): disable lsp-mode in terraform files
The terraform language server is not very good, very rarely provides any
completions, and when it doesn't it overall is just slow and laggy.

Especially so as lsp-mode is set to syntax highlight with the language
server, causing syntax highlighting to often be about 5 seconds behind
of whatever you're typing.
2022-07-15 22:46:11 +01:00
b411cc7856 chore(editor): improve setup of indentation highlight guides 2022-07-15 22:44:24 +01:00
a1a3c3d9f5 feat(language/protobuf): enable format-on-save with buf format 2022-07-15 22:22:44 +01:00
2a60c0d42f fix(navigation/dired): fix unbinding of M-b 2022-07-15 19:09:19 +01:00
731be46b93 feat(core): add siren-reopen-current-file interactive command
This is mostly a helper function for when I've messed around with active
modes in a file buffer a whole bunch, and I just want to revert all
things to the default state of when the file is opened.
2022-07-13 18:54:56 +01:00
978667fc34 feat(vc/git-commit-mode): enable smartparens-mode and whitespace-mode 2022-07-13 18:54:38 +01:00
2fa38381ee fix(editor): change highlight indentation guides back to 'column mode
It turns out that using the 'character mode causes very noticeable
performance degradation and straight up lag when typing in a lot of
programming languages. Setting it back to 'column seems to resolved this
for me.
2022-07-13 18:49:42 +01:00
2b55cf7bd9 feat(completion/copilot): add new and improve existing keybindings 2022-07-13 18:48:55 +01:00
caf8791363 feat(navigation/dired): improve keybindings and listing switches setup 2022-07-13 18:48:09 +01:00
9f092551fa chore(packages): update lock file 2022-07-13 14:21:59 +01:00