Commit Graph

240 Commits

Author SHA1 Message Date
789a13b0fa chore(deps): simplify vertico package recipe override 2022-08-10 22:48:47 +01:00
893f0b8b57 chore(deps): remove company-nginx override as it is no longer needed 2022-08-10 22:20:24 +01:00
27db1d32d0 chore(deps): remove undo-fu and undo-fu-session recipe overrides 2022-08-10 20:59:55 +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
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
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
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
bd3e53bdc8 fix(packages): override undo-fu and undo-fu-session recipes
Both undo-fu and undo-fu-session are hosted on codeberg, which seems to
be down right now. Hence instead let's pull in these packages from the
mirrors on the emacsmirrors GitGub org.
2022-06-09 01:01:41 +01:00
da9237150a chore(packages): remove undo-tree recipe override
undo-tree in ELPA now seems to be update to date.
2022-06-09 01:00:14 +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
13847908e2 chore(package): update straight.el and package lock file 2022-06-02 00:16:07 +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
1a2682da2a chore(languages): move .zsh association to siren-sh module 2022-04-27 02:27:45 +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
3fc0d2d77d feat(core): add general.el for easier / flexible keybinding definitions 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
f39714b1ca feat(core/editor): disable graphical dialog boxes 2022-02-23 12:11:54 +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
a1f30f6d15 fix(env): initialize env from shell in pgtk window-system 2022-02-22 19:21:40 +00:00
a0bc64107c feat(core): update linux font and fullscreen command 2022-02-22 18:42:54 +00:00
96d7d3cb63 chore(font): improve font setting logic with list of preferred fonts 2022-02-07 10:43:04 +00:00
b428d262ff feat(font): change default font "Menlo" to "Menlo Nerd Font Mono" 2022-01-29 01:51:03 +00:00
ef9adfd39b chore(packages): override company-nginx recipe to fix repo
The original repo has been deleted, so we need to point it at a mirror.
2022-01-26 22:46:44 +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
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
d6860c0fe5 fix(macos): disable ctrl+scroll emacs keybindings on macOS
Trackpad momentum can often lead to emacs trying to resize font size by
thousands of points. Hence let's disable it, as font size changes are
easy enough via C-x C-- and C-x C-=.
2022-01-16 03:36:45 +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
8c69d388f2 chore(packages): update lock file 2021-12-27 19:30:36 +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
1b81c91490 fix(faces): handle new mode-line-active and mode-line-inactive faces 2021-11-27 23:07:06 +00:00
0c893670cf fix(env): set MallocNanoZone var to fix Go race detector issue in Monterey 2021-11-16 11:07:28 +00:00
6a95b32f38 feat(editor): separate sentences with a single space instead of two 2021-11-16 11:03:49 +00:00
78cb7fcd04 fix(editor): disable auto-revert-mode's use of file notifications on macOS
Relying on file notifications to detect changes on disk and auto-revert
buffers seems unreliable on macOS, so let's disable the use of file
notifications, and let auto-revert-mode use polling instead.
2021-11-10 10:31:17 +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