9e1e976710
Use Histogram Diff Algorithm For Git also in vc.el
...
I have set `diff.algorithm` to `histogram` anyway, so let's also use this in `vc.el`.
Taken from https://github.com/dgutov/diff-hl?tab=readme-ov-file#notes .
2025-05-01 15:59:26 +02:00
326711f4d2
Update diff-hl fringe marks after committing with magit
2025-05-01 12:56:20 +02:00
5ffdcf2954
Try out diff-hl
...
Inspired by https://www.rahuljuliato.com/posts/dired-enhanced .
2025-05-01 11:17:26 +02:00
837b7fc106
Ignore direct input when at the start of an Org headline
...
This is to guard headlines to become invalid due to my erratic (mis)typing behavior.
2025-04-19 17:05:26 +02:00
def778595d
Play around with outline-indent.el
...
See https://github.com/jamescherti/outline-indent.el .
2025-04-13 18:54:19 +02:00
47218d6b1e
Try out docker.el
...
See https://github.com/Silex/docker.el . Inspired by
https://www.rahuljuliato.com/posts/emacs-docker-podman .
2025-04-13 10:17:54 +02:00
297cc8fa05
Provide thing at point for consult line history
...
Inspired by https://arialdomartini.github.io/consult-line-at-point .
2025-04-12 16:46:20 +02:00
f49903f168
Apply indentation fixes
...
Missed those in the last commit.
2025-04-10 20:48:23 +02:00
f1a5462622
Set some options in init.el using setopt
...
This is to try out `setopt`, further adaptions to come.
2025-04-07 18:59:35 +02:00
6f07502638
Let vertico sort candidates by name mostly
...
Show the history first, for manual selection, but sort the rest alphabetically.
2025-04-05 11:59:42 +02:00
ef6ba17d55
Ensure that consult is installed
2025-04-05 07:45:33 +02:00
a04d5cb8d2
Allow preview in consult functions
...
This is particularly relevant for `consult-line`.
2025-04-05 07:44:16 +02:00
f5c3780caa
Set own list of emoji text interpretations
2025-04-04 20:23:21 +02:00
b0d648c093
Guard headline stars from accidental changes
...
Activate Org's speed keys for this. Let's see whether now I will accidentally do other things
than typing characters at the beginning of a headline …
2025-03-30 18:49:32 +02:00
87ab75fda2
Use project.el for default search
...
`rgrep` can be used when `project-find-regexp` does not find matches, but the latter can be used
more intuitively and also provides choosing the base directory and a file pattern via universal
arguments.
2025-03-30 10:59:24 +02:00
cdeeb1b0eb
Use proper use-package declaration for lv package
2025-03-29 17:41:29 +01:00
db5e1b70ef
Some reformatting
2025-03-29 17:41:23 +01:00
9113276fc8
Avoid undefined error when showing help without Org being loaded
...
`helpful.el` relies on Org links, so we ensure `ol.el` is loaded.
2025-03-29 17:35:04 +01:00
6279921553
Fix misplaced control characters in docstring
...
Found by flymake.
2025-03-29 17:26:21 +01:00
bd451a954a
Group package.el configuation with use-package
2025-03-29 17:24:11 +01:00
b9fde435a7
Revert "Check for spelling in comments"
...
This also checks strings that contain commands and other arbitrary content, producing a lot of false
mispelling alarms. This is disturbing, so let's disable it again.
This reverts commit 7d0eb498e2 .
2025-03-29 17:18:26 +01:00
7d0eb498e2
Check for spelling in comments
...
Again inspired by https://github.com/purcell/emacs.d .
2025-03-29 17:15:15 +01:00
93a2e5f939
Add some buffer limit indicators
...
Taken from https://github.com/purcell/emacs.d/blob/master/lisp/init-editing-utils.el . Nice!
2025-03-29 17:03:13 +01:00
620ce06760
Remove redundant indentation configuration for use-package
...
Should be done properly by Emacs out of the box.
2025-03-29 15:13:39 +01:00
ec8f980148
Use eglot in additional modes
...
Namely: shell scripts, Perl, Haskell.
Also fix a minor typo in Haskell mode configuration. Show Flymake warnings directly inline.
2025-03-29 15:05:02 +01:00
5a98a26fd5
Remove redundant global key binding
2025-03-29 13:19:40 +01:00
d5bc8c909b
Move some generic hooks to corresponding sections in init.el
...
Feels more natural to keep them there.
2025-03-29 13:15:57 +01:00
345bf46e9e
Do not check anymore for existence of major-mode-remap-alist
...
It's available in Emacs 30.1.
2025-03-29 11:57:39 +01:00
8ca5a0ec61
Use use-package for loading custom LaTeX utilities
2025-03-29 11:57:29 +01:00
dc37acca4e
Regroup some package definitions
2025-03-29 11:53:06 +01:00
1313fe1f21
Remove unused expand-region package
...
Haven't used that in a while.
2025-03-28 19:23:30 +01:00
261022d594
Reorder package configuration
...
Also found that I had two package definitions for `project.el` … oops.
2025-03-28 19:21:30 +01:00
c9377c1658
Store bm bookmarks in the usual userdata directory
2025-03-28 19:21:00 +01:00
45b5794db9
Remove obsolete ivy configuration
2025-03-28 19:01:22 +01:00
69e917ec86
Move GUI disabling to early-init.el
...
This way we can void drawing elements that will be disabled anyway.
Inspired by https://emacsredux.com/blog/2025/03/28/speed-up-emacs-startup-by-tweaking-the-gc-settings/ .
2025-03-28 18:41:04 +01:00
b8147a6d45
Remove some obsolete projectile configuration
2025-03-28 18:39:02 +01:00
c271947e68
Require at least Emacs 30
2025-03-28 18:38:51 +01:00
6c899154ca
More tweaking of ibuffer saved filter groups
2025-03-27 20:11:39 +01:00
24b583d021
Tweak stored ibuffer filter groups a bit more
2025-03-23 13:58:34 +01:00
8b32ad1292
Add some default ibuffer filter groups
...
Motivated by [emacs-solo][1] and extended with some information from the [Emacs-Wiki][2].
[1]: 45d7bc1bd1/init.el (L125)
[2]: https://www.emacswiki.org/emacs/IbufferFilters
2025-03-23 12:46:41 +01:00
4113bc6bc5
Move some frame configuration to early-init
...
Inspired by https://github.com/LionyxML/emacs-solo/blob/main/early-init.el . I am not quite sure
whether this will have much effect, though.
2025-03-22 16:23:33 +01:00
d40c0bc085
Allow page motion while searching
...
Found in https://emacsredux.com/blog/2025/03/18/you-have-no-idea-how-powerful-isearch-is/ , nice!
2025-03-21 17:51:49 +01:00
8369eab33d
Apply some isearch optimizations
...
From https://blog.chmouel.com/posts/emacs-isearch/ :
- Bind `avy-isearch` to directly jump to currently visible matchings
- Use `consult-line` instead of `swiper` (this also removes a package dependency)
2025-03-21 17:40:46 +01:00
b59c852c53
Resort to using the default location for TRAMP history override
...
Directories like `~/.emacs.d/private` may not exist on remote machines.
2025-03-16 16:55:02 +01:00
b176cb1748
Store TRAMP history in main userdata directory
2025-03-16 10:26:07 +01:00
23ca139e20
Track main dotfiles Git repository in magit
2025-03-16 10:23:52 +01:00
4e9d804bca
Move custom comint hook to corresponding use-package declaration
...
Because of consistency and such.
2025-03-15 20:17:28 +01:00
5e03486be9
Use native Emacs completion in shell mode
...
Evaluating INSIDE_EMACS might also be helpful in setting a usable prompt, even if TERM is "dumb".
2025-03-15 20:00:58 +01:00
3515f3e084
Explicitly mark Emacs 30.1 Dired features as such
...
This avoids setting those variables in Emacs 29.x, which is still supported by this
configuration (it won't hurt much to set those variables in this case as well, though).
2025-03-14 18:16:55 +01:00
77fffe3265
Allow encryption key selection via minibuffer completion
...
This way, the usual completion mechanisms can be used — nice!
2025-03-14 18:15:50 +01:00
1ad53d298f
Jump to next message in Gnus when reaching the end
...
This is what I am used to, the option to stop at the end of a message did not convince me.
2025-03-12 17:06:13 +01:00
c50689c38c
Add some configuration for debugging the init file
...
From the use-package manuel, see info:use-package#Troubleshooting.
2025-03-11 17:27:17 +01:00
3dd3183a44
Bound movement in dired buffers
...
A nice Emacs 30.1 feature :)
2025-03-10 20:24:01 +01:00
f205598c67
Rely on builtin versions of use-package and bind-key
...
One less external dependency to take care of :)
2025-03-10 20:18:30 +01:00
a9b54d27a9
Replace some bind-key calls with use-package :bind declarations
...
Also remove some obsolete declarations along the way.
2025-03-09 20:22:22 +01:00
09a8706bb1
Add some stub configuration for remember
...
Inspired by https://baty.net/posts/2025/03/i-went-a-little-nuts-with-remember-mode-in-emacs/ . Not
using it yet, but it's nice to have it recorded here.
2025-03-09 14:54:51 +01:00
41c4295e82
Only initialize BBDB for message-mode
...
Being asked all the time whether to add the contact of the current message to BBDB is annoying.
2025-03-09 09:56:14 +01:00
7cbe776c7f
Fix use-package autoload configuration for Org utilities
2025-03-08 18:47:46 +01:00
0fe7ec5c1b
Clean up own utilities collection
...
Properly separate interactive commands from simple functions in use-package declaration, and remove
two unused functions.
2025-03-08 18:34:33 +01:00
40e98e5bfa
Allow wider git commit messages
...
No need to restrict to 72 characters per line.
2025-03-08 18:26:56 +01:00
47c7e664e5
Remove obsolete extra-symbol customization for TeX input method
2025-03-08 18:26:37 +01:00
e9a3778b74
Apply minor changes to Gnus configuration
...
Inspired by https://baty.net/posts/2025/03/using-gnus-for-email/ .
2025-03-08 16:50:17 +01:00
2e2b208c23
Remember why we load customizations so late
...
So I don't have to ponder on this again the next time I see this …
2025-03-08 16:37:16 +01:00
9132364fb7
Avoid customization conflicts between Customize and use-package
...
To this end, do not use :custom in use-package declaration, because
according to the documentation[1], `:custom` declarations can conflict
with settings done via `customize-option`. However, values set directly
in the configuration files should always be allowed to be overwritten by
custom settings done by the user – at least that's the general approach
of this Emacs configuration.
[1]: https://www.gnu.org/software/emacs/manual/html_mono/use-package.html#User-options
2025-03-08 09:10:57 +01:00
f2f98c3ac5
Do not restrict shell buffer display to frame sides
...
Give buffers running ephemeral `eshell` or `shell` sessions a name that
is different from the default name chosen by these commands, and only
restrict those ephemeral shell buffers to be displayed at the side.
This way, running the commands `eshell` and `shell` will yield windows
can be handled like any others and can be used for long-running
sessions.
2025-03-07 20:35:38 +01:00
5438a71cca
Tinker with Gnus' summary line format
...
Trying out some inspiration taken from https://baty.net/posts/2025/03/using-gnus-for-email/ .
2025-03-07 17:34:32 +01:00
575eb0e600
Increase Gnus registry size
...
Hitting the limits.
2025-03-07 17:29:11 +01:00
0ba2fc5fd7
Adapt some obsolete configuration for transition to Emacs 30
2025-03-02 18:29:20 +01:00
de123f7cea
Allow relocation of custom URL bookmark types
...
This is mostly copied from the current implementation in `bookmark.el`,
adapted to non-filename bookmarks.
Note that we are now using the `location` slot in bookmarks to store the
URLs, and relocating bookmarks will set the `filename` slot to `nil`.
2025-03-02 18:11:13 +01:00
c74eed5df1
Remove obsolete usage of defadvice
...
This only affected some old Gnus advices. One of those should be
obsolete (I guess), the other has been transformed to use
`define-advice`.
2025-03-02 13:44:11 +01:00
0d1b624c72
Remove unused keybindings for bm
2025-02-26 13:06:49 +01:00
12870a5aef
Adjust default column with in magit repository listing
...
I need more space.
2025-02-26 10:54:08 +01:00
8998369a4c
Include status column in magit repository listing
...
To see whether repositories have unstaged changes.
This makes my `check-git-repos` function kind-of obsolete, which is good :)
2025-02-26 10:53:59 +01:00
a522f48dc5
Add some Org lint checkers for bookmark links
...
Code taken from `org-lint-invalid-id-link` and suitably modified.
2025-02-25 18:26:08 +01:00
ff30cbdf58
Always clear ledger transactions as a whole
...
Found via [1]. Nice!
[1]: https://mbork.pl/2025-02-22_Inserting_Ledger_transactions_even_faster
2025-02-23 13:00:09 +01:00
73a8e3be4b
Do not depend on autoloading db-org.el for bookmark links
...
Let's keep db-org a collection of autoloadable functions and move the
actual configuration of Org bookmark links to init.el.
2025-02-22 20:54:31 +01:00
795fcde3b8
Use default mechanism to store URL bookmarks directly after creation
...
Nicer :)
2025-02-22 20:54:31 +01:00
168cc78844
Let project.el consider submodules as separate projects
...
I keep a tree of Git repositories organized as submodules in my home
directories and want each of those repositories to be considered a
separated project. The repositories that are indeed a proper part of a
superproject I can ignore.
2025-02-19 17:21:46 +01:00
2cbafcfbfc
Customize columns for listing magit repositories
...
Shrink fist column, because my repositories are usually not that long.
Version information is also less important than upstream divergence to
me, so let's move this behind.
2025-02-16 18:03:06 +01:00
1fedb571a3
Do not show overdue deadline items in Waiting For list
...
They will show up on the main agenda view anyway.
2025-02-15 18:43:17 +01:00
1ba7f00753
Sort TOPICs before NOTEs in project agenda
...
TOPICs are usually more important than NOTEs.
2025-02-14 17:03:55 +01:00
0d001c7b39
Sort list of known projects before persisting
...
This is to avoid commit clutter when tracking `project-list-file` in Git.
2025-01-19 09:53:41 +01:00
3789a2b0e9
Revert "Shorten scheduled and deadline leaders in Org agenda for space"
...
This reverts commit 823139669e .
Turns out I need space for the range count of dates ranging multpile
days. Bummer.
2025-01-12 15:30:04 +01:00
823139669e
Shorten scheduled and deadline leaders in Org agenda for space
2025-01-12 15:26:32 +01:00
1e6e15669e
Remove some obsolete configuration
...
And clean up a bit.
2025-01-04 17:58:59 +01:00
f98b0e461f
Change default Org source block results handling back to output
...
This is what I usually use, so let's stick to it.
2025-01-04 15:40:55 +01:00
635054aa4a
Replace company by corfu
...
I haven't really used `company` in the recent past, so removing this
package does not hurt much. Maybe `corfu` will be more practical for
me, as it also only relies on builtin in-buffer completion and does not
require additional magic. However, I usually do not use popup
completion dialogs much, because I find them obstructive.
2025-01-03 17:28:46 +01:00
beceb909fc
Clean up SLIME configuration
...
SLIME somehow interfered with exporting Org lisp source blocks, leading
to some cleanup.
2024-12-31 15:41:36 +01:00
a1e372e31e
Use builtin project instead of external projectile from now on
...
`projectile` is nice, but I rarely use a fraction of its functionality
and not having to use an external package for project management feels
more robust.
2024-12-31 14:57:56 +01:00
70e85b9419
Show value output of Org source blocks by default
...
This is a sensible default for ELisp blocks, so let's use that. Already
existing blocks that depend on the old default need to be updated, though.
2024-12-30 13:34:46 +01:00
f4ff678cd1
Diminish auto-revert-mode in mode-line
2024-12-30 10:57:24 +01:00
e89baa204e
Clean up Lisp programming configuration
...
`eldoc` is part of general programming configuration.
2024-12-30 10:57:09 +01:00
d2ae0e1bf5
Show minor modes in mode-line again
...
Seeing active minor modes directly might be informative. Try to reduce
the list of shown minor modes to only interesting ones using the (still
existing) diminish configuration. Remove now obsolete configuration of
the minions package.
2024-12-30 10:34:16 +01:00
9f52c576b2
Move tab-bar history activation to main init function
...
This is where such global mode activations belong.
2024-12-25 16:01:06 +01:00
7deb6204be
Ensure this configuration is run using Emacs 29 or later
...
This allows to remove some old code.
2024-12-25 15:50:40 +01:00
353ce2960b
Provide autoload for lsp-mode
...
This allows activation before `lsp-mode` is loaded.
2024-12-25 13:21:28 +01:00
facd9ccc52
Remove misplaced plist deserialization for lsp-mode
...
Using plists for deserialization has to be enabled already while
compiling `lsp-mode`, so it was set too late and resulted in errors; see
[1]. Since I do not need plist deserialization, we can also make things
simple and just keep it disabled.
[1]: https://emacs-lsp.github.io/lsp-mode/page/performance/#use-plists-for-deserialization
2024-12-25 13:18:26 +01:00
ccb1e02cda
Do not automatically use company-mode for completion
...
`globel-company-mode` has not been used since quite some time, and
completion in the individual programming modes should be handeled by
LSP. Disabling `company-mode` also allows to use standard completion
features, which is nice.
2024-12-25 11:46:21 +01:00
9e898e2100
Do not require lsp-mode to be installed anymore
...
eglot should do the trick for most of my needs, so no need to
force-install lsp-mode.
2024-12-21 20:53:52 +01:00
f646a2f98a
Default to eglot for Python programming
...
This is to ease the configuration, as eglot is built in. lsp-mode might
provide a better programming experience, but I do not do much Python
programming nowadays.
2024-12-21 20:51:25 +01:00