summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/mm-abbrev.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/modules/mm-abbrev.el')
-rw-r--r--.config/emacs/modules/mm-abbrev.el110
1 files changed, 0 insertions, 110 deletions
diff --git a/.config/emacs/modules/mm-abbrev.el b/.config/emacs/modules/mm-abbrev.el
deleted file mode 100644
index d32ec0d..0000000
--- a/.config/emacs/modules/mm-abbrev.el
+++ /dev/null
@@ -1,110 +0,0 @@
-;;; mm-abbrev.el --- Emacs abbreviations and templates -*- lexical-binding: t; -*-
-
-;;; Helpers
-
-(defmacro mm-define-abbreviations (table &rest definitions)
- "Define abbrevations for an abbreviation TABLE.
-Expand abbrev DEFINITIONS for the given TABLE. DEFINITIONS are a
-sequence of either string pairs mapping an abbreviation to its
-expansion, or a string and symbol pair mapping an abbreviation to a
-function.
-
-After adding all abbreviations to TABLE, this macro marks TABLE as
-case-sensitive to avoid unexpected abbreviation expansions."
- (declare (indent 1))
- (unless (cl-evenp (length definitions))
- (user-error "expected an even number of elements in DEFINITIONS"))
- `(progn
- ,@(cl-loop for (abbrev expansion) in (seq-partition definitions 2)
- if (stringp expansion)
- collect (list #'define-abbrev table abbrev expansion)
- else
- collect (list #'define-abbrev table abbrev "" expansion))
- (abbrev-table-put ,table :case-fixed t)))
-
-
-;;; Abbreviation Configuration
-
-(use-package abbrev
- :hook prog-mode
- :custom
- (abbrev-file-name (expand-file-name "abbev-defs" mm-data-directory))
- (save-abbrevs 'silently))
-
-
-;;; Abbreviation Definitions
-
-(defvar mm-c-mode-abbrev-table (make-abbrev-table)
- "Abbreviations shared between `c-mode', `c++-mode', `c-ts-mode', and
-`c++-ts-mode'.")
-
-(mm-define-abbreviations mm-c-mode-abbrev-table
- "flf" "flockfile"
- "fpf" "fprintf"
- "fuf" "funlockfile"
- "pf" "printf"
- "sde" "stderr"
- "sdi" "stdin"
- "sdo" "stdout")
-
-(with-eval-after-load 'cc-mode
- (setq c-mode-abbrev-table (copy-abbrev-table mm-c-mode-abbrev-table)
- c++-mode-abbrev-table (copy-abbrev-table mm-c-mode-abbrev-table)))
-(with-eval-after-load 'c-ts-mode
- (setq c-ts-mode-abbrev-table (copy-abbrev-table mm-c-mode-abbrev-table)
- c++-ts-mode-abbrev-table (copy-abbrev-table mm-c-mode-abbrev-table)))
-
-(mm-define-abbreviations emacs-lisp-mode-abbrev-table
- "ald" ";;;###autoload"
- "gc" "goto-char"
- "ins" "insert"
- "itv" "interactive"
- "mtb" "match-beginning"
- "mte" "match-end"
- "ntr" "narrow-to-region"
- "pbl" "pos-bol"
- "pel" "pos-eol"
- "pmn" "point-min"
- "pmx" "point-max"
- "pnt" "point"
- "rap" "region-active-p"
- "rb" "region-beginning"
- "re" "region-end"
- "rsb" "re-search-backward"
- "rsf" "re-search-forward"
- "sb" "search-backward"
- "se" "save-excursion"
- "sf" "search-forward"
- "sme" "save-mark-and-excursion"
- "sr" "save-restriction")
-
-(when mm-humanwave-p
- (with-eval-after-load 'python
- (mm-define-abbreviations python-ts-mode-abbrev-table
- "empb" "with emphasize.Block():"
- "empf" "@emphasize.func"
- "empi" "from shared.system import emphasize"
- "empt" "emphasize.this")))
-
-
-;;; Template Configuration
-
-(use-package tempel
- :ensure t
- :demand t
- :pin gnu
- :bind ( :map tempel-map
- ("TAB" . tempel-next)
- ("S-TAB" . tempel-previous))
- :custom
- (tempel-trigger-prefix "<")
- :init
- (setopt tempel-path (expand-file-name "templates" mm-config-directory))
- (dolist (mode '(conf-mode prog-mode text-mode))
- (add-hook (mm-mode-to-hook mode)
- (defun mm-setup-tempel-capf ()
- (add-hook 'completion-at-point-functions
- #'tempel-complete -10 :local))))
- (add-to-list 'auto-mode-alist (cons tempel-path #'lisp-data-mode)))
-
-(provide 'mm-abbrev)