Commit Graph

1196 Commits

Author SHA1 Message Date
60c8a57bf8
Use consult for region completion, when available
This seems to be a good default?
2024-03-23 09:54:18 +01:00
04a714fc8c
Optionally use consult for some completion tasks 2024-03-23 09:50:10 +01:00
53a0c1b56b
Filter buffer and bookmark list only via orderless completion
I don't expect basic completion here, only the matching style from ivy.
2024-03-17 09:13:10 +01:00
3099e642ce
Change ellipsis character for Org mode
The old character had some odd depth in my current font …
2024-03-13 17:45:10 +01:00
85338cc8f5
Use basic completion before orderless
Using orderless by default get's in the way of “usual” code completion
and shell completion, where prefix completion is the expected
behavior (for me).  So let's try to use basic completion first, and try
to rely on orderless completion to kick in as soon as spaces are
involved (which should not happen for shell and code completion).

The completion colors should also help to see whether we are still using
basic completion or orderless completion.  Let's try this for now.
2024-03-11 17:25:30 +01:00
a4bae1d96e
Enable ivy region completion for ledger-mode
This is where I used it most often, and where I still want it to work
until a proper replacement is found.
2024-03-11 17:02:41 +01:00
4a14d2e37b
Add default keybinding for accessing recently used files
Since `counsel-switch-buffer` has been replaced by the plain
`switch-to-buffer`, recently used files are not shown there anymore, so
let's make `recentf` easier to access.

NB: `consult` also provides a function akin to `counsel-switch-buffer`,
so maybe this keybinding will not be that relevant anymore in the
future.
2024-03-11 16:14:00 +01:00
2ca13e12eb
Revert "Use ivy for completion in regions"
Using ivy for completing in regions somehow has problems in eshell, so
let's not do it.  The main use-case for using ivy in region completion
is for ledger, so maybe it can only be activated there?

This mostly reverts commit 615b285f74.
2024-03-11 16:10:24 +01:00
ea345e4d91
Use LaTeX-mode when available
This is achieved by aliasing `latex-mode` to `LaTeX-mode`, requiring a
bit of refactoring of how `major-mode-remap-alist` is being used.
2024-03-10 21:07:10 +01:00
615b285f74
Use ivy for completion in regions
This is nicer than the default completion window … but maybe there's a
better approach than using ivy only for this?
2024-03-10 11:44:46 +01:00
256f378c76
Disable garbage collection during Emacs startup
Taken from https://protesilaos.com/emacs/dotemacs, nice idea :)
2024-03-10 11:14:48 +01:00
b3a1689741
Simplify completion styles by with overrides for certain categories
The default completion style is now to use orderless by default, but
certain categories can benefit from additional completions (e.g., file
and partial-completion).

It's quite hard to determine the appropriate completion categories,
though.  Does Org have a dedicated one?
2024-03-10 08:55:25 +01:00
ea0e94c312
Only keep orderless match faces that are readable with solarized 2024-03-09 20:19:41 +01:00
6b8b97fe8d
Prefer orderless completion style over others
The reason is that while filtering Org headlines, sometimes one of the
other completion styles matches, hiding other possible matches that
would have been found by the `orderless` style.  This can happen when
spaces are included in Org headlines (which is usually the case) and
those spaces match the search pattern.  In this case, the position of
point is also relevant, which is not something I want.

It would be better to know which completion category is use in this case
and override the completion style for this only, but so far I haven't
found it.  Continue looking …
2024-03-09 20:06:48 +01:00
7d398a66c8
Replace counsel Org heading dispatch by org-refile
This is nice enough and removes the last dependency to counsel :)
2024-03-09 15:04:21 +01:00
118b50c8da
Always show absolute time when annotating file selections
Via https://protesilaos.com/emacs/dotemacs#h:bd3f7a1d-a53d-4d3e-860e-25c5b35d8e7e.
2024-03-09 14:56:43 +01:00
7a2410642f
Remove redundant package declaration for helm-ring
This package is loaded in the main helm declaration, no need to mention
it separately.
2024-03-09 14:09:38 +01:00
8150725233
Use default completion functions for Info and Unicode lookup
Using vertico completion, they are quite nice! :)
2024-03-09 14:08:41 +01:00
3d0afd3f07
Experimentally replace default ivy completion with vertico
This may change back in the future.

The ivy configuration is kept on purpose, in particular because some
counsel functions are still in use.  Maybe those can be also be replaced
later on, maybe with helm functions?  Not quite sure whether this is a
good idea, though.
2024-03-09 13:46:36 +01:00
a4325f30bf
Remove some obsolete counsel bindings 2024-03-08 17:26:25 +01:00
a233d092de
Replace timestamp query in main agenda view with option setting
This is faster.
2024-03-06 19:01:31 +01:00
0e9ae4aa4d
Fix conditional loading of helm
It only makes sense to load helm when it's installed, isn't it?
2024-03-05 21:20:56 +01:00
b6ecb4eb53
Declutter custom Org agenda views
This is mostly to speed up agenda generation, in particular the main
agenda view.  It turns out that filtering out SCHEDULED items is
expensive, but in tags views there is no variable to exclude scheduled
items – as for todo and tags-todo views.  Thus, SCHEDULED items must be
removed with a corresponding search pattern, which is slow.
2024-03-05 17:38:16 +01:00
cd98c67e12
Add usual text surrounding backlink in TODO caputure template
I always add "Via " around the backlink, with some newlines.  Let's just
let Emacs do this for us :)
2024-02-18 10:37:06 +01:00
b75e70241b
Add Org capture template for generic Org item
This can be used when creating generic NOP headlines, among others.
2024-01-27 17:34:19 +01:00
8aa29be427
Use strict whitespace matching in isearch
This is less confusing for me :)
2024-01-19 17:12:48 +01:00
5214d7ceee
Disable global completion again
It's mostly annoying.
2024-01-17 17:48:07 +01:00
b954328b26
Simplify Org capture template for recording GOALs
I usually already have a first item for a GOAL recorded, so querying for
it via the capture template is unnecessary (and annoying).
2024-01-14 15:10:03 +01:00
af05bd2106
Collect custom Org key bindings in a custom hydra 2024-01-07 17:12:27 +01:00
cdb4721589
Allow access to Org link management via my usual Org keymap prefix
This is for consistency.
2024-01-06 12:19:18 +01:00
1f0f00ad2c
Record more notes when changing TODO keywords of Org items
I find myself often adding these notes manually after state changes, so
let's make Org do this for us.
2024-01-04 08:26:12 +01:00
b7d190c513
Introduce separate hydra for Org jump commands
`hydra-org-clock` thus only hosts keybindings for clock-related
commands, while the new `hydra-org-jump` is for jumping to Org items in
various ways.  Feels cleaner to me this way.
2024-01-01 17:04:55 +01:00
3e09ee57dc
Use olivetti-mode to improve Org tree-slide presentations
This is motivated by a post by Daniel Liden (https://gitlab.com/dliden),
see https://www.danliden.com/posts/20231217-emacs-hooks.html (courtesy
of https://irreal.org/blog/?p=11849).
2023-12-31 12:54:55 +01:00
d7ce497278
Add basic eglot configuration 2023-12-28 15:27:34 +01:00
3211acd21b
Extending lsp-mode configuration
Based on input from
https://andreyor.st/posts/2023-09-09-migrating-from-lsp-mode-to-eglot.
No configuration yet for eglot, though.
2023-12-27 21:45:41 +01:00
73de5e94ad
Show current number of matches in isearch
By courtesy of https://zck.org/improved-emacs-search, via [Irreal: A
Slight Isearch Improvement](https://irreal.org/blog/?p=11364).
2023-12-27 15:40:25 +01:00
30bd59c9da
Fix wrong keybinding definition for toggling the Org roam buffer 2023-12-23 21:35:50 +01:00
18e612b447
Show Org roam buffer in selected window before updating its content
This is to address the issue of malformed content in the Org roam
buffer, see https://github.com/org-roam/org-roam/issues/1586.  The
excellent description of @camdez in [there][1] is the basis for this
workaround.

[1]: https://github.com/org-roam/org-roam/issues/1586#issuecomment-1412250226
2023-12-23 21:17:48 +01:00
4eeb5527bc
Fix keybinding definitions for Org roam
Were defined in the wrong map, probably because this map was the correct
one in Org roam v1.
2023-12-23 18:24:31 +01:00
4fd8b655f9
Fix typo in comments 2023-12-23 15:31:01 +01:00
4bce1dec3e
Globally enable company-mode
This is an experimental setting to increase usage of completion
functionaly in my workflow.  It's not clear yet whether I will find this
disturbing, though.
2023-12-23 15:29:02 +01:00
c0c5dfd080
Include unlinked references in Org roam buffer
This is an experimental setting to spot missing references easily.
Performance cost might be prohibitive, though.
2023-12-23 15:28:24 +01:00
4dfb36858a
Move Org roam db autosync activation to use-package definition
No need to conditionally enable it in main initialization function when
it can be done directly directly after loading `org-roam`.  This keeps
the configuration of the package local, i.e. syntactically together.
2023-12-23 15:27:06 +01:00
76c8717c24
Uniformly add single blank lines around captures Org items 2023-12-19 09:08:41 +01:00
479f9dbaf7
Remove obsolete configuration for synonyms package 2023-12-03 11:08:23 +01:00
7456943c07
Limit line width in git commit messages to 72 characters
This is per https://cbea.ms/git-commit/#wrap-72 and makes the line width
in git commit messages independent of the global fill-column setting.
2023-11-27 17:14:00 +01:00
9a90e458f9
Adjust some code formatting
To avoid accidental reindentation via `lisp-indent-function`.
2023-11-25 10:17:25 +01:00
a6ac99d013
Add autoload declaration for org-cycle-hide-drawers
Tihs avoids a byte-compiler warning.
2023-11-18 21:58:09 +01:00
bbd547c1b7
Hide Org drawers during visibility cycling by default
This is taken from the release notes of Org 9.6,
cf. https://orgmode.org/Changes.html.
2023-11-18 16:25:32 +01:00
aa0a7e9791
Unbind org-agenda-redo-all in agenda buffers
It's annoying that `org-agenda-redo-all` always jumps back to today, so let's
try to avoid this by not having it bound anymore.  I am usually completely
satisfied with `org-agenda-redo` anyway.
2023-11-18 14:19:25 +01:00
712a314923
Try a bit harder to avoid recentering after agenda buffer redo
New try: temporarily nullify `recenter`, seems to work so far and keeps point on
the same line.
2023-11-18 14:18:41 +01:00
836bcaa0ff
Add small commit for structuring Org configuration 2023-11-04 09:34:28 +01:00
593a2ab9df
Get rid of last byte compiler warnings in Org configuration 2023-11-03 17:24:14 +01:00
e675ec4b47
Ensure helm key bindings to be correctly set even w/o customization 2023-11-01 21:11:57 +01:00
6c18d9ce9d
Ignore tasks on WAIT in stuck project list 2023-11-01 21:02:43 +01:00
7a42aedd9c
Add missing require statement for helm-bookmark
It's not automatically loaded with `helm`, apparently …
2023-10-29 13:16:06 +01:00
99aa8e5e56
Remove obsolete configuration for typing package 2023-10-28 19:06:24 +02:00
65f49dfabb
Eliminate byte-compiler warnings from eshell configuration 2023-10-28 18:59:21 +02:00
51d6111b47
Remove obsolete key bindings for ediff mode
I do not use them, and they cause byte-compiler warnings.
2023-10-28 18:51:17 +02:00
067a8cdacf
Eliminate some more byte-compiler warnings 2023-10-28 18:51:04 +02:00
a41428eff0
Remove byte-compiler warning for enabling use-package imenu support 2023-10-28 18:14:07 +02:00
2f2eac0b38
Reorganize Gnus configuration to remove most byte-compiler warnings 2023-10-28 18:13:47 +02:00
7b3b0811a1
Separate TeX configuration into separate package
This allows to not have to install the `auctex` package without errors on
startup, cf. 886598e.
2023-10-28 12:06:27 +02:00
886598e0d8
Remove eval-when-compile for non-essential auctex package
This leads to an error on Emacs startup when auctex is not installed.
2023-10-28 11:35:32 +02:00
f94e909987
Fix enabling imenu support for use-package
The setting has to be done before loading `use-package` (which yields a new
byte-compiler warning, narf).
2023-10-27 16:58:10 +02:00
88bc5b3162
Remove unnecessary require statements for helm-emms
The removed packages are loaded by `helm-emms` directly.
2023-10-27 16:32:30 +02:00
dae26fcc5a
Do not perform adaptive sorting in personal shortcut helper
This never worked anyway, I would probably have had to define the source
globally for adaptive sorting to work, or something like that.  However, I am
usually happying with the interactive narrowing of the candidates, so let's get
rid of adaptive sorting for now.
2023-10-27 16:31:02 +02:00
b3d620d884
Get rid of some more byte-compiler warnings in main init file 2023-10-27 16:30:19 +02:00
535bdda429
Clean up personal shortcut helper function
Get rid of some helm sources I usually don't use, to speed up function
execution.  Indeed, on Windows 11, if this function takes too long, the Emacs
frame will loose its focus, which is super annoying!
2023-10-26 15:36:31 +02:00
52559e8cf8
Fix location of multisession data path
It's session data, and thus goes into `emacs-d-userdata`.
2023-10-19 16:35:19 +02:00
37a12c4d16
Reenable automatic indentation in Org mode buffers
This partially reverts 39f652e.
2023-10-15 15:02:01 +02:00
39f652e070
Do not automatically indent anymore in Org mode after newline
`org-return-indent` is obsolete since 9.4, one should use `org-return` with
`indent` set to `t` instead – and I am not sure whether it will work if I rebind
`org-return` to some interactive lambda form.  So let's try to not indentent
automatically anymore, maybe this is good enough?
2023-10-15 11:20:04 +02:00
4051fc1a38
Remove workaround to inhibit eproject-mode in message-mode
`eproject-mode` seems to be gone, at least it's not in elpa anymore (there's
still a `elpa-eproject` package in Debian, though).
2023-10-15 10:41:41 +02:00
04c5040f75
Get rid of byte compiler warnings in Dired configuration 2023-10-15 10:21:34 +02:00
eb8e696374
Fix use-package indentation also for common-lisp-indent-function 2023-10-14 21:55:54 +02:00
71e89d2976
Handle some byte compiler warnings in main initialization file 2023-10-14 21:55:30 +02:00
86879ec84e
Update assignment to obsolete BBDB variable 2023-10-05 10:27:54 +02:00
435a9f52a9
Ignore further user data files in main .emacs.d directory
Files of the `transient` package are now kept under `private/`.
2023-10-05 10:26:51 +02:00
a287d2af01
Increase Gnus' large-group limit
200 is not enough, let's try 500.
2023-10-05 10:21:47 +02:00
48836d41f7
Move main initialization function to the end of init.el
It's called at the end, so it can very well also be located there.  This also
avoids some byte-compiler warnings due to the order of declarations.
2023-10-02 13:08:57 +02:00
15ee9caea0
Globally define private userdata directory
This is instead of repeating the path again and again in the code.  It's cleaner
this way, also easier to spot mistakes (see the now fixed definition for
`abbrev-file-name' …).
2023-10-01 18:47:33 +02:00
3004f96949
More local data from url package to private/ 2023-10-01 18:29:11 +02:00
31268927e0
Revert "Remove obsolete lisp indentation setting for use-package"
This reverts commit aa4ac442a0.

Turns out this setting is not obsolete, as my whole init file would be
reformatted without it … keeping it for now.
2023-10-01 18:27:36 +02:00
975c2869ea
Move some user-specific data to private/ and clean up .gitignore
There may be more data to be moved to private/, but for now it's enough like
this – I think.
2023-10-01 18:00:39 +02:00
08ccbbbfab
Reorder initial use-package settings
This way no warnings are emitted by the byte compiler.
2023-10-01 17:47:46 +02:00
cb66fb4976
Move smex save file to private directory 2023-10-01 17:41:09 +02:00
aa4ac442a0
Remove obsolete lisp indentation setting for use-package 2023-10-01 17:11:11 +02:00
2f6aa6a1f7
Introduce major-mode-remap-alist into auto-mode configuration
Also distribute the current auto-mode setting from `db/run-init` to the
individual packages, to allow overwriting via customizations.
2023-10-01 17:04:55 +02:00
a4556632b0
Remove advice for moving message attachments to the end of buffer
This is configurable since Emacs 29.1.
2023-10-01 15:39:02 +02:00
cfdd235f94
Set multisession directory before loading package
This allows to overwrite this default via customize.
2023-10-01 15:36:45 +02:00
e01e02970f
Comment personal M-SPC binding to be the default since Emacs 29.1
So that it can be removed later on, maybe.
2023-10-01 15:31:05 +02:00
f7254fc6a4
Configure multisessions' directory to be under private/
It contains data to be stored between sessions and thus belongs there.
2023-10-01 15:30:18 +02:00
563ce633a0
Remove obsolete setting for df program on Windows
This variable is obsolete since Emacs 27.1.
2023-10-01 15:25:55 +02:00
2d1fd71265
Ignore HOLD entries on Waiting-For list 2023-09-14 19:03:47 +02:00
1b860b9273
Add some minimal default configuration for YAML files 2023-09-14 16:19:10 +02:00
6e20565ef0
Fix typo in Org capture template 2023-09-10 15:09:48 +02:00
c085dda842
Allow to provide password to SQL blocks via ID
This is better than having to store the password in plaintext.
2023-08-17 18:40:59 +02:00
a6324a668d
Move custom org-password function to db-org
This is where it belongs, even if there's a warning about free variable
referencing.
2023-08-17 17:06:42 +02:00
53f60f1d82
Use vls as (additional?) player for EMMS
This is to increase the available choices for EMMS in case mplayer does not work
for some reason.
2023-08-15 18:10:50 +02:00
cbd97e8c3e
Remove loading of obsolete helm-config library 2023-08-13 10:56:30 +02:00