Commit Graph

130 Commits

Author SHA1 Message Date
6e9307d616 feat(editor/env): switch from direnv package to envrc and mise
envrc.el should be less invasive overall, and mise does the same thing,
but for mise instead of direnv.
2024-05-09 02:31:34 +01:00
c6d5682037 feat(misc): add helper command to display list of available fonts 2023-11-20 19:40:54 +00:00
de1fd38481 fix(language/typescript): ensure it loads correctly 2023-08-01 01:35:36 +01:00
539d063403 chore(editor): change from snap-indent to yank-indent package
yank-indent is more focused on specifically indenting after yank, and
the PR to enhance snap-indent with some similar features has been open
for some time now with no movement.
2023-06-13 00:59:55 +01:00
431692af1a feat(language/csv): add setup for csv-mode 2023-05-17 13:46:15 +01:00
1729317cd8 feat(navigation): add dirvish and have it override/enhance dired 2023-05-15 22:36:14 +01:00
4654ea5e80 fix(completion/marginalia): improve issues with project-buffer annotations
Show project relative file paths even when project root and file paths
start with a mixure of "~/" and absolute path.

Also handle buffers not backed by a file on disk by falling back onto
marginalia--buffer-file.
2023-05-11 01:19:05 +01:00
146d2311a9 chore(treesit): tweak setup of built-in treesit modes 2023-05-09 01:30:18 +01:00
3bd155cb79 feat(editor): try snap-indent as a replacement for yank-indent
Currently trying via my own fork of snap-indent, which has a PR pending.
2023-05-01 00:01:45 +01:00
0308067065 refactor(ui): move transparency related things to a module 2023-04-25 02:00:27 +01:00
d0d604bbc7 feat(ai/chatgpt): all per-model API key configuration in shared setup 2023-04-17 01:15:06 +01:00
4f32191983 feat(ai/chatgpt): improvements with a focus on gptel and chatgpt-shell packages 2023-04-16 18:13:58 +01:00
0eedc37603 feat(editor): add custom yank-indent package
When yank-indent-mode is enabled, yanked (pasted) text is indented based
on the indent rules of the current major mode. It has a
global-yank-indent-mode too which by default excludes a long list of
known indentation sensitive modes with which this approach does not work
very well.

It is based on some random hacky snippets elisp I've been using for over
a decade. Said snippets are themselves based on some random snippets I
found online, and since morphed into the weird monster they had become.
2023-04-16 03:13:14 +01:00
9207050c23 feat(misc/chatgpt): add unofficial package for interacting with ChatGPT 2023-03-07 23:35:03 +00:00
cead803781 feat(language/typescript): switch to new typescript-ts-mode
As typescript-mode has effectively been deprecated, let's switch to the
new typescript-ts-mode in Emacs 29.x.
2023-02-08 22:43:46 +00:00
23d6664609 feat(language/nix): add nix-mode for editing *.nix files 2023-01-09 10:49:23 +00:00
d6457f26de feat(editor): add direnv-mode to set env vars via direnv 2023-01-09 10:48:26 +00:00
9654403bee feat(editor): enable subword-word globally in all buffers 2022-12-04 01:14:57 +00:00
63d0345b21 chore(editor/origami): move setup to a central list of hooks 2022-12-04 00:27:38 +00:00
5e47cd9a46 chore(formatting/prettier-js): move setup to a central list of hooks 2022-12-03 23:38:39 +00:00
044c67d379 chore(tree-sitter): move setup to a central list of hooks 2022-12-03 23:34:52 +00:00
06bf89af61 feat(misc): add new siren-reopen helper function 2022-08-25 22:59:09 +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
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