Commit Graph

105 Commits

Author SHA1 Message Date
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
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
9d72997be0 feat(ui): add solaire-mode 2022-07-16 00:07:45 +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
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
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
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
db8c95438f chore(text-editing): disable tempel module
I still prefer yasnippet.
2022-04-19 01:12:42 +01:00
f0f7c53cb3 feat(ui): enable pixel-scroll-precision-mode in GUI if available 2022-04-07 01:42:18 +01:00
c64b717e59 feat(misc): disable grip-mode as I never use it 2022-03-14 21:16:29 +00:00
6bada58d49 feat(snippets): add wip config for tempel to try it out 2022-03-14 21:16:15 +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
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
96d5bab074 fix(navigation): disable direx as it is broken on recent Emacs 29.x builds 2022-02-23 12:11:17 +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
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
70f776d4f3 feat(version-control): add code-review package
This allows reviewing GitHub pull requests within Emacs.
2021-11-30 22:31:47 +00:00
1c303c9424 feat(misc): enable refine package 2021-11-30 21:00:05 +00:00
01bd757c15 fix(lang): gitconfig-mode and gitignore-mode have been replaced with git-modes 2021-10-24 03:50:18 +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
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
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
8096cb34ab feat(misc): add lorem-ipsum package 2021-08-03 01:27:39 +01:00
4c8384bcec fix(editor): switch from vertico to selectrum due lsp-mode issue
First time lsp-mode is started for a project, it will pop up a prompt to
ask how you want lsp-mode to determine the project root. When using
vertico, this selection is not visible, while with selectrum it works
fine.
2021-06-29 00:34:26 +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
654eae72ff chore(editor): extract recentf, savehist and uniquify to seperate modules 2021-06-24 19:16:16 +01:00
27a7c5cb20 chore(deps): update xwidget-plus which is now named xwwp 2021-06-17 20:25:27 +01:00
49cef56c82 feat(editor): add embark
This is a basic setup, as I'm not very familiar with what is doable with
embark. It also takes over the goto-chg keybindings, cause that package
rarely worked correctly, so I almost never used it.
2021-06-17 20:25:26 +01:00
354ed23d21 feat(navigation): add consult 2021-06-17 20:19:26 +01:00
5878449963 feat(navigation): add ctrlf-mode, a isearch replacement 2021-06-17 20:18:09 +01:00
93c22e1bb9 feat(editor): replace ido and amx with selectrum, prescient and marginalia 2021-06-17 20:13:57 +01:00
b7d914c51e feat(formatting): use whitespace-clean-mode
This should offer a more reliable means of running `whitespace-cleanup`
on buffer save than whitespace-mode's whitespace-action setting. Also it
allows for easily toggling whitespace clean up off by disabling
whitespace-clean-mode.
2021-04-25 22:44:26 +01:00
c8187b4be8 feat(org): expand and tweak org-src and org-babel setup 2021-04-20 01:32:11 +01:00
349f007fe9 feat(shell): add xterm-color package to colorize compilation buffers
Some commands which output to compilation buffers did not get their
output colorized correctly by default. This ensures that terminal based
escape sequences are correctly handled.
2021-04-07 23:50:11 +01:00
5f4aa98abd feat(theme): improve doom-themes overrides by using a proper theme
Instead of manually just setting faces after loading a doom-themes
theme, let's use a custom override theme which we apply right after
applying any doom-themes theme.

The override theme uses various doom-color helpers, so the colors it
uses will be based on the most recently applied doom-themes theme.
2021-04-07 23:50:11 +01:00
0e6f2856c4 chore(lsp): move lsp-ui config into siren-lsp module
There's no need for having lsp-ui setup in a separate siren-lsp-ui
module, as there's little to no reason to ever use lsp-mode without
lsp-ui.
2021-03-15 23:12:10 +00:00
bbc0e4a714 feat(tools): add ob-http package 2020-12-25 13:49:08 +00:00
f675e1f030 feat(tools): add httprepl package 2020-12-25 13:49:08 +00:00
2af986d57f feat(tools): add and configure restclient package 2020-12-25 13:49:08 +00:00
7917f6ac56 feat(debugging): add dap-mode with basic config for Go and Ruby 2020-11-11 10:51:08 +00:00
490b4a2d08 chore(navigation): disable helm-open-github package
I haven't used it for years, and it depends on gh.el which throws causes
lots of warnings on every startup with native-comp cause it fails to
compile.
2020-11-11 10:36:28 +00:00
60df63bc49 feat(misc): add various rand-* commands for generating randomized data 2020-10-27 13:05:42 +00:00
5937589cc5 feat(lang): add jsonnet-mode 2020-09-27 19:46:27 +01:00