summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/inits/11-selectrum.el10
-rw-r--r--emacs/inits/23-text-related.el130
-rw-r--r--emacs/inits/24-latex.el11
-rw-r--r--emacs/scripts/cdm-mode.el14
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)))