;; ~/.config/emacs/templates fundamental-mode ;; Available everywhere (today (format-time-string "%Y-%m-%d")) prog-mode (fixme (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "FIXME ") (todo (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "TODO ") (bug (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "BUG ") (hack (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "HACK ") latex-mode (abstract "\\begin{abstract}\n" r> n> "\\end{abstract}") (align "\\begin{align}\n" r> n> "\\end{align}") (alignn "\\begin{align*}\n" r> n> "\\end{align*}") (gather "\\begin{gather}\n" r> n> "\\end{gather}") (gatherr "\\begin{gather*}\n" r> n> "\\end{gather*}") (appendix "\\begin{appendix}\n" r> n> "\\end{appendix}") (begin "\\begin{" (s env) "}" r> n> "\\end{" (s env) "}") (center "\\begin{center}\n" r> n> "\\end{center}") (displaymath "\\begin{displaymath}\n" r> n> "\\end{displaymath}") (document "\\begin{document}\n" r> n> "\\end{document}") (enumerate "\\begin{enumerate}\n\\item " r> n> "\\end{enumerate}") (equation "\\begin{equation}" r> n> "\\end{equation}") (flushleft "\\begin{flushleft}" r> n> "\\end{flushleft}") (flushright "\\begin{flushright}" r> n> "\\end{flushright}") (frac "\\frac{" p "}{" q "}") (fussypar "\\begin{fussypar}" r> n> "\\end{fussypar}") (itemize "\\begin{itemize}\n\\item " r> n> "\\end{itemize}") (letter "\\begin{letter}\n" r> n> "\\end{letter}") (math "\\begin{math}\n" r> n> "\\end{math}") (minipage "\\begin{minipage}[t]{0.5\linewidth}\n" r> n> "\\end{minipage}") (quotation "\\begin{quotation}\n" r> n> "\\end{quotation}") (quote "\\begin{quote}\n" r> n> "\\end{quote}") (sloppypar "\\begin{sloppypar}\n" r> n> "\\end{sloppypar}") (theindex "\\begin{theindex}\n" r> n> "\\end{theindex}") (trivlist "\\begin{trivlist}\n" r> n> "\\end{trivlist}") (verbatim "\\begin{verbatim}\n" r> n> "\\end{verbatim}") (verbatimm "\\begin{verbatim*}\n" r> n> "\\end{verbatim*}") texinfo-mode (defmac "@defmac " p n> r> "@end defmac") (defun "@defun " p n> r> "@end defun") (defvar "@defvar " p n> r> "@end defvar") (example "@example " p n> r> "@end example") (lisp "@lisp " p n> r> "@end lisp") (bullet "@itemize @bullet{}" n> r> "@end itemize") (code "@code{" p "}") (var "@var{" p "}") lisp-mode emacs-lisp-mode ;; Specify multiple modes (lambda "(lambda (" p ")" n> r> ")") emacs-lisp-mode (autoload ";;;###autoload") (pt "(point)") (var "(defvar " p "\n \"" p "\")") (local "(defvar-local " p "\n \"" p "\")") (const "(defconst " p "\n \"" p "\")") (custom "(defcustom " p "\n \"" p "\"" n> ":type '" p ")") (face "(defface " p " '((t :inherit " p "))\n \"" p "\")") (group "(defgroup " p " nil\n \"" p "\"" n> ":group '" p n> ":prefix \"" p "-\")") (macro "(defmacro " p " (" p ")\n \"" p "\"" n> r> ")") (alias "(defalias '" p " '" p ")") (fun "(defun " p " (" p ")\n \"" p "\"" n> r> ")") (iflet "(if-let (" p ")" n> r> ")") (whenlet "(when-let (" p ")" n> r> ")") (whilelet "(while-let (" p ")" n> r> ")") (andlet "(and-let* (" p ")" n> r> ")") (cond "(cond" n "(" q "))" >) (pcase "(pcase " (p "scrutinee") n "(" q "))" >) (let "(let (" p ")" n> r> ")") (lett "(let* (" p ")" n> r> ")") (pcaselet "(pcase-let (" p ")" n> r> ")") (pcaselett "(pcase-let* (" p ")" n> r> ")") (rec "(letrec (" p ")" n> r> ")") (dotimes "(dotimes (" p ")" n> r> ")") (dolist "(dolist (" p ")" n> r> ")") (loop "(cl-loop for " p " in " p " do" n> r> ")") (command "(defun " p " (" p ")\n \"" p "\"" n> "(interactive" p ")" n> r> ")") (advice "(defun " (p "adv" name) " (&rest app)" n> p n> "(apply app))" n> "(advice-add #'" (p "fun") " " (p ":around") " #'" (s name) ")") (header ";;; " (file-name-nondirectory (or (buffer-file-name) (buffer-name))) " -- " p " -*- lexical-binding: t -*-" n ";;; Commentary:" n ";;; Code:" n n) (provide "(provide '" (file-name-base (or (buffer-file-name) (buffer-name))) ")" n ";;; " (file-name-nondirectory (or (buffer-file-name) (buffer-name))) " ends here" n) eshell-mode (for "for " (p "i") " in " p " { " q " }") (while "while { " p " } { " q " }") (until "until { " p " } { " q " }") (if "if { " p " } { " q " }") (ife "if { " p " } { " p " } { " q " }") (unl "unless { " p " } { " q " }") (unle "unless { " p " } { " p " } { " q " }") text-mode (box "┌─" (make-string (length str) ?─) "─┐" n "│ " (s str) " │" n "└─" (make-string (length str) ?─) "─┘" n) (abox "+-" (make-string (length str) ?-) "-+" n "| " (s str) " |" n "+-" (make-string (length str) ?-) "-+" n) (cut "--8<---------------cut here---------------start------------->8---" n r n "--8<---------------cut here---------------end--------------->8---" n) (rot13 (p "plain text" text) n "----" n (rot13 text)) (calc (p "taylor(sin(x),x=0,3)" formula) n "----" n (format "%s" (calc-eval formula))) rst-mode (title (make-string (length title) ?=) n (p "Title: " title) n (make-string (length title) ?=) n) java-mode (class "public class " (p (file-name-base (or (buffer-file-name) (buffer-name)))) " {" n> r> n "}") c-mode :when (re-search-backward "^\\S-*$" (line-beginning-position) 'noerror) (inc "#include <" (p (concat (file-name-base (or (buffer-file-name) (buffer-name))) ".h")) ">") (incc "#include \"" (p (concat (file-name-base (or (buffer-file-name) (buffer-name))) ".h")) "\"") org-mode (title "#+title: " p n "#+author: " p n "#+email: " p n "#+language: en") (babel "#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent") (caption "#+caption: ") (drawer ":" p ":" n r ":end:") (begin "#+begin_" (s name) n> r> n "#+end_" name) (quote "#+begin_quote" n> r> n "#+end_quote") (sidenote "#+begin_sidenote" n> r> n "#+end_sidenote") (marginnote "#+begin_marginnote" n> r> n "#+end_marginnote") (example "#+begin_example" n> r> n "#+end_example") (center "#+begin_center" n> r> n "#+end_center") (ascii "#+begin_export ascii" n> r> n "#+end_export") (html "#+begin_export html" n> r> n "#+end_export") (latex "#+begin_export latex" n> r> n "#+end_export") (comment "#+begin_comment" n> r> n "#+end_comment") (verse "#+begin_verse" n> r> n "#+end_verse") (src "#+begin_src " q n r n "#+end_src") (gnuplot "#+begin_src gnuplot :var data=" (p "table") " :file " (p "plot.png") n r n "#+end_src" :post (org-edit-src-code)) (elisp "#+begin_src emacs-lisp" n r n "#+end_src" :post (org-edit-src-code)) (inlsrc "src_" p "{" q "}") nix-mode (buildphase > "buildPhase= ''" n (p "Build Instructions") n " '';") (checkPhase > "checkPhase= ''" n (p "") n " '';") (configurephase > "configurePhase= ''" n (p "") n " '';") (fixupphase > "fixupPhase= ''" n (p "") n " '';") (distphase > "distPhase= ''" n (p "") n " '';") (patchphase > "patchPhase= ''" n (p "") n " '';") (unpackphase > "unpackPhase= ''" n (p "") n " '';") (installCheckPhasephase > "installCheckPhasePhase= ''" n (p "") n " '';") (installphase > "installphase= ''" n p " mkdir -p $out/bin" n> "for f in $(find . -executable -type f);" n> "do" n> "cp $f $out/bin" n> "done}" n> " '';") (gitpackage "{ lib" n ", stdenv" n ", fetchFromGitHub" n ", " (p "inputs") n ", " (p "inputs") n "}:" n n> "stdenv.mkDerivation rec {" n> "pname = \"" (p "" pkgn nil) "\";" n> "version = \"" p "\";" n n> "src = fetchFromGitHub {" n> "owner = \"" (p "" own) "\";" n> "repo = \"" (s pkgn) "\";" n> "rev = \"" "v${version}" "\";" n> "sha256 = \"" "${lib.fakeSha256}" "\";" n> "};" n n> "nativeBuildInputs = [ " (p "makeWrapper") " ];" n n> "BuildInputs = [ " (p) " ];" n n> "meta = with lib; {" n> "homepage = \"" "https://github.com/" (s own) "/" (s pkgn) "\";" n> "description = \"" (p) "\";" n> "license = licenses." (p (completing-read "License: " '("agpl3" "asl20" "bsd1" "bsd2" "bsd3" "free" "gpl2" "gpl2Only" "gpl2Plus" "gpl3" "gpl3Only" "gpl3Plus" "isc" "lgpl21Only" "lgpl21Plus" "lgpl2Only" "lgpl2Plus" "lgpl3" "lgpl3Only" "mit" "mpl20" "ofl" "unfree"))) ";" n> "maintainers = with maintainers; [ " (s own) " ];" n> "platforms = platforms." (p (completing-read "Platform: " '("all" "allBut" "arm" "cygwin" "darwin" "freebsd" "gnu" "i686" "illumos" "linux" "mesaPlatforms" "mips" "netbsd" "none" "openbsd" "unix" "x86"))) ";" n> q "};" n> "}" ) (pythonshell "with import (builtins.getFlake \"github:nixos/nixpkgs" (p "/23.11")"\") {};" n> "mkShellNoCC {" n> "packages = [" n> "(" (p "python3") ".withPackages" n> "(ps: with ps; ["(p "python-lsp-server isort mypy") "]))" n> q n> "];" n> "}") (poetryshell "with import (builtins.getFlake \"github:nixos/nixpkgs" (p "/23.11")"\") {};" n "with (builtins.getFlake \"github:nix-community/poetry2nix\").lib.mkPoetry2Nix {inherit pkgs;};" n> "(mkPoetryEnv rec {" n> "projectDir = ./.;" n> "preferWheels = true;" n> "extras = [\"*\"];" n> "editablePackageSources = {" (p "package") "=projectDir;};" n> "extraPackages = ps: with ps; [" (p "python-lsp-server isort mypy")"];" n> "})" n> ".env") python-base-mode (clss "class " (p "Class") "(" p "):" n> q) (defi "def __init__(self" (p ", *args, **kwargs") ") -> None:" n> "\"\"\"" (p "docstring") "\"\"\"" n> q "pass") (defm "def " (p "method") "(self" (p ", *args, **kwargs") ") -> " (p "None") ":" n> "\"\"\"" (p "docstring") "\"\"\"" n> q "return") (defc "@classmethod" n> "def " (p "classmethod") "(cls" (p ", *args, **kwargs") ") -> " (p "None") ":" n> "\"\"\"" (p "docstring") "\"\"\"" n> q "return") (defs "@staticmethod" n> "def " (p "staticmethod") "(" (p "*args, **kwargs") ") -> " (p "None") ":" n> "\"\"\"" (p "docstring") "\"\"\"" n> q "return") (deff "def " (p "func") "(" (p "*args, **kwargs") ") -> " (p "None") ":" n> "\"\"\"" (p "docstring") "\"\"\"" n> q "return") (main "def main(" (p "*args, **kwargs") ") -> " (p "None") ":" n> q "return") (ifm "if __name__ == \"__main__\":" n> "main()") (scr "#!/usr/bin/env python3" n n> "def main() -> None:" n> "pass" n n> "if __name__ == \"__main__\":" n> "main()") (logg "logger = logging.getLogger(__name__)") (nimp "raise NotImplementedError") (args "def parse_arguments() -> argparse.Namespace:" n> "parser = argparse.ArgumentParser(description=\"" p "\")" n> p n> "return parser.parse_args()") (regx p " = re.compile(r\"" p "\")") (bang "#!/usr/bin/env python3" n> q) (utf-8_encoding "# -*- coding: utf-8 -*-") ;; Local Variables: ;; mode: lisp-data ;; outline-regexp: "[a-z]" ;; End: