diff options
| -rw-r--r-- | emacs/inits/11-selectrum.el | 10 | ||||
| -rw-r--r-- | emacs/inits/23-text-related.el | 130 | ||||
| -rw-r--r-- | emacs/inits/24-latex.el | 11 | ||||
| -rw-r--r-- | emacs/scripts/cdm-mode.el | 14 |
4 files changed, 109 insertions, 56 deletions
diff --git a/emacs/inits/11-selectrum.el b/emacs/inits/11-selectrum.el index b8653c5..f9ed8b0 100644 --- a/emacs/inits/11-selectrum.el +++ b/emacs/inits/11-selectrum.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-04-10 11:05:31 (tslil@bison)> +;; Time-stamp: <2020-04-23 20:59:13 (tslil@bison)> (use-package deadgrep :ensure t @@ -6,7 +6,8 @@ (defun selectrum-recentf () (interactive) - (find-file (completing-read "Recent file: " recentf-list nil t))) + (let ((selectrum-should-sort-p nil)) + (find-file (completing-read "Recent file: " recentf-list nil t)))) (defun selectrum-yank () (interactive) @@ -28,7 +29,10 @@ :ensure t :config (selectrum-prescient-mode +1) - (prescient-persist-mode +1)) + (prescient-persist-mode +1) + ;; I don't want enable-recursive-minibuffers so this is the next best thing: + (setq-default completion-in-region-function selectrum--old-completion-in-region-function) + ) ;; (use-package ctrlf ;; :ensure t diff --git a/emacs/inits/23-text-related.el b/emacs/inits/23-text-related.el index 75eb869..7cfb4df 100644 --- a/emacs/inits/23-text-related.el +++ b/emacs/inits/23-text-related.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-04-13 14:36:53 (tslil@bison)> +;; Time-stamp: <2020-04-23 13:54:24 (tslil@bison)> ;; ----------------------------------------------------------------------------- ;; Spelling @@ -6,12 +6,56 @@ (use-package spell-fu :ensure t :config - (setq ispell-dictionary "british" + (setq ispell-dictionary "en_GB-ise-w_accents" ispell-personal-dictionary "~/.aspell.en.pws") ;; The default was this "\\b\\([[:alpha:]][[:alpha:]']*\\)\\b", but that ;; didn't play well with ``LaTeX's quoting system''. - (setq-default spell-fu-word-regexp "\\([[:alpha:]]+\\('[[:alpha:]]\\)*\\)")) + (setq-default spell-fu-word-regexp "\\([[:alpha:]]+\\('[[:alpha:]]\\)*\\)" + spell-fu-faces-exclude '(font-latex-math-face + font-latex-sedate-face + font-lock-keyword-face + font-lock-function-name-face + font-lock-variable-name-face))) + +;; (defun flyspell-correct-selectrum (candidates word) +;; (let* ((save "[SAVE]") +;; (accept-session "[ACCEPT (session)]") +;; (accept-buffer "[ACCEPT (buffer)]") +;; (skip "[SKIP]") +;; (selectrucm-should-sort nil) +;; (result (selectrum-completing-read +;; (format "Correcting '%s': " word) +;; (append candidates +;; (list save accept-session accept-buffer skip))))) +;; (cond +;; ((string= result save) +;; (cons 'save word)) +;; ((string= result accept-session) +;; (cons 'session word)) +;; ((string= result accept-buffer) +;; (cons 'buffer word)) +;; ((string= result skip) +;; (cons 'skip word)) +;; (t +;; result)))) + +;; (use-package flyspell-correct +;; :ensure t +;; :defer t +;; :config +;; (setq flyspell-correct-interface #'flyspell-correct-selectrum)) + +;; (use-package flyspell +;; :ensure t +;; :bind (:map flyspell-mode-map +;; ("M-$" . flyspell-correct-wrapper) +;; ("C-," . nil) +;; ("C-." . nil) +;; ("C-\"" . nil)) +;; :init +;; (setq ispell-dictionary "british" +;; flyspell-default-dictionary "british")) (setq sentence-end-double-space nil) @@ -19,6 +63,7 @@ (electric-pair-local-mode 1) (turn-on-auto-fill) (spell-fu-mode 1) + ;; (flyspell-mode 1) (company-mode 1))) (add-hook 'text-mode-hook (lambda () @@ -28,6 +73,7 @@ (turn-on-auto-fill) (siege-mode 1) (spell-fu-mode 1) + ;; (flyspell-mode 1) )) (use-package dictionary :ensure t :defer t) @@ -53,8 +99,7 @@ :ensure t :defer t :commands (deft) - :bind (("C-z" . deft-take-note) - ("C-c C-z" . deft)) + :bind (("C-c C-z" . deft)) :config (setq deft-default-extension "org" deft-directory "~/store/notes" @@ -65,43 +110,44 @@ (case-fn . downcase)) deft-org-mode-title-prefix t) - (defvar deft-take-note-pre-grab - '((region-thing . (let ((r (if (region-active-p) - (buffer-substring (region-beginning) (region-end)) - (thing-at-point 'line)))) - (if r (concat r "\n") ""))) - (bfn . (let ((f (buffer-file-name)) - (b (buffer-name))) (if f f (concat b " (no file associated)"))))) - "List of pairs of symbol names and (functions evaluating to) - strings evaluated before the buffer is created, and made - available for deft-take-note-default-contents.") - - (defvar deft-take-note-post-grab '() - "List of pairs of symbol names and (functions evaluating to) - strings evaluated after the buffer is created, and made - available for deft-take-note-default-contents.") - - (defvar deft-take-note-default-contents '(region-thing bfn "\n") - "List with string literals and symbols defined in the pre and - post grab lists to be inserted into the buffer.") - - (defun deft-take-note () - (interactive) - (let ((pre-alist (mapcar #'(lambda (elt) `(,(car elt) . ,(eval (cdr elt)))) - deft-take-note-pre-grab))) - (let ((bn (concat (format-time-string "%Y%m%d-%H:%M:%S.%N-%Z") "." - deft-default-extension))) - (switch-to-buffer bn) - (set-visited-file-name (expand-file-name - (concat deft-directory "/" bn))) - (let ((complete-alist - (append pre-alist - (mapcar #'(lambda (elt) `(,(car elt) . ,(eval (cdr elt)))) - deft-take-note-post-grab)))) - (mapc #'(lambda (elt) (if (eq (type-of elt) 'string) - (insert elt) - (insert (cdr (assoc elt complete-alist))))) - deft-take-note-default-contents)))))) + ;; (defvar deft-take-note-pre-grab + ;; '((region-thing . (let ((r (if (region-active-p) + ;; (buffer-substring (region-beginning) (region-end)) + ;; (thing-at-point 'line)))) + ;; (if r (concat r "\n") ""))) + ;; (bfn . (let ((f (buffer-file-name)) + ;; (b (buffer-name))) (if f f (concat b " (no file associated)"))))) + ;; "List of pairs of symbol names and (functions evaluating to) + ;; strings evaluated before the buffer is created, and made + ;; available for deft-take-note-default-contents.") + + ;; (defvar deft-take-note-post-grab '() + ;; "List of pairs of symbol names and (functions evaluating to) + ;; strings evaluated after the buffer is created, and made + ;; available for deft-take-note-default-contents.") + + ;; (defvar deft-take-note-default-contents '(region-thing bfn "\n") + ;; "List with string literals and symbols defined in the pre and + ;; post grab lists to be inserted into the buffer.") + + ;; (defun deft-take-note () + ;; (interactive) + ;; (let ((pre-alist (mapcar #'(lambda (elt) `(,(car elt) . ,(eval (cdr elt)))) + ;; deft-take-note-pre-grab))) + ;; (let ((bn (concat (format-time-string "%Y%m%d-%H:%M:%S.%N-%Z") "." + ;; deft-default-extension))) + ;; (switch-to-buffer bn) + ;; (set-visited-file-name (expand-file-name + ;; (concat deft-directory "/" bn))) + ;; (let ((complete-alist + ;; (append pre-alist + ;; (mapcar #'(lambda (elt) `(,(car elt) . ,(eval (cdr elt)))) + ;; deft-take-note-post-grab)))) + ;; (mapc #'(lambda (elt) (if (eq (type-of elt) 'string) + ;; (insert elt) + ;; (insert (cdr (assoc elt complete-alist))))) + ;; deft-take-note-default-contents))))) + ) ;; ----------------------------------------------------------------------------- ;; Useful keybinds diff --git a/emacs/inits/24-latex.el b/emacs/inits/24-latex.el index 9d7d730..0119cae 100644 --- a/emacs/inits/24-latex.el +++ b/emacs/inits/24-latex.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-04-13 13:00:54 (tslil@bison)> +;; Time-stamp: <2020-04-23 20:45:55 (tslil@bison)> (defvar latex-template-dir (expand-file-name "~/academic/typeset/latex-templates")) (defun prompt-latex-file-template () @@ -70,9 +70,7 @@ populated from the directory *latex-template-dir*" TeX-close-quote old-close)))) :config - (setq spell-fu-faces-exclude '(font-latex-math-face)) - - (dolist (entry '(("diagram") ("diagram*"))) (push entry LaTeX-indent-environment-list)) + (dolist (entry '(("diagram") ("vdiagram") ("diagram*") ("vsubdiagram") ("vsubdiagrams"))) (push entry LaTeX-indent-environment-list)) (setq TeX-command-list '(("XeLaTeX" "xelatex %t" TeX-run-TeX nil (latex-mode doctex-mode) :help "Run XeLaTeX") @@ -135,14 +133,13 @@ populated from the directory *latex-template-dir*" (?` nil "`'" t nil nil) (?- "\\overline" nil t nil nil) (?_ "\\underline" nil t nil nil)) - cdlatex-math-symbol-alist '((?% ("\\widehat{?}" "\\hat{?}")) + cdlatex-math-symbol-alist '((?^ ("\\widehat{?}" "\\hat{?}")) (?' ("^{\\prime}" "\\prime")) (?* ("\\times" "\\otimes" "\\star")) (?+ ("+" "\\oplus")) - (?- ("\\vdash" "\\setminus" "\\triangle")) + (?- ("\\dashv" "\\vdash" "\\setminus")) (?. ("\\sq" "\\circ" "\\cdot")) (?0 ("\\emptyset" "\\circ")) - (?\; ("\\col")) (?< ("\\leftarrow" "\\leftharpoonup" "\\xleftarrow")) (?> ("\\to" "\\rightharpoonup" "\\xrightarrow")) (?B ("\\bullet")) diff --git a/emacs/scripts/cdm-mode.el b/emacs/scripts/cdm-mode.el index d645e66..d4b1964 100644 --- a/emacs/scripts/cdm-mode.el +++ b/emacs/scripts/cdm-mode.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-03-19 11:07:15 (tslil@bison)> +;; Time-stamp: <2020-04-23 21:05:46 (tslil@bison)> (defvar cdm-arr-type-list '(("arrow" . "a") ("2-cell arrow" . "n") @@ -21,12 +21,14 @@ ("up -> down" . 2) ("down -> up" . 3))) -(defvar cdm-wrap-list '("diagram" "tikzpicture" "diagram*" "dgrm")) +(defvar cdm-wrap-list '("diagram" "tikzpicture" "diagram*" "vdiagram" "vsubdiagram")) (defvar cdm--pos-list '("below" "right" "left" "above" "midway" "below right" "below left" "above right" "above left" "none")) +(defvar cdm-scale-arrow "la") + (defvar cdm-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "C-c a") 'cdm-insert-arrow) @@ -239,6 +241,9 @@ (when ,dest (let*-unless-null ,list ,@body)))) `(progn ,@body))) +(defun cdm--concat-arrow-scale (string) + (concat cdm-scale-arrow (if (string-blank-p string) "" ",") string)) + (defun cdm-insert-arrow (extra-props) (interactive "P") (when (cdm--get-nodes) @@ -257,7 +262,7 @@ (labelled (unless (string-suffix-p "d" type) (char-equal ?\C-m (read-char "Labelled (Return = yes)?")))) (label-props (when (and (not par) labelled) - (read-string "Label properties: "))) + (cdm--concat-arrow-scale (read-string "Label properties: ")))) (slide (when cell (read-string "Slide: "))) (length (when cell (read-string "Length: ")))) @@ -275,7 +280,8 @@ ;; TODO: Orientation? This is broken with swaps if one changes orientation... (defun cdm--prompt-insert-arrow-square (node-1 node-2 swap) (when (cdm--get-nodes) - (let (r d) + (let (r d + (swap (cdm--concat-arrow-scale swap))) (dolist (n cdm--node-list) (when (or (string-equal node-1 (cdr n)) (string-equal node-2 (cdr n))) |
