aodifu
This commit is contained in:
parent
21b5d80814
commit
dbb6181a5d
109
init.el
109
init.el
|
@ -53,7 +53,10 @@
|
|||
"C-<backspace>" #'+backward-kill-word
|
||||
"C-x TAB" #'+indent-rigidly
|
||||
"<f7>" #'flyspell-mode
|
||||
"C-x C-c" #'+save-buffers-quit)
|
||||
"C-x C-c" #'+save-buffers-quit
|
||||
"C-\\" nil ; original: toggle-input-method
|
||||
"C-/" #'undo-only
|
||||
"C-?" #'undo-redo)
|
||||
;; Disable bindings
|
||||
(:global "M-j" nil
|
||||
"<Scroll_Lock>" nil)
|
||||
|
@ -479,6 +482,9 @@
|
|||
;; (+kmacro-recording-indicator-mode +1)
|
||||
(+kmacro-block-undo-mode +1)))
|
||||
|
||||
(setup midnight
|
||||
(midnight-mode +1))
|
||||
|
||||
(setup minibuffer
|
||||
(:require +minibuffer)
|
||||
(:with-map minibuffer-local-map
|
||||
|
@ -898,6 +904,8 @@
|
|||
(add-hook 'kill-buffer-query-functions #'+scratch-immortal))
|
||||
|
||||
(setup sh
|
||||
(:option sh-indentation tab-width)
|
||||
(:hook #'indent-tabs-mode)
|
||||
(:apheleia shfmt '("shfmt")))
|
||||
|
||||
(setup shell
|
||||
|
@ -993,8 +1001,7 @@
|
|||
(:face 'aw-mode-line-face '((t (:foreground "red"))))
|
||||
(+ace-window-display-mode +1))
|
||||
|
||||
(setup (:straight (actually-selected-window
|
||||
:host github
|
||||
(setup (:straight (actually-selected-window :host github
|
||||
:repo "duckwork/actually-selected-window.el"))
|
||||
(actually-selected-window-mode +1))
|
||||
|
||||
|
@ -1121,8 +1128,7 @@
|
|||
browse-kill-ring-separator "")
|
||||
(:hook #'form-feed-mode))
|
||||
|
||||
(setup (:straight (cape
|
||||
:host github :repo "minad/cape"))
|
||||
(setup (:straight (cape :host github :repo "minad/cape"))
|
||||
(let
|
||||
;; All available cape capfs listed here. Add them to the front since
|
||||
;; they're reversed with `add-to-list'.
|
||||
|
@ -1327,8 +1333,7 @@
|
|||
(add-hook 'modus-themes-after-load-theme-hook #'circe-nick-color-reset))
|
||||
(add-hook 'kill-emacs-hook #'+circe-quit-all@kill-emacs))
|
||||
|
||||
(setup (:straight (clean-kill-ring
|
||||
:host github
|
||||
(setup (:straight (clean-kill-ring :host github
|
||||
:repo "NicholasBHubbard/clean-kill-ring.el"))
|
||||
(:require)
|
||||
(:option clean-kill-ring-prevent-duplicates t)
|
||||
|
@ -1481,8 +1486,7 @@
|
|||
"TAB" #'dired-subtree-cycle
|
||||
"i" #'dired-subtree-toggle))
|
||||
|
||||
(setup (:straight (discord
|
||||
:host github
|
||||
(setup (:straight (discord :host github
|
||||
:repo "davep/discord.el"
|
||||
:fork (:repo "duckwork/discord.el"))))
|
||||
|
||||
|
@ -1574,6 +1578,20 @@
|
|||
(file+olp ,(car rmh-elfeed-org-files) "Feeds")
|
||||
"* %? %^g")))
|
||||
|
||||
(setup (:straight (elfeed-tube :host github :repo "karthink/elfeed-tube")
|
||||
(or (executable-find "youtube-dl")
|
||||
(executable-find "yt-dlp")))
|
||||
(:straight (elfeed-tube-mpv :host github :repo "karthink/elfeed-tube"))
|
||||
(:load-after elfeed)
|
||||
(with-eval-after-load 'elfeed
|
||||
(elfeed-tube-setup)
|
||||
(:bind-into (elfeed-show-mode-map elfeed-search-mode-map)
|
||||
"F" #'elfeed-tube-fetch
|
||||
[remap save-buffer] #'elfeed-tube-save)
|
||||
(:bind-into elfeed-show-mode-map
|
||||
"C-c C-f" #'elfeed-tube-mpv-follow-mode
|
||||
"C-c C-w" #'elfeed-tube-mpv-where)))
|
||||
|
||||
(setup (:straight elpher)
|
||||
(:bind "l" #'elpher-back))
|
||||
|
||||
|
@ -1603,8 +1621,7 @@
|
|||
:inherit font-lock-keyword-face))))
|
||||
(:+key "C-," #'embrace-commander))
|
||||
|
||||
(setup (:straight (ement
|
||||
:host github
|
||||
(setup (:straight (ement :host github
|
||||
:repo "alphapapa/ement.el")
|
||||
;; `plz' is a requirement, but isn't on an elpa.
|
||||
(setup (:straight (plz :host github
|
||||
|
@ -1661,19 +1678,11 @@
|
|||
(:+key "C-=" #'er/expand-region
|
||||
"C--" #'+er/contract-or-negative-argument))
|
||||
|
||||
(setup (:straight (fill-sentences-correctly
|
||||
:host github
|
||||
:repo "duckwork/fill-sentences-correctly.el"))
|
||||
(:quit "I don't think this works like how I want.")
|
||||
(fill-sentences-correctly-mode +1))
|
||||
|
||||
(setup (:straight (filldent
|
||||
:host github
|
||||
:repo "duckwork/filldent.el"))
|
||||
(setup (:straight (filldent :host nil
|
||||
:repo "https://codeberg.org/acdw/filldent.el"))
|
||||
(:+key "M-q" #'filldent-unfill-toggle))
|
||||
|
||||
(setup (:straight (flymake-collection
|
||||
:host github
|
||||
(setup (:straight (flymake-collection :host github
|
||||
:repo "mohkale/flymake-collection"))
|
||||
(+ensure-after-init #'flymake-collection-hook-setup))
|
||||
|
||||
|
@ -1702,8 +1711,7 @@
|
|||
'notmuch-message)
|
||||
(:hook-into notmuch-show-mode))
|
||||
|
||||
(setup (:straight (forge
|
||||
:host github :repo "magit/forge")
|
||||
(setup (:straight (forge :host github :repo "magit/forge")
|
||||
(eq system-type 'gnu/linux))
|
||||
(:quit) ; XXX: Somehow missing compat-26
|
||||
(add-to-list 'forge-alist
|
||||
|
@ -1715,9 +1723,8 @@
|
|||
(:face 'form-feed-line '((t (:strike-through t))))
|
||||
(global-form-feed-mode +1))
|
||||
|
||||
(setup (:straight (frowny
|
||||
:host github
|
||||
:repo "duckwork/frowny.el"))
|
||||
(setup (:straight (frowny :host nil
|
||||
:repo "https://codeberg.org/acdw/frowny.el"))
|
||||
(:option frowny-eyes (rx (any ":=") (opt "'") (? "-")))
|
||||
(global-frowny-mode +1))
|
||||
|
||||
|
@ -1738,8 +1745,7 @@
|
|||
(setf (alist-get "\\.scm\\'" auto-insert-alist nil nil #'equal)
|
||||
'(insert "#!/bin/sh\n#| -*- scheme -*-\nexec csi -s $0 \"$@\"\n|#\n")))
|
||||
|
||||
(setup (:straight (git-modes
|
||||
:host github :repo "magit/git-modes"))
|
||||
(setup (:straight (git-modes :host github :repo "magit/git-modes"))
|
||||
(:require git-modes))
|
||||
|
||||
(setup (:straight god-mode
|
||||
|
@ -1763,8 +1769,7 @@
|
|||
(require 'info-look)
|
||||
(info-lookup-setup-mode 'symbol 'emacs-lisp-mode))))
|
||||
|
||||
(setup (:straight (hippie-completing-read
|
||||
:host nil
|
||||
(setup (:straight (hippie-completing-read :host nil
|
||||
:repo "https://codeberg.org/acdw/hippie-completing-read.el"))
|
||||
(:+key "M-/" #'hippie-completing-read))
|
||||
|
||||
|
@ -1825,8 +1830,8 @@
|
|||
(define-key isearch-mb-minibuffer-map (kbd key) command)))))))
|
||||
(isearch-mb-mode +1))
|
||||
|
||||
(setup (:straight (jabber :repo "https://codeberg.org/emacs-jabber/emacs-jabber"
|
||||
:host nil
|
||||
(setup (:straight (jabber :host nil
|
||||
:repo "https://codeberg.org/emacs-jabber/emacs-jabber"
|
||||
:files ("*.el" "*.texi"
|
||||
("jabber-fallback-lib"
|
||||
"jabber-fallback-lib/hexrgb.el"
|
||||
|
@ -1896,8 +1901,8 @@
|
|||
(remove-hook 'jabber-alert-muc-hooks 'jabber-muc-echo)
|
||||
(remove-hook 'jabber-alert-presence-hooks 'jabber-presence-echo))
|
||||
|
||||
(setup (:straight (keepassxc-shim
|
||||
:host github :repo "duckwork/keepassxc-shim.el"))
|
||||
(setup (:straight (keepassxc-shim :host nil
|
||||
:repo "https://codeberg.org/acdw/keepassxc-shim.el"))
|
||||
(keepassxc-shim-activate))
|
||||
|
||||
(setup (:straight keychain-environment
|
||||
|
@ -1926,8 +1931,8 @@
|
|||
"M-c" #'+link-hint-open-chrome "c" #'+link-hint-open-chrome)))
|
||||
|
||||
(setup (:straight (machine
|
||||
:host github
|
||||
:repo "duckwork/machine.el"))
|
||||
:host nil
|
||||
:repo "https://codeberg.org/acdw/machine.el"))
|
||||
(+with-ensure-after-init ; So that they override anything here.
|
||||
;; Emoji fonts
|
||||
(let ((ffl (font-family-list))
|
||||
|
@ -2008,7 +2013,10 @@
|
|||
(:option modus-themes-mixed-fonts t
|
||||
modus-themes-bold-constructs t
|
||||
modus-themes-italic-constructs t
|
||||
modus-themes-headings '((t t)))
|
||||
modus-themes-headings '((1 monochrome bold overline)
|
||||
(2 monochrome bold)
|
||||
(3 monochrome italic)
|
||||
(t monochrome)))
|
||||
(dotimes (facen-1 8)
|
||||
(let ((facen (1+ facen-1)))
|
||||
(custom-set-faces
|
||||
|
@ -2178,8 +2186,8 @@
|
|||
(local-set-key (kbd "C-c M-o") 'org-mime-org-buffer-htmlize))))
|
||||
|
||||
(setup (:straight (org-taskwise
|
||||
:host github
|
||||
:repo "duckwork/org-taskwise.el"))
|
||||
:host nil
|
||||
:repo "https://codeberg.org/acdw/org-taskwise.el.git"))
|
||||
(with-eval-after-load 'org
|
||||
(require 'org-taskwise)
|
||||
(define-key org-mode-map (kbd "C-x n t") #'org-taskwise-narrow-to-task)))
|
||||
|
@ -2264,9 +2272,8 @@
|
|||
persistent-scratch-scratch-buffer-p-function))
|
||||
|
||||
(setup (:straight (plancat
|
||||
:host github
|
||||
:repo "duckwork/plancat.el"
|
||||
:local-repo "~/src/emacs-packages/plancat.el/"))
|
||||
:host nil
|
||||
:repo "https://codeberg.org/acdw/plancat.el"))
|
||||
(:option plancat-user "acdw"))
|
||||
|
||||
(setup (:straight pocket-reader)
|
||||
|
@ -2287,8 +2294,6 @@
|
|||
(setup (:straight rainbow-mode)
|
||||
(:hook-into prog-mode))
|
||||
|
||||
(setup (:straight restart-emacs))
|
||||
|
||||
(setup (:straight (shell-command+
|
||||
:host nil
|
||||
:repo "https://git.sr.ht/~pkal/shell-command-plus"))
|
||||
|
@ -2375,8 +2380,8 @@
|
|||
(:hook-into prog-mode))
|
||||
|
||||
(setup (:straight (sophomore
|
||||
:host github
|
||||
:repo "duckwork/sophomore.el"))
|
||||
:host nil
|
||||
:repo "https://codeberg.org/acdw/sophomore.el"))
|
||||
(sophomore-enable #'narrow-to-region)
|
||||
(sophomore-disable ; These are mostly annoying commands
|
||||
#'view-hello-file
|
||||
|
@ -2389,8 +2394,8 @@
|
|||
(sophomore-mode +1))
|
||||
|
||||
(setup (:straight (spongebob-case
|
||||
:host github
|
||||
:repo "duckwork/spongebob-case.el")))
|
||||
:host nil
|
||||
:repo "https://codeberg.org/acdw/spongebob-case.el")))
|
||||
|
||||
(setup (:straight ssh-config-mode)
|
||||
(:file-match (rx "/.ssh/config" eos)
|
||||
|
@ -2414,8 +2419,8 @@
|
|||
(:option systemd-man-function 'woman))
|
||||
|
||||
(setup (:straight (titlecase
|
||||
:host github
|
||||
:repo "duckwork/titlecase.el"
|
||||
:host nil
|
||||
:repo "https://codeberg.org/acdw/titlecase.el"
|
||||
:files ("*")))
|
||||
(:require titlecase +titlecase)
|
||||
(:with-map +casing-map
|
||||
|
@ -2466,7 +2471,7 @@
|
|||
(:option twtxt-file _twtxt-file
|
||||
twtxt-following _twtxt-following))
|
||||
|
||||
(setup (:straight undo-fu)
|
||||
(setup (:straight undo-fu) (:quit "Trying native undo functionality")
|
||||
(:option undo-fu-allow-undo-in-region t)
|
||||
(:global "C-/" #'undo-fu-only-undo
|
||||
"C-?" #'undo-fu-only-redo))
|
||||
|
|
|
@ -206,8 +206,17 @@ Do this only if the buffer is not visiting a file."
|
|||
|
||||
;;; Hooks
|
||||
|
||||
(add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)
|
||||
(add-hook 'minibuffer-setup-hook 'cursor-intangible-mode)
|
||||
(add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)
|
||||
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
|
||||
|
||||
(defun +auto-create-missing-dirs ()
|
||||
"Automatically create missing directories when finding a file."
|
||||
;; https://emacsredux.com/blog/2022/06/12/auto-create-missing-directories/
|
||||
(let ((target-dir (file-name-directory buffer-file-name)))
|
||||
(unless (file-exists-p target-dir)
|
||||
(make-directory target-dir t))))
|
||||
|
||||
(add-hook 'find-file-not-found-functions #'+auto-create-missing-dirs)
|
||||
|
||||
|
||||
;;; Better-default functions ...
|
||||
|
|
37
lisp/+org.el
37
lisp/+org.el
|
@ -729,5 +729,42 @@ When called with a prefix ARG, will still unconditionally call
|
|||
((org-at-table-p) #'org-table-wrap-region)
|
||||
(t #'org-return)))))
|
||||
|
||||
|
||||
;;; el-patch
|
||||
|
||||
(el-patch-defun org-format-outline-path (path &optional width prefix separator)
|
||||
"Format the outline path PATH for display.
|
||||
WIDTH is the maximum number of characters that is available.
|
||||
PREFIX is a prefix to be included in the returned string,
|
||||
such as the file name.
|
||||
SEPARATOR is inserted between the different parts of the path,
|
||||
the default is \"/\"."
|
||||
(setq width (or width 79))
|
||||
(setq path (delq nil path))
|
||||
(unless (> width 0)
|
||||
(user-error "Argument `width' must be positive"))
|
||||
(setq separator (or separator "/"))
|
||||
(let* ((org-odd-levels-only nil)
|
||||
(fpath (concat
|
||||
prefix (and prefix path separator)
|
||||
(mapconcat
|
||||
(lambda (s) (replace-regexp-in-string "[ \t]+\\'" "" s))
|
||||
(cl-loop for head in path
|
||||
for n from 0
|
||||
collect (el-patch-swap
|
||||
(org-add-props
|
||||
head nil 'face
|
||||
(nth (% n org-n-level-faces) org-level-faces))
|
||||
head))
|
||||
separator))))
|
||||
(when (> (length fpath) width)
|
||||
(if (< width 7)
|
||||
;; It's unlikely that `width' will be this small, but don't
|
||||
;; waste characters by adding ".." if it is.
|
||||
(setq fpath (substring fpath 0 width))
|
||||
(setf (substring fpath (- width 2)) "..")))
|
||||
fpath))
|
||||
|
||||
|
||||
(provide '+org)
|
||||
;;; +org.el ends here
|
||||
|
|
|
@ -4,10 +4,14 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(defun +titlecase-sentence-style-dwim ()
|
||||
"Titlecase a sentence."
|
||||
(interactive)
|
||||
(titlecase-dwim 'sentence))
|
||||
(defun +titlecase-sentence-style-dwim (&optional arg)
|
||||
"Titlecase a sentence.
|
||||
With prefix ARG, toggle the value of
|
||||
`titlecase-downcase-sentences' before sentence-casing."
|
||||
(interactive "P")
|
||||
(let ((titlecase-downcase-sentences (if arg (not titlecase-downcase-sentences)
|
||||
titlecase-downcase-sentences)))
|
||||
(titlecase-dwim 'sentence)))
|
||||
|
||||
(defun +titlecase-org-headings ()
|
||||
(interactive)
|
||||
|
|
|
@ -8,33 +8,36 @@
|
|||
(require 'machine)
|
||||
|
||||
(defun +bob-set-faces (&rest _)
|
||||
(let ((base-face "IBM Plex Mono")
|
||||
(base-size 110)
|
||||
(let (;;(base-face "IBM Plex Mono")
|
||||
(base-face "Iosevka Comfy Wide")
|
||||
(base-size 100)
|
||||
(italic-face nil)
|
||||
;; (bold-face nil)
|
||||
(mono-face nil)
|
||||
(var-face "IBM Plex Sans")
|
||||
;; (var-face "IBM Plex Sans")
|
||||
(var-face "Iosevka Comfy Duo")
|
||||
(var-size 1.0))
|
||||
(+set-faces
|
||||
`((default
|
||||
:family ,base-face
|
||||
:height ,base-size
|
||||
:weight normal)
|
||||
;; (bold :family ,(or bold-face base-face)
|
||||
;; :weight bold)
|
||||
(italic :family ,(or italic-face base-face)
|
||||
:weight regular)
|
||||
(bold :family ,(or (bound-and-true-p bold-face) base-face)
|
||||
:weight extra-bold)
|
||||
(italic :family ,(or (bound-and-true-p italic-face) base-face)
|
||||
:weight normal
|
||||
:slant italic)
|
||||
(fixed-pitch :family ,(or mono-face base-face)
|
||||
(fixed-pitch :family ,(or (bound-and-true-p mono-face) base-face)
|
||||
:height 1.0)
|
||||
(variable-pitch
|
||||
:family ,(or var-face base-face)
|
||||
:height ,var-size)
|
||||
(org-italic
|
||||
:family ,(or var-face base-face)
|
||||
:slant italic)))))
|
||||
;; (org-italic
|
||||
;; :family ,(or var-face base-face)
|
||||
;; :slant italic)
|
||||
))))
|
||||
|
||||
;; Other ideas: [[https://twitter.com/NPRougier/status/1488570192561160195][from Nic Rougier]]
|
||||
(add-function :after machine-after-load-theme #'+bob-set-faces)
|
||||
(add-hook 'machine-after-load-theme-hook #'+bob-set-faces)
|
||||
|
||||
;; bob.el ends here (+bob-set-faces)
|
||||
|
|
Loading…
Reference in New Issue