Commit Graph

739 Commits

Author SHA1 Message Date
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
f319097821 feat(whitespace): re-enable whitespace mode without newline-mark
Turns out the conflicts with both copilot and highlight-indent-guide was
due to the newline-mark. Hence disable newline-mark and re-enable
whitespace mode.
2022-06-20 20:22:35 +01:00
daefce3143 style(language): replace tab indentation with spaces 2022-06-18 00:48:01 +01:00
7ecfb8fd86 feat(editor): switch indent guide style to a thin line
As I'm no longer using whitespace-mode in prog-mode derived modes, the
cursor movement bug affecting highlight-indent-guides when
whitespace-mode is enabled is no longer an issue for me.

Further details about the highlight-indent-guides conflict with
whitespace-mode is available in this issue:
https://github.com/DarthFennec/highlight-indent-guides/issues/107
2022-06-18 00:48:00 +01:00
25b6493530 fix(completion/copilot): disable whitespace-mode to fix cursor placement issue
When whitespace-mode is enabled, single-line copilot completions makes
the cursor look like it's at the end of the completion rather than in
it's real position.

Issue with gifs showing the behavior is here:
https://github.com/zerolfx/copilot.el/issues/28

For the most part I should be able to live without whitespace-mode in
day to day use, and improvements to the highlight-indent-guides setup
should help.

And worst case, whitespace-mode can always be toggled easily enough.
2022-06-18 00:48:00 +01:00
262a661557 feat(language): stop using visual-line-mode in prog-mode derived modes
It makes more sense for text-mode derived modes.
2022-06-18 00:48:00 +01:00
5b054bdd07 fix(editor/undo): increase undo limits when using undo-fu
Turns out undo-tree massively increases undo limits, and the defaults
seem to cut off history for me much sooner than I'd like. So I set the
limits to the same high values are undo-tree does.
2022-06-18 00:25:18 +01:00
c5010120da feat(editor): improve styling of highlight-indent-guides package
Use regular face definitions in override theme instead of the percentage
custom vars.
2022-06-18 00:23:16 +01:00
f6ecda7bf4 feat(completion): replace orderless with fussy
Use fussy instead of orderless for filtering and scoring/ordering
completion candidates. This seems to overall order results in a much
better way than just orderless.

Technically orderless is still used to filter the candidate list, but
fzf-native is used to score/order the results.
2022-06-09 00:58:38 +01:00
2b711bc453 chore(lsp): override lsp-face-semhl-label
It seems to have recently been changed to default to the same face as
comments, which I really do not like. Inheriting from
font-lock-keyword-face seems fine though.
2022-06-02 00:01:56 +01:00
c5b149497b fix(navigation/consult): fix custom project directory lookup function 2022-06-01 23:52:41 +01:00
a26c613342 chore: update comment on siren-whitespace module 2022-05-12 01:30:22 +01:00
c8a1170641 chore(navigation/consult): update consult and custom query functions 2022-05-12 00:34:01 +01:00
8e686b7826 chore(language/web-mode); set attr indent offset 2022-05-11 22:06:42 +01:00
682896a67f feat(language/terraform): enable tree-sitter in terraform-mode 2022-05-11 22:04:23 +01:00
1fda5dc0cc fix(language/markdown): disable polymode in markdown-mode
Syntax highlighting within code blocks is nice, but it doesn't always
play that nice, and messes up the syntax highlighting of the rest of the
file quite often.
2022-05-11 22:04:23 +01:00
ce4fd06ccc feat(completion/company): use company-box front-end in GUI mode 2022-05-11 22:04:23 +01:00
7c2beb4cdf fix(completion/copilot): work around freezing issue caused by visual-line-mode 2022-05-11 22:04:22 +01:00
ad2e2d2bab feat(text-editing): add siren-insert module
Defines two functions for inserting en-dash and em-dash characters which
are typically difficult to type directly into Emacs.
2022-05-02 10:27:26 +01:00
e14bfa37d8 fix(completion/copilot): improve copilot's interaction with company-mode
Previously we only hide company-mode's in-line preview when there was
only a single result. This meant that it didn't show the one result
anywhere.

This allows company-mode to still show it's regular popup even when
there's only one result.
2022-04-28 20:02:06 +01:00
44c4cc93c1 feat(completion): add support for GitHub Copilot via copilot.el
I opted for accepting copilot completions using C-<tab> /
<backtab> (shift+tab) instead of regular tab, as it was often getting in
the way of yasnippet and lsp completion suggestions. This allows a more
explicit acceptance of Copilot suggestions.
2022-04-28 12:08:11 +01:00
911bdb7182 feat(editor): add extra navigation keybindings for vundo
Simply add ctrl variants of the standard f/b/n/p/a/e keybindings enabled
in vundo-mode-map.
2022-04-28 12:08:11 +01:00
cb719af306 feat(languages): enable shellcheck linting when using bash language server
Due to how lsp integrates with flycheck, it needs to take over all
linting responsibilities.

Hence we need to use efm-langserver to execute shellcheck for us. It's a
bit messy, but end result works pretty well.
2022-04-27 02:28:24 +01:00
1a2682da2a chore(languages): move .zsh association to siren-sh module 2022-04-27 02:27:45 +01:00
d7b13eafdf chore(ui): fix docstring for siren-pixel-scroll-mode 2022-04-26 23:42:25 +01:00
177f075853 feat(editor): replace undo-tree with undo-fu and vundo
Also replace undohist with undo-fu-session.

Overall this seems to yield a more reliable undo history, as undo-fu and
vundo supposedly operate with vanilla emacs undo history state, while
undo-tree supposedly does some custom tweaks to the undo state.
2022-04-26 23:39:48 +01:00
c84bf1dea6 feat(editor): improve whitespace-mode setup and cleanup on save
Move away from the whitespace-cleanup-mode package, and instead simply
define our own whitespace-cleanup-on-save-mode minor-mode that uses a
before-save-hook.
2022-04-26 23:33:57 +01:00
881250f6c4 chore(core): add siren-dir and siren-cache-dir helper functions 2022-04-26 20:00:03 +01:00
16ad0402a2 fix(ui/pixel-scroll): fix typo with siren-pixel-scroll-mode init 2022-04-22 23:34:57 +01:00
2b39d5b0d7 chore(use-package): use :preface in favor of :init when defining things 2022-04-22 23:25:56 +01:00
be595062e6 feat(ui): define custom siren-pixel-scroll-mode
This makes it easy to toggle all per-pixel scrolling related settings on
and off.
2022-04-22 22:44:22 +01:00
dad8f778b3 fix(editor): use new marginalia-field-width variable name
The old marginalia-truncate-width variable was deprecated a while ago,
and the deprecated var alias was recently removed from marginalia.
2022-04-19 01:12:42 +01:00
d86f6c4490 feat(language): enable tree-sitter for most languages that are supported 2022-04-19 01:12:42 +01:00
846c13881e fix(navigation): resolve load order between consult and projectile 2022-04-19 01:12:42 +01:00
d85671a44c fix(text-editing): use wildcard in tempel-path
After an update to tempel, it seems tempel-path must point to a file, or
a wildcard matching one or more files.
2022-04-16 23:54:29 +01:00
3630c66930 chore(workspaces): minor improvement to custom tab format 2022-04-16 23:17:44 +01:00
f0f7c53cb3 feat(ui): enable pixel-scroll-precision-mode in GUI if available 2022-04-07 01:42:18 +01:00
96f3dca1c9 chore(editor): minor tweak to vertico setup 2022-04-07 00:42:04 +01:00
aa7e2fe428 style: remove needless line breaks 2022-03-16 20:42:31 +00:00
27acd5edca chore(core): replace final :bind with :general which was previously missed 2022-03-16 20:42:08 +00:00
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