diff --git a/init.org b/init.org index 4179019..1a4a83a 100644 --- a/init.org +++ b/init.org @@ -24,6 +24,7 @@ Some background is important to understand my keybinding choices - * package.el :package: :PROPERTIES: :CREATED: 2021-12-20T20:41:17+0530 +:CUSTOM_ID: package.el :END: #+BEGIN_SRC emacs-lisp (require 'package) @@ -38,6 +39,9 @@ Some background is important to understand my keybinding choices - #+END_SRC * use-package :package: +:PROPERTIES: +:CUSTOM_ID: use-package +:END: #+BEGIN_SRC emacs-lisp (add-to-list 'load-path "~/.emacs.d/elisp-git/use-package/") (require 'use-package) @@ -45,6 +49,9 @@ Some background is important to understand my keybinding choices - #+END_SRC * quelpa +:PROPERTIES: +:CUSTOM_ID: quelpa +:END: #+BEGIN_SRC emacs-lisp (unless (package-installed-p 'quelpa) (with-temp-buffer @@ -61,6 +68,9 @@ Some background is important to understand my keybinding choices - #+END_SRC * TODO dvorak [60%] +:PROPERTIES: +:CUSTOM_ID: dvorak +:END: At first I decided to remap all Emacs, Boon, and Hydra bindings, but it turned out to not be my idea of fun. I wrote boon-dvorak, and let [most of] the others be. (QWERTY) C-w, C-u, and C-h are probably best left as they are, since they are also present in other applications. @@ -122,6 +132,7 @@ Use window title for buffer names. :PROPERTIES: :literate-load: yes :header-args: :load yes :tangle yes +:CUSTOM_ID: helpers :END: A less repetitive way to start processes. Also enables Boon in the process buffer, so I can easy navigate it, copy text in it, or switch away from it. #+BEGIN_SRC emacs-lisp :load no @@ -156,6 +167,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** Startup programs :disabled: +:PROPERTIES: +:CUSTOM_ID: startup-programs +:END: #+BEGIN_SRC emacs-lisp :load no :tangle no (my-start-process (expand-file-name "~/bin/kmonad") "kmonad" (expand-file-name "~/kmonad-tvs.kbd")) (my-start-process (expand-file-name "~/bin/kmonad") "kmonad" (expand-file-name "~/kmonad-legion.kbd")) @@ -165,6 +179,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** volume +:PROPERTIES: +:CUSTOM_ID: volume +:END: #+BEGIN_SRC emacs-lisp (use-package volume :ensure t @@ -246,6 +263,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** package.el :package: +:PROPERTIES: +:CUSTOM_ID: package.el-1 +:END: #+BEGIN_SRC emacs-lisp (use-package package :bind @@ -257,6 +277,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** feather :package: +:PROPERTIES: +:CUSTOM_ID: feather +:END: #+BEGIN_SRC emacs-lisp (use-package feather :ensure t @@ -266,6 +289,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** esup, the Emacs StartUp Profiler +:PROPERTIES: +:CUSTOM_ID: esup +:END: #+BEGIN_SRC emacs-lisp (use-package esup :ensure t @@ -273,6 +299,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** gnutls +:PROPERTIES: +:CUSTOM_ID: gnutls +:END: #+BEGIN_SRC emacs-lisp (use-package gnutls :config @@ -281,6 +310,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** help-mode :viewer: +:PROPERTIES: +:CUSTOM_ID: help-mode +:END: #+BEGIN_SRC emacs-lisp (use-package help-mode :bind @@ -290,6 +322,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** helpful :viewer: +:PROPERTIES: +:CUSTOM_ID: helpful +:END: #+BEGIN_SRC emacs-lisp (use-package helpful :ensure t @@ -301,6 +336,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** keyfreq :disabled: +:PROPERTIES: +:CUSTOM_ID: keyfreq +:END: #+BEGIN_SRC emacs-lisp (use-package keyfreq :init @@ -335,7 +373,7 @@ NAME is the name of the process and its buffer." * User interface :PROPERTIES: -:CUSTOM_ID: ui +:CUSTOM_ID: user-interface :END: #+BEGIN_SRC emacs-lisp ;; Simplify the GUI, thanks @@ -358,6 +396,9 @@ NAME is the name of the process and its buffer." #+END_SRC ** font size +:PROPERTIES: +:CUSTOM_ID: font-size +:END: #+BEGIN_SRC emacs-lisp (setq default-frame-alist '((font . "DejaVu Sans Mono-12"))) ;; (set-face-attribute 'default nil :height 120) @@ -366,6 +407,7 @@ NAME is the name of the process and its buffer." ** time :PROPERTIES: :CREATED: 2022-01-16T12:47:09+0530 +:CUSTOM_ID: time :END: #+BEGIN_SRC emacs-lisp (use-package time @@ -376,7 +418,7 @@ NAME is the name of the process and its buffer." ** shackle :PROPERTIES: -:CUSTOM_ID: ui-shackle +:CUSTOM_ID: shackle :END: #+BEGIN_SRC emacs-lisp (use-package shackle @@ -387,7 +429,7 @@ NAME is the name of the process and its buffer." ** Theme :PROPERTIES: -:CUSTOM_ID: ui-theme +:CUSTOM_ID: theme :END: Must put this after loading the custom file, or I get prompted about the theme each time. @@ -492,6 +534,9 @@ Must put this after loading the custom file, or I get prompted about the theme e #+END_SRC ** compile +:PROPERTIES: +:CUSTOM_ID: compile +:END: #+BEGIN_SRC emacs-lisp (use-package compile :config @@ -503,6 +548,7 @@ Must put this after loading the custom file, or I get prompted about the theme e *** my-compile-project :PROPERTIES: :CREATED: 2022-01-16T12:44:33+0530 +:CUSTOM_ID: my-compile-project :END: #+BEGIN_SRC emacs-lisp (defun my-compile-project (file &optional prefix cmd) @@ -525,7 +571,7 @@ With PREFIX argument and omitted CMD, prompt for command." *** jump to Org LP from compilation output :PROPERTIES: -:CUSTOM_ID: compile-org-lp-jump +:CUSTOM_ID: my-org-lp-goto-error :END: #+BEGIN_SRC emacs-lisp @@ -571,6 +617,9 @@ ARGS are ignored." #+END_SRC ** TODO Hydra [0%] +:PROPERTIES: +:CUSTOM_ID: hydra +:END: I started off using Hydra for programming modes, when I noticed that Elisp, Common Lisp, and Scheme all had some semantically-analogous operations with different names, which could be abstracted away behind a generic interface. Then, around the time I got into using Org for literate programs, I added an Org hydra, and then a general hydra for frequently-used operations. Add these common operations to the hydra - @@ -589,6 +638,9 @@ Add these common operations to the hydra - #+END_SRC *** common hydra heads +:PROPERTIES: +:CUSTOM_ID: common-hydra-heads +:END: #+BEGIN_SRC emacs-lisp (defvar my-hydra-common-heads '(("0" delete-window "delete this" :color red) @@ -628,6 +680,9 @@ Add these common operations to the hydra - #+END_SRC *** Line display +:PROPERTIES: +:CUSTOM_ID: line-display +:END: #+BEGIN_SRC emacs-lisp (defhydra contrapunctus-line-display-hydra (:color red) "Line display" @@ -639,6 +694,9 @@ Add these common operations to the hydra - #+END_SRC *** Window +:PROPERTIES: +:CUSTOM_ID: window +:END: #+BEGIN_SRC emacs-lisp (defhydra contrapunctus-window-hydra (:color red) "Window" @@ -656,6 +714,9 @@ Add these common operations to the hydra - #+END_SRC *** multiple cursors +:PROPERTIES: +:CUSTOM_ID: multiple-cursors +:END: #+BEGIN_SRC emacs-lisp (defhydra contrapunctus-mc-hydra (:color red :hint none) " @@ -683,6 +744,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** info +:PROPERTIES: +:CUSTOM_ID: hydra-info +:END: #+BEGIN_SRC emacs-lisp (defhydra contrapunctus-info-hydra (:color blue) "Info" @@ -699,6 +763,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Help +:PROPERTIES: +:CUSTOM_ID: help +:END: #+BEGIN_SRC emacs-lisp (defhydra my-help-hydra (:color blue) "Help" @@ -712,6 +779,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Search +:PROPERTIES: +:CUSTOM_ID: search +:END: #+BEGIN_SRC emacs-lisp (defhydra my-search-hydra (:color blue) "Search command:" @@ -723,6 +793,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** General +:PROPERTIES: +:CUSTOM_ID: general +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-general-hydra (:color blue) "What command?" @@ -734,6 +807,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** applications +:PROPERTIES: +:CUSTOM_ID: hydra-applications +:END: #+BEGIN_SRC emacs-lisp (defhydra my-app-hydra (:color blue) "What application?" @@ -771,6 +847,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** org +:PROPERTIES: +:CUSTOM_ID: hydra-org +:END: #+BEGIN_SRC emacs-lisp (defun my-compile-org-lp (&optional prefix) (interactive) @@ -801,6 +880,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** eval +:PROPERTIES: +:CUSTOM_ID: eval +:END: #+BEGIN_SRC emacs-lisp (defhydra my-org-eval-hydra (:color blue) "Eval" @@ -808,6 +890,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** org block +:PROPERTIES: +:CUSTOM_ID: org-block +:END: #+BEGIN_SRC emacs-lisp (defhydra my-org-hydra-block (:color blue) "Org block" @@ -821,6 +906,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** org navigation +:PROPERTIES: +:CUSTOM_ID: org-navigation +:END: #+BEGIN_SRC emacs-lisp (defhydra my-org-hydra-nav (:color red) "Navigation" @@ -842,6 +930,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** jabber +:PROPERTIES: +:CUSTOM_ID: hydra-jabber +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-jabber-hydra (:color blue) "Jabber" @@ -854,6 +945,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Emacs Lisp +:PROPERTIES: +:CUSTOM_ID: hydra-emacs-lisp +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-elisp-hydra (:color blue) "Emacs Lisp" @@ -873,6 +967,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** eval +:PROPERTIES: +:CUSTOM_ID: eval-1 +:END: #+BEGIN_SRC emacs-lisp (defhydra my-elisp-hydra-eval (:color blue) ("b" eval-buffer "buffer") @@ -881,6 +978,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** unit testing +:PROPERTIES: +:CUSTOM_ID: unit-testing +:END: #+BEGIN_SRC emacs-lisp (defhydra contrapunctus-el-test (:color blue) ("e" (my-compile-project "Cask" "cask exec buttercup -L . --traceback pretty") "buttercup") @@ -888,6 +988,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** debug +:PROPERTIES: +:CUSTOM_ID: debug +:END: #+BEGIN_SRC emacs-lisp (defhydra my-elisp-hydra-debug (:color blue) "Debug" @@ -897,6 +1000,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** byte-compile +:PROPERTIES: +:CUSTOM_ID: byte-compile +:END: #+BEGIN_SRC emacs-lisp (defhydra my-elisp-bytecomp-hydra (:color blue) "Byte compile" @@ -909,6 +1015,7 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol **** insert :PROPERTIES: :CREATED: 2022-01-05T19:45:33+0530 +:CUSTOM_ID: insert :END: #+BEGIN_SRC emacs-lisp (defhydra my-elisp-insert-hydra (:color blue) @@ -918,6 +1025,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Common Lisp +:PROPERTIES: +:CUSTOM_ID: hydra-common-lisp +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-cl-hydra (:color blue) "Common Lisp" @@ -933,6 +1043,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** eval +:PROPERTIES: +:CUSTOM_ID: eval-2 +:END: #+BEGIN_SRC emacs-lisp (defhydra my-cl-hydra-eval (:color blue) "Eval (CL)" @@ -943,6 +1056,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** help +:PROPERTIES: +:CUSTOM_ID: help-1 +:END: #+BEGIN_SRC emacs-lisp (defhydra my-cl-help-hydra (:color blue) ("s" slime-documentation "slime") @@ -955,7 +1071,13 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Scheme +:PROPERTIES: +:CUSTOM_ID: hydra-scheme +:END: **** eval +:PROPERTIES: +:CUSTOM_ID: hydra-scheme-eval +:END: #+BEGIN_SRC emacs-lisp (defhydra cp-scm-eval (:color blue) ("b" geiser-eval-buffer "buffer") @@ -966,6 +1088,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC **** CHICKEN Scheme +:PROPERTIES: +:CUSTOM_ID: hydra-chicken-scheme +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-chicken-hydra (:color blue) "CHICKEN Scheme" @@ -976,7 +1101,11 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol ("E" toggle-debug-on-error "tdoe") ("Q" toggle-debug-on-quit "tdoq")) #+END_SRC + **** Guile +:PROPERTIES: +:CUSTOM_ID: hydra-guile +:END: #+BEGIN_SRC emacs-lisp (my-defhydra cp-guile (:color blue) "Guile" @@ -989,6 +1118,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Lilypond +:PROPERTIES: +:CUSTOM_ID: hydra-lilypond +:END: #+BEGIN_SRC emacs-lisp (defun my-compile-ly (&optional prefix) (interactive) @@ -1005,6 +1137,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** Prolog +:PROPERTIES: +:CUSTOM_ID: hydra-prolog +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-prolog-hydra (:color blue) "Prolog" @@ -1014,6 +1149,9 @@ _u_: next word ^_l_: edit lines^ _s_: next whole symbol #+END_SRC *** my-dispatch-hydra +:PROPERTIES: +:CUSTOM_ID: my-dispatch-hydra +:END: Don't try to check if there are files with a certain extension...it will lead to false positives. #+BEGIN_SRC emacs-lisp (defun my-dispatch-hydra () @@ -1047,6 +1185,9 @@ Don't try to check if there are files with a certain extension...it will lead to #+END_SRC *** shell script +:PROPERTIES: +:CUSTOM_ID: shell-script +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-shell-hydra (:color blue) "Shell" @@ -1059,6 +1200,9 @@ Don't try to check if there are files with a certain extension...it will lead to #+END_SRC *** SQL +:PROPERTIES: +:CUSTOM_ID: hydra-sql +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-sql-hydra (:color blue) "SQL" @@ -1073,6 +1217,9 @@ Don't try to check if there are files with a certain extension...it will lead to #+END_SRC *** comint +:PROPERTIES: +:CUSTOM_ID: hydra-comint +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-comint-hydra (:color blue) "comint" @@ -1086,6 +1233,9 @@ Don't try to check if there are files with a certain extension...it will lead to #+END_SRC *** LaTeX +:PROPERTIES: +:CUSTOM_ID: hydra-latex +:END: #+BEGIN_SRC emacs-lisp (my-defhydra my-tex-hydra (:color blue) ("j" xref-find-definitions "Jump to definition") @@ -1106,9 +1256,12 @@ Don't try to check if there are files with a certain extension...it will lead to #+END_SRC ** mode line +:PROPERTIES: +:CUSTOM_ID: mode-line +:END: *** moody :PROPERTIES: -:CUSTOM_ID: ui-moody +:CUSTOM_ID: moody :END: nicked from https://github.com/tarsius/moody #+BEGIN_SRC emacs-lisp @@ -1133,6 +1286,9 @@ nicked from https://github.com/tarsius/moody #+END_SRC *** powerline :disabled: +:PROPERTIES: +:CUSTOM_ID: powerline +:END: #+BEGIN_SRC emacs-lisp (use-package powerline :disabled t @@ -1140,6 +1296,9 @@ nicked from https://github.com/tarsius/moody #+END_SRC *** doom-modeline +:PROPERTIES: +:CUSTOM_ID: doom-modeline +:END: #+BEGIN_SRC emacs-lisp (use-package doom-modeline :ensure t @@ -1148,10 +1307,13 @@ nicked from https://github.com/tarsius/moody * Searching :PROPERTIES: -:CUSTOM_ID: search +:CUSTOM_ID: searching :END: ** isearch +:PROPERTIES: +:CUSTOM_ID: isearch +:END: #+BEGIN_SRC emacs-lisp (use-package isearch :bind (:map isearch-mode-map @@ -1177,7 +1339,7 @@ nicked from https://github.com/tarsius/moody ** Swiper :PROPERTIES: -:CUSTOM_ID: search-swiper +:CUSTOM_ID: swiper :END: #+BEGIN_SRC emacs-lisp (use-package swiper @@ -1203,6 +1365,9 @@ nicked from https://github.com/tarsius/moody #+END_SRC ** Recenter screen on isearch matches +:PROPERTIES: +:CUSTOM_ID: recenter-screen-on-isearch-matches +:END: #+BEGIN_SRC emacs-lisp (add-hook 'isearch-mode-hook 'recenter) (add-hook 'isearch-update-post-hook 'recenter) @@ -1224,6 +1389,9 @@ nicked from https://github.com/tarsius/moody #+END_SRC ** grep +:PROPERTIES: +:CUSTOM_ID: grep +:END: #+BEGIN_SRC emacs-lisp (use-package grep :bind (:map grep-mode-map @@ -1232,6 +1400,9 @@ nicked from https://github.com/tarsius/moody #+END_SRC ** occur +:PROPERTIES: +:CUSTOM_ID: occur +:END: #+BEGIN_SRC emacs-lisp (use-package replace :bind (:map occur-mode-map @@ -1400,6 +1571,7 @@ as links into an Org or Markdown document." ** text-mode :PROPERTIES: :CREATED: 2022-01-16T14:02:56+0530 +:CUSTOM_ID: text-mode :END: #+BEGIN_SRC emacs-lisp (use-package text-mode @@ -1411,7 +1583,7 @@ as links into an Org or Markdown document." ** undo-tree :PROPERTIES: -:CUSTOM_ID: editing-undo-tree +:CUSTOM_ID: undo-tree :END: #+BEGIN_SRC emacs-lisp (use-package undo-tree @@ -1426,7 +1598,7 @@ as links into an Org or Markdown document." ** ediff :PROPERTIES: -:CUSTOM_ID: editing-ediff +:CUSTOM_ID: ediff :END: #+BEGIN_SRC emacs-lisp (use-package ediff @@ -1442,7 +1614,7 @@ as links into an Org or Markdown document." ** iedit :PROPERTIES: :CREATED: 2022-01-13T20:51:14+0530 -:CUSTOM_ID: editing-iedit +:CUSTOM_ID: iedit :END: #+BEGIN_SRC emacs-lisp (use-package iedit @@ -1456,7 +1628,7 @@ as links into an Org or Markdown document." ** multiple cursors :PROPERTIES: :CREATED: 2022-01-13T20:52:14+0530 -:CUSTOM_ID: editing-multiple-cursors +:CUSTOM_ID: multiple-cursors-1 :END: #+BEGIN_SRC emacs-lisp (use-package multiple-cursors @@ -1477,7 +1649,7 @@ as links into an Org or Markdown document." ** transpose commands :PROPERTIES: :CREATED: 2022-01-13T20:50:03+0530 -:CUSTOM_ID: editing-transpose +:CUSTOM_ID: transpose-commands :END: #+BEGIN_SRC emacs-lisp (global-unset-key (kbd "C-t")) @@ -1493,7 +1665,7 @@ as links into an Org or Markdown document." ** easy-kill :disabled: :PROPERTIES: -:CUSTOM_ID: editing-easy-kill +:CUSTOM_ID: easy-kill :END: #+BEGIN_SRC emacs-lisp (use-package easy-kill @@ -1504,7 +1676,7 @@ as links into an Org or Markdown document." ** atomic-chrome :PROPERTIES: -:CUSTOM_ID: editing-atomic-chrome +:CUSTOM_ID: atomic-chrome :END: Doesn't work in my current main browser (Tor Browser), and thus barely used of late... #+BEGIN_SRC emacs-lisp @@ -1517,6 +1689,9 @@ Doesn't work in my current main browser (Tor Browser), and thus barely used of l #+END_SRC ** Unicode keys +:PROPERTIES: +:CUSTOM_ID: unicode-keys +:END: #+BEGIN_SRC emacs-lisp (general-auto-unbind-keys) (general-def @@ -1592,7 +1767,13 @@ Suggestion by lampilelo for extending =iso-transl-ctl-x-8-map= (https://dpaste.c #+END_SRC ** modal editing +:PROPERTIES: +:CUSTOM_ID: modal-editing +:END: *** active boon config +:PROPERTIES: +:CUSTOM_ID: active-boon-config +:END: #+BEGIN_SRC emacs-lisp (use-package boon :ensure t @@ -1675,6 +1856,9 @@ Suggestion by lampilelo for extending =iso-transl-ctl-x-8-map= (https://dpaste.c #+END_SRC *** experimental boon+modalka config :disabled: +:PROPERTIES: +:CUSTOM_ID: experimental-boon+modalka-config +:END: #+BEGIN_SRC emacs-lisp :load no (use-package boon :disabled @@ -1687,6 +1871,9 @@ Suggestion by lampilelo for extending =iso-transl-ctl-x-8-map= (https://dpaste.c #+END_SRC *** experimental Emacs-flavored-Boon config :disabled: +:PROPERTIES: +:CUSTOM_ID: experimental-emacs-flavored-boon-config +:END: #+BEGIN_SRC emacs-lisp :load no (use-package boon :disabled @@ -1712,6 +1899,9 @@ Suggestion by lampilelo for extending =iso-transl-ctl-x-8-map= (https://dpaste.c #+END_SRC *** modalka :disabled: +:PROPERTIES: +:CUSTOM_ID: modalka +:END: <2019-11-03> I'm pretty much using this to emulate `god-mode', which was great, but is no longer actively developed and had no support for non-Latin input methods. #+BEGIN_SRC emacs-lisp :load no @@ -1757,6 +1947,7 @@ I'm pretty much using this to emulate `god-mode', which was great, but is no lon *** god mode :disabled: :PROPERTIES: :CREATED: 2022-01-11T12:54:58+0530 +:CUSTOM_ID: god-mode :END: TODO - make mode-line indicator prominent by placing it first, like in Evil @@ -1797,6 +1988,9 @@ TODO - make mode-line indicator prominent by placing it first, like in Evil #+END_SRC * Applications +:PROPERTIES: +:CUSTOM_ID: applications +:END: Things not directly pertaining to text editing. #+BEGIN_SRC emacs-lisp @@ -1805,8 +1999,14 @@ Things not directly pertaining to text editing. #+END_SRC ** time tracking - chronometrist :creator: +:PROPERTIES: +:CUSTOM_ID: time-tracking +:END: choice.el is required by =chronometrist-key-values= *** chronometrist +:PROPERTIES: +:CUSTOM_ID: chronometrist +:END: #+BEGIN_SRC emacs-lisp (use-package chronometrist ;; :disabled t @@ -1858,6 +2058,9 @@ Some Chronometrist configuration I prefer to keep private. #+END_SRC **** activity-indicator +:PROPERTIES: +:CUSTOM_ID: activity-indicator +:END: #+BEGIN_SRC emacs-lisp (defun my-chronometrist-activity-indicator () (--> (chronometrist-latest-record (chronometrist-active-backend)) @@ -1870,6 +2073,9 @@ Some Chronometrist configuration I prefer to keep private. #+END_SRC **** find-two-files +:PROPERTIES: +:CUSTOM_ID: find-two-files +:END: #+BEGIN_SRC emacs-lisp (defun contrapunctus-find-two-files (file-1 file-2) "Open FILE-1 and FILE-2 in new windows. @@ -1880,6 +2086,9 @@ FILE-1 will appear above FILE-2." #+END_SRC **** outline-open-heading +:PROPERTIES: +:CUSTOM_ID: outline-open-heading +:END: #+BEGIN_SRC emacs-lisp (defun cp-outline-open-heading (n) (goto-char (point-min)) @@ -1888,6 +2097,9 @@ FILE-1 will appear above FILE-2." #+END_SRC **** commit-prompt +:PROPERTIES: +:CUSTOM_ID: commit-prompt +:END: #+BEGIN_SRC emacs-lisp (autoload 'magit-anything-modified-p "magit") @@ -1905,12 +2117,18 @@ Return nil (and run `magit-status') if the user answers no." #+END_SRC **** after-project-stop +:PROPERTIES: +:CUSTOM_ID: after-project-stop +:END: FIXME - 1. instead of changing the last plist, change the last plist with name "OSM" and without tags or key-values (because a new plist may have been inserted in the meantime) When I clock out of the "OSM" task, this code stores changeset details in it. ***** Requirements +:PROPERTIES: +:CUSTOM_ID: requirements +:END: #+BEGIN_SRC emacs-lisp (use-package request :ensure t) (use-package esxml :ensure t) @@ -1918,6 +2136,9 @@ When I clock out of the "OSM" task, this code stores changeset details in it. #+END_SRC ***** my-get-changeset-comment +:PROPERTIES: +:CUSTOM_ID: my-get-changeset-comment +:END: #+BEGIN_SRC emacs-lisp (defun my-get-changeset-comment (changeset) (->> (esxml-query "[k=comment]" changeset) @@ -1926,12 +2147,18 @@ When I clock out of the "OSM" task, this code stores changeset details in it. #+END_SRC ***** my-make-osm-url +:PROPERTIES: +:CUSTOM_ID: my-make-osm-url +:END: #+BEGIN_SRC emacs-lisp (defun my-make-osm-url (id) (concat "https://www.openstreetmap.org/changeset/" id)) #+END_SRC ***** my-get-changeset-comment +:PROPERTIES: +:CUSTOM_ID: my-get-changeset-comment-1 +:END: #+BEGIN_SRC emacs-lisp (defun my-get-saved-changeset-id (backend) (-let* (((&plist :changesets saved-changesets) @@ -1949,6 +2176,9 @@ When I clock out of the "OSM" task, this code stores changeset details in it. #+END_SRC ***** my-save-osm-details +:PROPERTIES: +:CUSTOM_ID: my-save-osm-details +:END: #+BEGIN_SRC emacs-lisp (cl-defun my-save-osm-details (&key data &allow-other-keys) (-let* ((backend (chronometrist-active-backend)) @@ -1983,6 +2213,9 @@ When I clock out of the "OSM" task, this code stores changeset details in it. #+END_SRC ***** my-save-osm-changeset-details +:PROPERTIES: +:CUSTOM_ID: my-save-osm-changeset-details +:END: #+BEGIN_SRC emacs-lisp (defun my-save-osm-changeset-details () "Save OSM changeset details in the Chronometrist file." @@ -1994,6 +2227,9 @@ When I clock out of the "OSM" task, this code stores changeset details in it. #+END_SRC ***** my-after-project-stop +:PROPERTIES: +:CUSTOM_ID: my-after-project-stop +:END: #+BEGIN_SRC emacs-lisp (defun my-after-project-stop (project) (pcase project @@ -2009,6 +2245,9 @@ When I clock out of the "OSM" task, this code stores changeset details in it. #+END_SRC **** display-key-values +:PROPERTIES: +:CUSTOM_ID: display-key-values +:END: Schema I use for plists - values can be - 1. integer 2. ="string"= | =("list" "of" "strings")= @@ -2054,6 +2293,9 @@ What if... #+END_SRC *** goal +:PROPERTIES: +:CUSTOM_ID: goal +:END: #+BEGIN_SRC emacs-lisp (use-package chronometrist-goal :commands (chronometrist-goal-minor-mode) @@ -2064,6 +2306,9 @@ What if... #+END_SRC *** spark +:PROPERTIES: +:CUSTOM_ID: spark +:END: #+BEGIN_SRC emacs-lisp (use-package chronometrist-spark :commands (chronometrist-spark-minor-mode) @@ -2073,6 +2318,9 @@ What if... #+END_SRC *** key-values +:PROPERTIES: +:CUSTOM_ID: key-values +:END: #+BEGIN_SRC emacs-lisp (use-package chronometrist-key-values :ensure t @@ -2081,6 +2329,9 @@ What if... #+END_SRC **** my-copy-gpx-timestamps +:PROPERTIES: +:CUSTOM_ID: my-copy-gpx-timestamps +:END: #+BEGIN_SRC emacs-lisp (defun my-copy-gpx-timestamps () "Copy ISO-8601 timestamps from GPX data as ISO-8601 timestamps in local time." @@ -2101,6 +2352,9 @@ What if... #+END_SRC *** Third Time +:PROPERTIES: +:CUSTOM_ID: third-time +:END: #+BEGIN_SRC emacs-lisp (use-package chronometrist-third :load-path "/media/data/anon/Documents/Text Files/programming/elisp/chronometrist/elisp/" @@ -2109,6 +2363,9 @@ What if... #+END_SRC *** querying data +:PROPERTIES: +:CUSTOM_ID: querying-data +:END: An example of querying the Chronometrist file data - finding out how much time I've spent on tasks matching a certain criteria. #+BEGIN_SRC emacs-lisp :tangle no :load no @@ -2126,7 +2383,10 @@ An example of querying the Chronometrist file data - finding out how much time I count))) #+END_SRC -**** Intervals and durations for task Exercise. +**** Intervals and durations for task Exercise +:PROPERTIES: +:CUSTOM_ID: intervals-and-durations-for-task-exercise +:END: #+BEGIN_SRC emacs-lisp :tangle no :load no (cl-loop for plist in (chronometrist-to-list (chronometrist-active-backend)) with count = 0 @@ -2141,6 +2401,9 @@ An example of querying the Chronometrist file data - finding out how much time I #+END_SRC **** Unique key-values for task "Exercise" +:PROPERTIES: +:CUSTOM_ID: unique-key-values-for-task-exercise +:END: #+BEGIN_SRC emacs-lisp :tangle no :load no (cl-loop with task = "Exercise" for plist in (chronometrist-to-list (chronometrist-active-backend)) @@ -2157,7 +2420,10 @@ An example of querying the Chronometrist file data - finding out how much time I (switch-to-buffer buffer)))) #+END_SRC -**** Time spent running since the 13th of December. +**** Time spent running since the 13th of December +:PROPERTIES: +:CUSTOM_ID: time-spent-running-since-the-13th-of-december +:END: #+BEGIN_SRC emacs-lisp :tangle no :load no (cl-loop with start = (parse-iso8601-time-string "2021-12-13") with buffer = (get-buffer-create "*chronometrist-query*") @@ -2212,6 +2478,9 @@ An example of querying the Chronometrist file data - finding out how much time I #+END_SRC ** WISH emms +:PROPERTIES: +:CUSTOM_ID: emms +:END: 1. [ ] make toggle command for emms-start/emms-stop 2. [ ] change mode line display - don't show the whole file path, just the name @@ -2299,7 +2568,13 @@ An example of querying the Chronometrist file data - finding out how much time I #+END_SRC ** Internet +:PROPERTIES: +:CUSTOM_ID: internet +:END: *** eww :viewer: +:PROPERTIES: +:CUSTOM_ID: eww +:END: #+BEGIN_SRC emacs-lisp (use-package eww :config @@ -2334,6 +2609,9 @@ An example of querying the Chronometrist file data - finding out how much time I #+END_SRC *** url-cookie +:PROPERTIES: +:CUSTOM_ID: url-cookie +:END: Ask for confirmation before saving cookies. I'd rather just disallow them all though 🤔 #+BEGIN_SRC emacs-lisp (use-package url-cookie @@ -2342,6 +2620,9 @@ Ask for confirmation before saving cookies. I'd rather just disallow them all th #+END_SRC *** elpher :viewer: +:PROPERTIES: +:CUSTOM_ID: elpher +:END: #+BEGIN_SRC emacs-lisp (use-package elpher :ensure t @@ -2356,6 +2637,9 @@ Ask for confirmation before saving cookies. I'd rather just disallow them all th #+END_SRC *** elfeed +:PROPERTIES: +:CUSTOM_ID: elfeed +:END: #+BEGIN_SRC emacs-lisp (use-package elfeed :ensure t @@ -2367,6 +2651,9 @@ Ask for confirmation before saving cookies. I'd rather just disallow them all th #+END_SRC *** jabber :disabled:communication: +:PROPERTIES: +:CUSTOM_ID: jabber +:END: #+BEGIN_SRC emacs-lisp (use-package jabber :disabled t @@ -2382,6 +2669,9 @@ Ask for confirmation before saving cookies. I'd rather just disallow them all th #+END_SRC ** sxiv :viewer: +:PROPERTIES: +:CUSTOM_ID: sxiv +:END: #+BEGIN_SRC emacs-lisp (use-package sxiv :load-path "~/.emacs.d/contrapunctus/sxiv/" @@ -2392,6 +2682,9 @@ Ask for confirmation before saving cookies. I'd rather just disallow them all th #+END_SRC ** TODO emacsshot :creator: +:PROPERTIES: +:CUSTOM_ID: emacsshot +:END: PR ideas 1. [ ] create directories in save path if they don't exist 2. [ ] grammar - "written /path/to/file" @@ -2408,6 +2701,9 @@ PR ideas #+END_SRC ** dired :file: +:PROPERTIES: +:CUSTOM_ID: dired +:END: #+BEGIN_SRC emacs-lisp (use-package dired :init (add-hook 'dired-mode-hook 'turn-on-launch-mode) @@ -2589,6 +2885,7 @@ PR ideas ** peep-dired :disabled:file:ui: :PROPERTIES: :CREATED: 2022-01-14T18:57:56+0530 +:CUSTOM_ID: peep-dired :END: #+BEGIN_SRC emacs-lisp (use-package peep-dired @@ -2614,6 +2911,9 @@ PR ideas #+END_SRC ** backup configuration +:PROPERTIES: +:CUSTOM_ID: backup-configuration +:END: #+BEGIN_SRC emacs-lisp (setq backup-by-copying t backup-directory-alist '(("." . "~/.emacs.d/saves/")) @@ -2636,6 +2936,9 @@ PR ideas #+END_SRC ** mail :communication: +:PROPERTIES: +:CUSTOM_ID: mail +:END: #+BEGIN_SRC emacs-lisp (use-package emacs :config @@ -2648,6 +2951,7 @@ PR ideas *** wanderlust :disabled: :PROPERTIES: :CREATED: 2022-01-14T18:58:32+0530 +:CUSTOM_ID: wanderlust :END: #+BEGIN_SRC emacs-lisp (use-package wl @@ -2660,6 +2964,7 @@ PR ideas *** mew :disabled: :PROPERTIES: :CREATED: 2022-01-14T18:58:53+0530 +:CUSTOM_ID: mew :END: #+BEGIN_SRC emacs-lisp (use-package mew @@ -2676,6 +2981,7 @@ PR ideas *** gnus :disabled: :PROPERTIES: :CREATED: 2022-01-14T18:58:56+0530 +:CUSTOM_ID: gnus :END: #+BEGIN_SRC emacs-lisp (use-package gnus @@ -2702,6 +3008,9 @@ PR ideas #+END_SRC *** mu4e +:PROPERTIES: +:CUSTOM_ID: mu4e +:END: #+BEGIN_SRC emacs-lisp (use-package mu4e :bind @@ -2741,6 +3050,9 @@ PR ideas #+END_SRC **** mu4e-alert +:PROPERTIES: +:CUSTOM_ID: mu4e-alert +:END: Even the patched version of =mu4e-alert= I'm using is not completely bug-free - many a times I get new mail, =imapnotify= detects it and runs =mbsync=, the =mu4e-index-updated-hook= is run (since the alert in =my-mail-alert= is displayed), and it contains =mu4e-alert-notify-unread-mail-async=...but I don't get an alert from =mu4e-alert= 🙁 #+BEGIN_SRC emacs-lisp @@ -2755,12 +3067,18 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** doc-view :viewer: +:PROPERTIES: +:CUSTOM_ID: doc-view +:END: #+BEGIN_SRC emacs-lisp (use-package doc-view :config (setq doc-view-resolution 300)) #+END_SRC ** pdf-tools :viewer: +:PROPERTIES: +:CUSTOM_ID: pdf-tools +:END: #+BEGIN_SRC emacs-lisp (use-package pdf-tools :ensure t @@ -2790,6 +3108,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** nov.el :viewer: +:PROPERTIES: +:CUSTOM_ID: nov.el +:END: #+BEGIN_SRC emacs-lisp (use-package nov :ensure t @@ -2813,6 +3134,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** proced +:PROPERTIES: +:CUSTOM_ID: proced +:END: #+BEGIN_SRC emacs-lisp (use-package proced :config @@ -2820,6 +3144,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** webpaste +:PROPERTIES: +:CUSTOM_ID: webpaste +:END: #+BEGIN_SRC emacs-lisp (use-package webpaste :ensure t @@ -2828,12 +3155,18 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** eshell :shell: +:PROPERTIES: +:CUSTOM_ID: eshell +:END: #+BEGIN_SRC emacs-lisp (use-package eshell :config (setq eshell-history-size 999)) #+END_SRC ** term +:PROPERTIES: +:CUSTOM_ID: term +:END: #+BEGIN_SRC emacs-lisp (use-package term :bind (:map term-mode-map @@ -2842,6 +3175,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** comint :shell: +:PROPERTIES: +:CUSTOM_ID: comint +:END: #+BEGIN_SRC emacs-lisp (use-package comint :bind (:map comint-mode-map @@ -2853,6 +3189,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** info :viewer: +:PROPERTIES: +:CUSTOM_ID: info +:END: #+BEGIN_SRC emacs-lisp (use-package info :config @@ -2869,6 +3208,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** image-mode :viewer: +:PROPERTIES: +:CUSTOM_ID: image-mode +:END: #+BEGIN_SRC emacs-lisp (use-package image-mode :bind @@ -2886,6 +3228,9 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - #+END_SRC ** TODO magit [0%] :vc: +:PROPERTIES: +:CUSTOM_ID: magit +:END: 1. [ ] It'd be really cool to =(recenter 3)= when you /open/ a section, and =(recenter)= when you close a section 2. [ ] binding "c" to magit-section-backward and "j" to magit-commit means I can't nonchalantly hit "c c" to commit like before...it becomes "j c" :\ #+BEGIN_SRC emacs-lisp @@ -2921,6 +3266,7 @@ Even the patched version of =mu4e-alert= I'm using is not completely bug-free - ** git-commit :vc: :PROPERTIES: :CREATED: 2022-01-14T16:36:44+0530 +:CUSTOM_ID: git-commit :END: #+BEGIN_SRC emacs-lisp (use-package git-commit @@ -3069,6 +3415,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** tempel +:PROPERTIES: +:CUSTOM_ID: tempel +:END: #+BEGIN_SRC emacs-lisp (use-package tempel :bind @@ -3169,6 +3518,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** counsel :disabled: +:PROPERTIES: +:CUSTOM_ID: counsel +:END: #+BEGIN_SRC emacs-lisp (use-package counsel :disabled t @@ -3179,6 +3531,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** ivy :disabled: +:PROPERTIES: +:CUSTOM_ID: ivy +:END: #+BEGIN_SRC emacs-lisp (use-package ivy :disabled t @@ -3197,6 +3552,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** ivy-xref :disabled: +:PROPERTIES: +:CUSTOM_ID: ivy-xref +:END: #+BEGIN_SRC emacs-lisp (use-package ivy-xref :disabled t @@ -3206,6 +3564,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** flx-ido :disabled: +:PROPERTIES: +:CUSTOM_ID: flx-ido +:END: #+BEGIN_SRC emacs-lisp (use-package flx-ido :disabled @@ -3215,6 +3576,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** flx-isearch :disabled: +:PROPERTIES: +:CUSTOM_ID: flx-isearch +:END: #+BEGIN_SRC emacs-lisp (use-package flx-isearch :disabled @@ -3232,6 +3596,7 @@ But with =initials=, the desired completion is often buried in the results. That ** flex-isearch :disabled: :PROPERTIES: :CREATED: 2022-01-13T20:50:41+0530 +:CUSTOM_ID: flex-isearch :END: #+BEGIN_SRC emacs-lisp (use-package flex-isearch @@ -3243,12 +3608,18 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC ** bookmarks +:PROPERTIES: +:CUSTOM_ID: bookmarks +:END: #+BEGIN_SRC emacs-lisp (use-package bookmark :config (setq bookmark-save-flag 1)) #+END_SRC ** recentf +:PROPERTIES: +:CUSTOM_ID: recentf +:END: #+BEGIN_SRC emacs-lisp (use-package recentf :init @@ -3277,6 +3648,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC * misc keybindings +:PROPERTIES: +:CUSTOM_ID: misc-keybindings +:END: #+BEGIN_SRC emacs-lisp (global-set-key (kbd "M-w") 'kill-ring-save) (define-key emacs-lisp-mode-map (kbd "M-w") nil) @@ -3285,6 +3659,9 @@ But with =initials=, the desired completion is often buried in the results. That ;; (global-set-key (kbd "M-d") 'easy-kill-delete-region) #+END_SRC * environment variables +:PROPERTIES: +:CUSTOM_ID: environment-variables +:END: #+BEGIN_SRC emacs-lisp (setenv "PATH" (concat "~/bin:" (getenv "PATH"))) (setenv "EDITOR" "emacsclient") @@ -3298,6 +3675,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC * Linewrapping +:PROPERTIES: +:CUSTOM_ID: linewrapping +:END: #+BEGIN_SRC emacs-lisp (add-hook 'erc-mode-hook 'visual-line-mode) (add-hook 'text-mode-hook 'visual-line-mode) @@ -3317,6 +3697,9 @@ But with =initials=, the desired completion is often buried in the results. That #+END_SRC * Navigation +:PROPERTIES: +:CUSTOM_ID: navigation +:END: #+BEGIN_SRC emacs-lisp ;; (require 'view) ;; (cp-set-keys @@ -3466,6 +3849,9 @@ This needs to be before =boon=/=exwm=, or you get a "failed to define function i #+END_SRC ** outline-minor-mode +:PROPERTIES: +:CUSTOM_ID: outline-minor-mode +:END: #+BEGIN_SRC emacs-lisp (use-package outline :hook (adoc-mode . outline-minor-mode) @@ -3501,6 +3887,9 @@ This needs to be before =boon=/=exwm=, or you get a "failed to define function i #+END_SRC ** outshine +:PROPERTIES: +:CUSTOM_ID: outshine +:END: #+BEGIN_SRC emacs-lisp (use-package outshine :commands (outshine-mode outshine-cycle) @@ -3508,13 +3897,19 @@ This needs to be before =boon=/=exwm=, or you get a "failed to define function i #+END_SRC * scrolling +:PROPERTIES: +:CUSTOM_ID: scrolling +:END: While we're at it, let's add that to next-error as well (this affects -jumping to match from M-x grep , too) +jumping to match from =M-x grep= , too) #+BEGIN_SRC emacs-lisp (add-hook 'next-error-hook 'recenter) #+END_SRC * Buffer management +:PROPERTIES: +:CUSTOM_ID: buffer-management +:END: #+BEGIN_SRC emacs-lisp (defun my-buffer-switch () (interactive) @@ -3526,6 +3921,9 @@ jumping to match from M-x grep , too) #+END_SRC ** ibuffer :buffer: +:PROPERTIES: +:CUSTOM_ID: ibuffer +:END: #+BEGIN_SRC emacs-lisp (use-package ibuffer :bind @@ -3602,6 +4000,9 @@ jumping to match from M-x grep , too) #+END_SRC ** midnight-mode (automatic buffer cleanup) +:PROPERTIES: +:CUSTOM_ID: midnight-mode-(automatic-buffer-cleanup) +:END: #+BEGIN_SRC emacs-lisp (use-package midnight :init @@ -3616,6 +4017,9 @@ jumping to match from M-x grep , too) #+END_SRC * browse-url +:PROPERTIES: +:CUSTOM_ID: browse-url +:END: SLIME opens CLHS links in Firefox, but I'd rather open them in Tor Browser; Tor Browser, however, does not permit other applications to open tabs in a running instance. So I wrote this to copy the links automatically instead. #+BEGIN_SRC emacs-lisp (use-package browse-url @@ -3629,7 +4033,13 @@ SLIME opens CLHS links in Firefox, but I'd rather open them in Tor Browser; Tor #+END_SRC * Markup +:PROPERTIES: +:CUSTOM_ID: markup +:END: ** Org +:PROPERTIES: +:CUSTOM_ID: org +:END: #+BEGIN_SRC emacs-lisp (use-package org :quelpa (org :fetcher git @@ -3713,6 +4123,9 @@ SLIME opens CLHS links in Firefox, but I'd rather open them in Tor Browser; Tor #+END_SRC *** gemini: and xmpp: links +:PROPERTIES: +:CUSTOM_ID: gemini-and-xmpp-links +:END: https://lists.gnu.org/archive/html/emacs-orgmode/2018-02/msg00082.html #+BEGIN_SRC emacs-lisp (defun my-export-link-helper (link desc format) @@ -3742,12 +4155,18 @@ https://lists.gnu.org/archive/html/emacs-orgmode/2018-02/msg00082.html #+END_SRC *** org-emms +:PROPERTIES: +:CUSTOM_ID: org-emms +:END: #+BEGIN_SRC emacs-lisp (use-package org-emms :after org) #+END_SRC *** my-org-insert-block +:PROPERTIES: +:CUSTOM_ID: my-org-insert-block +:END: #+BEGIN_SRC emacs-lisp (defun my-org-insert-block (type &optional lang header-args ask) "Insert block of TYPE at point, or at beginning and end of region. @@ -3819,6 +4238,9 @@ or with ASK, prompt the user for a language." #+END_SRC *** my-org-open +:PROPERTIES: +:CUSTOM_ID: my-org-open +:END: #+BEGIN_SRC emacs-lisp ;; I dislike having to navigate within a line to reach a link - with ;; this command I just need to be on the same line as the link. @@ -3830,21 +4252,27 @@ or with ASK, prompt the user for a language." (org-open-at-point)) #+END_SRC -*** org-table-convert-tsv +*** my-org-table-convert-tsv +:PROPERTIES: +:CUSTOM_ID: my-org-table-convert-tsv +:END: #+BEGIN_SRC emacs-lisp -(defun cp/org-table-convert-tsv () +(defun my-org-table-convert-tsv () (interactive) - (with-output-to-temp-buffer "cp/org-table-convert-tsv" + (with-output-to-temp-buffer "my-org-table-convert-tsv" (->> (buffer-substring-no-properties (region-beginning) (region-end)) (replace-regexp-in-string "^| *" "") (replace-regexp-in-string " *| *" " ") (replace-regexp-in-string "^-.*$" ""))) - (with-current-buffer "cp/org-table-convert-tsv" + (with-current-buffer "my-org-table-convert-tsv" (remove-hook 'before-save-hook 'delete-trailing-whitespace) (write-file (read-from-minibuffer "Output filename: ")))) #+END_SRC *** my-org-set-tags - using completing-read-multiple for setting tags +:PROPERTIES: +:CUSTOM_ID: my-org-set-tags +:END: #+BEGIN_SRC emacs-lisp (defun my-org-set-tags () (interactive) @@ -3870,6 +4298,9 @@ or with ASK, prompt the user for a language." #+END_SRC *** my-org-insert-timestamp +:PROPERTIES: +:CUSTOM_ID: my-org-insert-timestamp +:END: #+BEGIN_SRC emacs-lisp (defun my-org-insert-timestamp () (save-excursion @@ -3882,6 +4313,9 @@ or with ASK, prompt the user for a language." #+END_SRC *** load org-babel languages on demand +:PROPERTIES: +:CUSTOM_ID: load-org-babel-languages-on-demand +:END: From https://emacs.stackexchange.com/questions/20577/org-babel-load-all-languages-on-demand #+BEGIN_SRC emacs-lisp @@ -3898,6 +4332,9 @@ From https://emacs.stackexchange.com/questions/20577/org-babel-load-all-language #+END_SRC *** my-org-fix-newlines +:PROPERTIES: +:CUSTOM_ID: my-org-fix-newlines +:END: #+BEGIN_SRC emacs-lisp (defun my-org-fix-newlines () "Insert newlines around Org headings. @@ -3921,6 +4358,9 @@ preceded by another heading) and after headings." #+END_SRC *** org-html-themify +:PROPERTIES: +:CUSTOM_ID: org-html-themify +:END: #+BEGIN_SRC emacs-lisp (use-package org-html-themify :disabled t @@ -3933,6 +4373,9 @@ preceded by another heading) and after headings." #+END_SRC *** ox-publish +:PROPERTIES: +:CUSTOM_ID: ox-publish +:END: #+BEGIN_SRC emacs-lisp (use-package ox-publish :config @@ -3958,18 +4401,27 @@ preceded by another heading) and after headings." #+END_SRC *** org-superstar +:PROPERTIES: +:CUSTOM_ID: org-superstar +:END: #+BEGIN_SRC emacs-lisp (use-package org-superstar :hook (org-mode . org-superstar-mode)) #+END_SRC *** auto-id +:PROPERTIES: +:CUSTOM_ID: auto-id +:END: #+BEGIN_SRC emacs-lisp (use-package auto-id :load-path "/media/data/anon/Documents/Text Files/programming/elisp/auto-id/") #+END_SRC ** markdown-mode :editing: +:PROPERTIES: +:CUSTOM_ID: markdown-mode +:END: #+BEGIN_SRC emacs-lisp (use-package markdown-mode :ensure t @@ -4132,12 +4584,18 @@ whole-line-or-region-kill-ring-save instead." #+END_SRC ** mediawiki-mode +:PROPERTIES: +:CUSTOM_ID: mediawiki-mode +:END: #+BEGIN_SRC emacs-lisp (use-package mediawiki :commands mediawiki-mode) #+END_SRC ** asciidoc-mode +:PROPERTIES: +:CUSTOM_ID: asciidoc-mode +:END: Used by Eldev documentation. #+BEGIN_SRC emacs-lisp (use-package adoc-mode @@ -4145,6 +4603,9 @@ Used by Eldev documentation. #+END_SRC ** gemini-mode +:PROPERTIES: +:CUSTOM_ID: gemini-mode +:END: <2021-07-12T16:06:08+0530> #+BEGIN_SRC emacs-lisp (use-package gemini-mode @@ -4157,6 +4618,9 @@ Used by Eldev documentation. #+END_SRC ** TODO LaTeX +:PROPERTIES: +:CUSTOM_ID: latex +:END: 1. [ ] merge personal commands with those in Lilypond mode #+BEGIN_SRC emacs-lisp (use-package auctex @@ -4195,7 +4659,13 @@ Used by Eldev documentation. :CUSTOM_ID: programming :END: ** FIXME common [%] +:PROPERTIES: +:CUSTOM_ID: common +:END: *** xref +:PROPERTIES: +:CUSTOM_ID: xref +:END: #+BEGIN_SRC emacs-lisp (use-package xref :bind (:map xref--xref-buffer-mode-map @@ -4204,6 +4674,9 @@ Used by Eldev documentation. #+END_SRC *** swap keys :disabled: +:PROPERTIES: +:CUSTOM_ID: swap-keys +:END: 1. [X] =keyswap-mode= swaps numeric keys with symbols by default. We want to swap just () with [] (to begin with), but the code below doesn't work, for some reason. 2. [ ] Does not always work in the minibuffer, namely =eval-expression= @@ -4263,6 +4736,9 @@ pjb suggested a different approach [[http://paste.lisp.org/display/10157][here]] #+END_SRC *** other things +:PROPERTIES: +:CUSTOM_ID: other-things +:END: #+BEGIN_SRC emacs-lisp (use-package projectile :ensure t @@ -4280,6 +4756,7 @@ pjb suggested a different approach [[http://paste.lisp.org/display/10157][here]] *** feature-mode :PROPERTIES: :CREATED: 2022-01-14T01:31:08+0530 +:CUSTOM_ID: feature-mode :END: #+BEGIN_SRC emacs-lisp (use-package feature-mode @@ -4289,6 +4766,7 @@ pjb suggested a different approach [[http://paste.lisp.org/display/10157][here]] *** paredit :disabled: :PROPERTIES: :CREATED: 2022-01-13T23:04:41+0530 +:CUSTOM_ID: paredit :END: #+BEGIN_SRC emacs-lisp :load no :tangle no @@ -4340,6 +4818,9 @@ pjb suggested a different approach [[http://paste.lisp.org/display/10157][here]] #+END_SRC *** smartparens +:PROPERTIES: +:CUSTOM_ID: smartparens +:END: #+BEGIN_SRC emacs-lisp (use-package smartparens :ensure t @@ -4408,6 +4889,9 @@ pjb suggested a different approach [[http://paste.lisp.org/display/10157][here]] #+END_SRC *** lispy +:PROPERTIES: +:CUSTOM_ID: lispy +:END: Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, self-insert (which =smartparens= will add the closing pair for) #+BEGIN_SRC emacs-lisp @@ -4467,6 +4951,9 @@ Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, sel #+END_SRC *** treemacs :disabled: +:PROPERTIES: +:CUSTOM_ID: treemacs +:END: #+BEGIN_SRC emacs-lisp (use-package treemacs :disabled t @@ -4481,6 +4968,9 @@ Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, sel #+END_SRC *** imenu +:PROPERTIES: +:CUSTOM_ID: imenu +:END: #+BEGIN_SRC emacs-lisp (use-package imenu :hook (imenu-after-jump . (lambda () (recenter 0))) ;; also applies to `imenus' @@ -4489,6 +4979,9 @@ Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, sel #+END_SRC **** imenus +:PROPERTIES: +:CUSTOM_ID: imenus +:END: #+BEGIN_SRC emacs-lisp (use-package imenus :ensure t @@ -4496,6 +4989,9 @@ Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, sel #+END_SRC *** side-hustle :disabled: +:PROPERTIES: +:CUSTOM_ID: side-hustle +:END: #+BEGIN_SRC emacs-lisp (use-package side-hustle :disabled t @@ -4506,6 +5002,9 @@ Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, sel #+END_SRC *** dump-jump +:PROPERTIES: +:CUSTOM_ID: dump-jump +:END: #+BEGIN_SRC emacs-lisp (use-package dumb-jump :init (add-hook 'xref-backend-functions #'dumb-jump-xref-activate)) @@ -4514,6 +5013,7 @@ Create advice for =lispy-pair= - if =lispy--in-string-or-comment-p= is true, sel ** lisp :PROPERTIES: :CREATED: 2022-01-13T21:03:15+0530 +:CUSTOM_ID: lisp :END: #+BEGIN_SRC emacs-lisp (defun contrapunctus-lisp-copy (arg) @@ -4543,6 +5043,9 @@ active, else `sp-copy-sexp'." #+END_SRC ** Emacs Lisp +:PROPERTIES: +:CUSTOM_ID: emacs-lisp +:END: #+BEGIN_SRC emacs-lisp (use-package elisp-mode :diminish @@ -4582,6 +5085,9 @@ and eval it." #+END_SRC *** ELSA - Emacs Lisp Static Analyzer :disabled: +:PROPERTIES: +:CUSTOM_ID: elsa +:END: #+BEGIN_SRC emacs-lisp (use-package elsa :disabled t @@ -4589,6 +5095,9 @@ and eval it." #+END_SRC *** literate-elisp +:PROPERTIES: +:CUSTOM_ID: literate-elisp +:END: #+BEGIN_SRC emacs-lisp (use-package literate-elisp :ensure t @@ -4596,6 +5105,9 @@ and eval it." #+END_SRC *** eldoc +:PROPERTIES: +:CUSTOM_ID: eldoc +:END: #+BEGIN_SRC emacs-lisp (use-package eldoc :diminish @@ -4607,6 +5119,9 @@ and eval it." #+END_SRC *** emr - emacs refactor +:PROPERTIES: +:CUSTOM_ID: emr +:END: #+BEGIN_SRC emacs-lisp (use-package emr :bind (:map prog-mode-map @@ -4614,6 +5129,9 @@ and eval it." #+END_SRC *** nameless-mode +:PROPERTIES: +:CUSTOM_ID: nameless-mode +:END: #+BEGIN_SRC emacs-lisp (use-package nameless :ensure t @@ -4628,6 +5146,9 @@ and eval it." #+END_SRC *** explain-pause-mode :disabled: +:PROPERTIES: +:CUSTOM_ID: explain-pause-mode +:END: #+BEGIN_SRC emacs-lisp (use-package explain-pause-mode :disabled t @@ -4638,6 +5159,9 @@ and eval it." #+END_SRC *** WIP async-tangle +:PROPERTIES: +:CUSTOM_ID: async-tangle +:END: Adapted from https://stackoverflow.com/questions/16815598/run-commands-in-emacs-asynchronously-but-display-output-incrementally/16816575#16816575 and the Elisp manual #+BEGIN_SRC emacs-lisp @@ -4715,6 +5239,9 @@ All COMMAND-SPECS should be a list in the form #+END_SRC *** redshank +:PROPERTIES: +:CUSTOM_ID: redshank +:END: #+BEGIN_SRC emacs-lisp (use-package redshank :ensure t @@ -4762,6 +5289,9 @@ All COMMAND-SPECS should be a list in the form #+END_SRC **** slime-fancy-inspector +:PROPERTIES: +:CUSTOM_ID: slime-fancy-inspector +:END: #+BEGIN_SRC emacs-lisp (use-package slime-fancy-inspector :bind (:map slime-inspector-mode-map @@ -4787,6 +5317,7 @@ All COMMAND-SPECS should be a list in the form *** common-lisp-snippets :PROPERTIES: :CREATED: 2022-01-17T12:07:32+0530 +:CUSTOM_ID: common-lisp-snippets :END: #+BEGIN_SRC emacs-lisp @@ -4796,6 +5327,9 @@ All COMMAND-SPECS should be a list in the form #+END_SRC ** Scheme +:PROPERTIES: +:CUSTOM_ID: scheme +:END: #+BEGIN_SRC emacs-lisp (setq scheme-program-name "csi -:c") (setq comint-prompt-read-only t) @@ -4821,8 +5355,17 @@ All COMMAND-SPECS should be a list in the form #+END_SRC *** CHICKEN Scheme +:PROPERTIES: +:CUSTOM_ID: chicken-scheme +:END: *** Guile +:PROPERTIES: +:CUSTOM_ID: guile +:END: ** Lilypond +:PROPERTIES: +:CUSTOM_ID: lilypond +:END: #+BEGIN_SRC emacs-lisp (use-package lilypond-mode :load-path "elisp-git/lilypond/elisp" @@ -4990,12 +5533,18 @@ TODO - wrap region if region active" #+END_SRC ** Prolog +:PROPERTIES: +:CUSTOM_ID: prolog-1 +:END: #+BEGIN_SRC emacs-lisp (use-package ediprolog :commands ediprolog-dwim) #+END_SRC ** C +:PROPERTIES: +:CUSTOM_ID: c +:END: #+BEGIN_SRC emacs-lisp (use-package cc-mode :bind (:map c-mode-map @@ -5024,6 +5573,9 @@ TODO - wrap region if region active" #+END_SRC ** nodejs-repl :disabled: +:PROPERTIES: +:CUSTOM_ID: nodejs-repl +:END: #+BEGIN_SRC emacs-lisp (use-package nodejs-repl :disabled @@ -5031,6 +5583,9 @@ TODO - wrap region if region active" #+END_SRC ** web development +:PROPERTIES: +:CUSTOM_ID: web-development +:END: https://emacs.cafe/emacs/javascript/setup/2017/04/23/emacs-setup-javascript.html Potentially useful - https://www.draketo.de/software/emacs-javascript.html @@ -5038,6 +5593,7 @@ Potentially useful - https://www.draketo.de/software/emacs-javascript.html *** js2-mode :PROPERTIES: :CREATED: 2022-01-14T16:22:00+0530 +:CUSTOM_ID: js2-mode :END: #+BEGIN_SRC emacs-lisp (use-package js2-mode @@ -5049,6 +5605,7 @@ Potentially useful - https://www.draketo.de/software/emacs-javascript.html *** js2-refactor :PROPERTIES: :CREATED: 2022-01-14T16:22:05+0530 +:CUSTOM_ID: js2-refactor :END: #+BEGIN_SRC emacs-lisp (use-package js2-refactor @@ -5058,6 +5615,7 @@ Potentially useful - https://www.draketo.de/software/emacs-javascript.html *** tern :PROPERTIES: :CREATED: 2022-01-14T16:22:10+0530 +:CUSTOM_ID: tern :END: #+BEGIN_SRC emacs-lisp (use-package tern) @@ -5066,6 +5624,7 @@ Potentially useful - https://www.draketo.de/software/emacs-javascript.html *** company-tern :PROPERTIES: :CREATED: 2022-01-14T16:22:13+0530 +:CUSTOM_ID: company-tern :END: #+BEGIN_SRC emacs-lisp (use-package company-tern @@ -5076,6 +5635,7 @@ Potentially useful - https://www.draketo.de/software/emacs-javascript.html *** skewer-mode :PROPERTIES: :CREATED: 2022-01-14T16:22:17+0530 +:CUSTOM_ID: skewer-mode :END: #+BEGIN_SRC emacs-lisp (use-package skewer-mode @@ -5094,6 +5654,9 @@ nicked from wasamasa's init - https://github.com/wasamasa/dotemacs/blob/934d0b37 #+END_SRC ** SQL +:PROPERTIES: +:CUSTOM_ID: sql +:END: #+BEGIN_SRC emacs-lisp (use-package sql ;; History is not saved if you kill the buffer; use @@ -5105,6 +5668,9 @@ nicked from wasamasa's init - https://github.com/wasamasa/dotemacs/blob/934d0b37 #+END_SRC * The end +:PROPERTIES: +:CUSTOM_ID: the-end +:END: Reset the GC settings, so Emacs doesn't use up tons of RAM. #+BEGIN_SRC emacs-lisp (setq gc-cons-threshold 400000)