summaryrefslogtreecommitdiff
path: root/.emacs
AgeCommit message (Collapse)Author
2023-08-20Cleanup project-related commandsKévin Le Gouguec
* Remove provisions for Emacs<28. * Move Magit command to my/magit-map.
2023-07-30Add command to toggle between author/commit datesKévin Le Gouguec
2023-07-30Chip away at Custom fileKévin Le Gouguec
Move Python settings to use-package. Tweak a couple of knobs while in there.
2023-06-21Set a couple of Org ergonomics optionsKévin Le Gouguec
* "Extra keys" are advertised for non-graphical configurations; as it happens, they are also useful to provide substitutes for bindings based on arrow keys. * Speed commands are nice. Might tweak the predicate some day, but the default is already useful.
2023-06-21Switch to default completion UIKévin Le Gouguec
Mostly to avoid icomplete jank (bug#40152). Inspired by: <https://www.scss.tcd.ie/~sulimanm/posts/default-emacs-completion.html> Rationale for the customizations: C-M- chord for navigation Because I found myself missing C-n/C-p in a couple of situations. auto-help 'visible The feedback is not as immediate as icomplete, but it's good enough. Tried 'always, but there's a sit-for somewhere that causes a weird pause if you happen to RET before bringing up completions. auto-select 'second-tab M-v? M-g M-c?? show-help nil "Click on a selection to select it" 😏 format 'one-column Where have you been all my life. max-height 10 More often than not I'm typing something inspired by the content from another buffer, so limit how much context *Completions* can hide. auto-choose icomplete never clobbered the minibuffer until I asked it to (with e.g. C-M-i). Since C-u M-RET is a thing, keep candidates off the minibuffer unless I pull them in, in case I change my mind and start typing something entirely different from the currently highlighted candidate.
2023-06-04Convert diff-hl tweaks to use-packageKévin Le Gouguec
Puzzled by this problem I have with :hook. "(use-package) Hooks" suggests that if package X defines function X-foo to be used by package Y in Y-bar-hook, then the idiomatic thing to do is… (use-package X :hook ((Y-bar . X-foo))) … but empirically, if Y.el contains… (defcustom Y-bar-hook '(Y-quux Y-corge)) (add-hook 'Y-bar-hook #'Y-grault) … then Y-bar-hook will be set to '(X-foo Y-grault): it will be missing the functions added in the defcustom form. Since add-hook does this: (or (boundp hook) (set hook nil)) I am assuming that the problem happens when use-package runs X's :hook additions before Y is loaded. No idea (a) if I can reproduce from -Q (b) if this is a SNAFU from setting always-defer (c) if this could be solved by sprinkling :after or :requires.
2023-06-04Add command to show --help for CLI commandsKévin Le Gouguec
2023-05-18Use default ElDoc echo area settingsKévin Le Gouguec
Recent ElDoc & Eglot developments have made the defaults much more tolerable (the echo area height does not oscillate as much) & useful (linter warnings are no longer preempted by symbol documentation).
2023-04-19Show gravatars in Magit buffersKévin Le Gouguec
'cause why not.
2023-04-19Tweak new ERC 5.6 knobsKévin Le Gouguec
2023-03-05Commit a bunch of .emacs stuffKévin Le Gouguec
* ponder magical "kill context so I can paste it into another app" commands, * remove obsolete Magit variables, * make org-goto use the "path completion" UI, * ponder better buffer names for some buffers.
2023-02-12Adjust shell-mode-hookKévin Le Gouguec
Leave font-lock faces alone; just unset shell-font-lock-keywords.
2023-01-15Port more settings to use-packageKévin Le Gouguec
2023-01-12Remove leftover from 2022-12-30 "Tweak ERC settings" (19d34b7)Kévin Le Gouguec
2023-01-12Move show-paren settings to use-packageKévin Le Gouguec
show-paren-mode is not needed for Emacs≥28, but I still have stuff in these dotfiles that purport to support older versions.
2023-01-11Add a couple of handy commands to C-c d mapKévin Le Gouguec
They've been sitting here unstaged for, like, ever.
2023-01-09Switch to personal themeKévin Le Gouguec
2023-01-03Thoroughly adapt to Modus v4Kévin Le Gouguec
😵‍💫 Trying to get back the sense of sharp contrast I had before. Snippets from *scratch* in case I need to recompute some of these: (defun my/color-hsl-to-rgbhex (h s l) (apply 'color-rgb-to-hex `(,@(color-hsl-to-rgb h s l) 2))) (defun my/color-hs1-l2 (c1 c2) (pcase-let ((`(,h1 ,s1 _) (apply 'color-rgb-to-hsl (color-name-to-rgb c1))) (`(_ _ ,l2) (apply 'color-rgb-to-hsl (color-name-to-rgb c2)))) (message "hue %.3f with s %.3f l %.3f" h1 s1 l2) (apply 'color-rgb-to-hex `(,@(color-hsl-to-rgb h1 s1 l2) 2)))) (defun my/modus-rgb (key palette) (let ((value (car (alist-get key palette)))) (if (stringp value) value (car (alist-get value palette))))) (list-colors-display (list (my/modus-rgb 'bg-completion modus-vivendi-palette) (my/color-hs1-l2 (my/modus-rgb 'bg-completion modus-vivendi-palette) "#303030") (my/color-hs1-l2 (my/modus-rgb 'bg-completion modus-vivendi-palette) "#202020"))) (pcase-dolist (`(,sym ,val) modus-vivendi-palette) (when-let ((color (and (string-match "bg-\\(.*\\)-subtle" (symbol-name sym)) (match-string 1 (symbol-name sym)))) (darker (color-darken-name val 40.0))) (message "%s (%s): %.2f" color val (modus-themes-contrast val (car (alist-get (intern color) modus-vivendi-palette)))) (message "%s (%s): %.2f" color darker (modus-themes-contrast darker (car (alist-get (intern color) modus-vivendi-palette)))))) (dolist (diffkind '(removed changed)) (dolist (suffix '("" "-faint" "-refine")) (insert (format "(bg-%s%s \"%s\")\n" )))) (list-colors-display (seq-map (pcase-lambda (`(,h ,l)) (apply 'color-rgb-to-hex `(,@(color-hsl-to-rgb h 1.0 l) 2))) '((0.00 0.04) (0.00 0.08) (0.00 0.16) (0.59 0.04) (0.59 0.08) (0.59 0.16) (0.12 0.04) (0.12 0.08) (0.12 0.16))))
2023-01-01Tentatively adapt to Modus 4Kévin Le Gouguec
FTR, things that I expect to need further tweaks and/or discussions with Prot: (a) no "version" command, so it's kind of hard to guess what we are working with programmatically, (b) preset palettes overrides are unavailable before loading the themes, and we can't require 'modus-themes either; maybe the manual should point out that users who want to use those presets should (1) do that in :config (2) load the theme twice? (c) lots of backgrounds look very light/saturated to me even in the "faint preset": e.g. diff backgrounds, selected completion, region, eldoc current argument.
2022-12-30Port sneaky isearch setting to use-packageKévin Le Gouguec
2022-12-30Tweak some input sequences for math symbolsKévin Le Gouguec
Try as I might, I can't get my fingers to reach for underscores when my brain is thinking of *equality signs.
2022-12-30Defer all package loadsKévin Le Gouguec
I don't use any of the auto-deferring keywords; setting this shaves a bit off my startup time (5s ↘ 3.2s).
2022-12-30Revert "Defer some package loads"Kévin Le Gouguec
This reverts commit d3e251ac8ac4ee953fe24234b4ff4755a185b494. Will customize use-package-always-defer instead.
2022-12-30Defer some package loadsKévin Le Gouguec
2022-12-30Tweak .emacs commentsKévin Le Gouguec
2022-12-30Tweak ERC settingsKévin Le Gouguec
2022-12-30Make setopt handle multiple variable/value pairsKévin Le Gouguec
Also move it up, closer to Custom-related stuff.
2022-12-27Port package configuration to use-packageKévin Le Gouguec
Also update package list: - account eglot and use-package being built-in - add a couple of packages for Emacs development (elisp-benchmarks, gnus-mock) - remove paradox (most features now built into vanilla package.el)
2022-11-20Port modus config to use-packageKévin Le Gouguec
Following the advice from (modus-themes) Sample configuration with and without use-package.
2022-11-20Keep porting to use-packageKévin Le Gouguec
That one was a doozy.
2022-11-20Port some package settings to use-packageKévin Le Gouguec
Undecided about C-c bindings. I like having them in "one neat pile", rather than scattered across several use-package forms.
2022-11-20Fix org-refile-targets customizationKévin Le Gouguec
2022-11-20Start porting to use-packageKévin Le Gouguec
2022-11-20Make .emacs outline-compliantKévin Le Gouguec
2022-11-20Add functions for rich clipboard interactionKévin Le Gouguec
In order to copy/paste between word processors and Emacs markup modes. This needs a bit more work (e.g. when copying Org snippets, we need to siphon some #+ macros and copy any #+SETUPFILEs) but it's a start.
2022-11-06Undo margins when checking whether window is splittableKévin Le Gouguec
2022-11-05Rename some Emacs commandsKévin Le Gouguec
2022-10-29Adapt my/centered-mode to split-root-window-rightKévin Le Gouguec
(window-buffer window-to-split) returns nil in that case, because window-to-split is the root of the "window tree" rather than a "leaf" or "live" window with an actual buffer attached to it.
2022-10-02Unset margins before attempting to split windowKévin Le Gouguec
Emacs seems to take margins into account when deciding whether a window can be split horizontally. So with my current personal config, a full-width Gnus article window would have huge margins, and could not be split horizontally because a half-width window would not have enough room for these margins.
2022-10-01Use my/centered-mode instead of relying on Gnus layoutsKévin Le Gouguec
Lots of commands in Gnus buffers try to reinstate the setup defined in gnus-buffer-configuration, so when eg drafting a message with the original article displayed on the side, and using P or N to move around the thread, there ends up being some friction in window management. So stop using the Group buffer as a way to left-pad articles; it doesn't even look good on half-width frames anyway.
2022-10-01Fix buffer-local value lookupKévin Le Gouguec
Couple of mistakes there: * buffer-local-value was called too late, * the symbol wasn't quoted, so buffer-local-value ended up taking a peek at fill-column directly, because that's what my/centered-width defaults to. Just wrap the whole thing in with-current-buffer. That'll make it easier to introduce new buffer-local variables set via mode hooks.
2022-09-02Add emoji method to my/input-mapKévin Le Gouguec
2022-06-16Remove Modus deuteranopia/bg-only kludgeKévin Le Gouguec
2022-05-26Add minor mode to keep buffer content centered on windowKévin Le Gouguec
2022-05-22Tone down ediff facesKévin Le Gouguec
2022-05-15Shorten eglot lighterKévin Le Gouguec
2022-05-15Break up .emacs section into smaller chunksKévin Le Gouguec
2022-05-15Shorten flymake lighterKévin Le Gouguec
2022-02-17Fix Modus customizationKévin Le Gouguec
2022-02-13Add MELPA with add-to-listKévin Le Gouguec
I could update the Custom value to add NonGNU ELPA, but at this point I'd rather forsake Custom for lists altogether.