Commit Graph

781 Commits

Author SHA1 Message Date
276e798100 chore(tools/docker): suppress docker-tramp warning in recent 29.x builds 2022-09-28 01:47:24 +01:00
fd1c57a96c fix(completion/copilot): custom accept fun ignoring trailing "{" chars
In languages that uses "{" for blocks, accepting a Copilot completion
that ends with "{", causing a structural imbalance, which
structural-based packages like smartparens does not like and causes
headaches.

With the custom accept function, trailing "{" chars along with any
whitespace before it, are ignored from Copilot completion. An exception
is made for if the removal of trailing "{" and whitespace yields an
empty completion, in which case the completion is accepted as is.
2022-09-26 14:33:35 +01:00
8bd1889926 chore(completion/copilot): update package straight definition
Just adds setup changes from latest readme of copilot.el.
2022-09-26 14:30:11 +01:00
4d3de5def2 feat(theme): change default light theme to doom-solarized-light 2022-09-22 14:27:14 +01:00
5de69dcc60 chore(theme): improve quick change theme command aliases 2022-09-22 14:27:14 +01:00
ae4da2c248 feat(language/markdown): improve prettier setup
Only wrap lines to fill-column when formatting with prettier if
auto-fill-mode is enabled.
2022-09-22 14:14:17 +01:00
06bf89af61 feat(misc): add new siren-reopen helper function 2022-08-25 22:59:09 +01:00
efccea6cbd feat(language/go): improve setup of go-playground 2022-08-25 22:52:21 +01:00
4e1250f259 chore(editor): minor tweak to how file name is rendered in modeline 2022-08-20 01:13:26 +01:00
1e5761afc7 feat(editor): don't enable vertico-mouse-mode
I basically never use it, but the mouse-over highlighting can be
annoying if the mouse happens to be towards the bottom of the frame.
2022-08-20 01:12:11 +01:00
43d9d309da feat(language/go): configure modes for go.mod and go.work files 2022-08-20 00:36:06 +01:00
c7d1f1d749 feat(editor): replace highlight-symbol with symbol-overlay
symbol-overlay claims to be much faster at highlighting symbols across
large files, and also has better interactive symbol manipulation
features.
2022-08-15 23:56:17 +01:00
f1c0030aff feat(languages/x509): add x509-mode
This allows using M-x x509-dwim to decode any PEM encoded OpenSSL
certs/keys and display all details via OpenSSL.
2022-08-13 16:22:23 +01:00
de722509f5 feat(navigation): setup better-jumper to jump back after goto def style operations 2022-08-13 16:21:17 +01:00
99bbb27f79 feat(navigation): add consult-dir package
Allows handy shortcut to populate minibuffer with directories from
various sources.
2022-08-11 02:44:05 +01:00
19713d30e3 fix(editor): resolve flx-rs+consult issues
This is a more generic and robust fix for flx-rs not behaving correctly
when given consults extra metadata bytes as part of the input candidate.

This should now work with any candidate provided by consult, not just
those that come from the consult-buffer command.
2022-08-11 02:27:29 +01:00
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
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
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
3319a5ce36 fix: add missing siren-clang-format module 2022-07-27 21:01:06 +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
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
33552444ab feat(theme): add alias commands to quickly activate light/dark theme 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
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
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
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
efde4eaaf2 feat(editor): don't highlight current indent level
Simply render indent guides identical for all levels. Specifically
highlighting the current indent line makes things feel a bit "noisy",
and also doesn't always respond to changes that fast, making things feel
slow too.
2022-06-20 20:22:58 +01:00