Compare commits

...

9 Commits

Author SHA1 Message Date
Jeremy Dormitzer
271b9e4b57 Have some fun with my handwriting font 2021-05-12 11:05:04 -04:00
Jeremy Dormitzer
2dbff50721 Add pdf-tools 2021-05-12 11:04:55 -04:00
Jeremy Dormitzer
cfd9dd36f2 Disable straight modification checking on startup 2021-05-12 11:04:24 -04:00
Jeremy Dormitzer
7c3dab46d3 Enable hs-minor-mode in xml buffers 2021-05-12 11:03:59 -04:00
Jeremy Dormitzer
59d48374b9 Enable ligatures on mac 2021-05-12 11:03:32 -04:00
Jeremy Dormitzer
bbbc4765d3 Minor corg-mode improvements 2021-05-12 11:03:16 -04:00
Jeremy Dormitzer
6fb4f35c77 Remove mu4e signature 2021-05-12 11:02:54 -04:00
Jeremy Dormitzer
1558c4461a Improve smartparens in web-mode and JS modes 2021-05-12 11:02:33 -04:00
Jeremy Dormitzer
7f6f3c1233 Add some useful occur functions 2021-05-12 11:02:13 -04:00
9 changed files with 88 additions and 3 deletions

View File

@ -0,0 +1,14 @@
;; -*- lexical-binding: t; -*-
;;;###autoload
(defface handwriting
'((t :family "Jeremy Sans"))
"A face with handwritten font")
;;;###autoload
(defun handwrite ()
"Make the buffer look handwritten"
(interactive)
(buffer-face-set 'handwriting))
(provide 'handwriting)

View File

@ -12,6 +12,37 @@ Repeated invocations toggle between the two most recently open buffers."
(interactive) (interactive)
(switch-to-buffer (other-buffer (current-buffer) 1))) (switch-to-buffer (other-buffer (current-buffer) 1)))
(defun get-buffers-matching-mode (mode)
"Returns a list of buffers where their major-mode is equal to MODE"
(let ((buffer-mode-matches '()))
(dolist (buf (buffer-list))
(with-current-buffer buf
(if (eq mode major-mode)
(add-to-list 'buffer-mode-matches buf))))
buffer-mode-matches))
(defun get-buffer-modes ()
"Returns a list of all major modes in currenctly open buffers."
(delete-dups
(cl-loop for buf in (buffer-list)
collect (with-current-buffer buf major-mode))))
(defun multi-occur-in-mode (mode regexp)
"Show all lines matching REGEXP in buffers with this major mode."
(interactive (list (completing-read "List lines from buffers with mode: "
(get-buffer-modes)
nil
'confirm
nil
nil
major-mode)
(read-string "List lines matching regexp: ")))
(multi-occur (get-buffers-matching-mode mode) regexp))
(defun occur-all (regexp)
"Show all lines matching REGEXP in all open buffers."
(interactive "MList lines matching regexp: ")
(multi-occur-in-matching-buffers ".*" regexp t))
(leader-def-key (leader-def-key
"TAB" #'switch-to-previous-buffer "TAB" #'switch-to-previous-buffer
@ -20,7 +51,8 @@ Repeated invocations toggle between the two most recently open buffers."
"bd" #'kill-buffer "bd" #'kill-buffer
"bm" #'kill-other-buffers "bm" #'kill-other-buffers
"br" #'rename-buffer "br" #'rename-buffer
"bg" #'revert-buffer) "bg" #'revert-buffer
"bo" #'occur-all)
;; A library that provides a hook called on switching buffers ;; A library that provides a hook called on switching buffers
(use-package switch-buffer-functions (use-package switch-buffer-functions

View File

@ -20,6 +20,19 @@
(defun sp-wrap-single-quote () (defun sp-wrap-single-quote ()
(interactive) (interactive)
(sp-wrap-with-pair "'")) (sp-wrap-with-pair "'"))
(defun sp-after-equals-p (_id action _context)
(when (memq action '(insert navigate))
(sp--looking-back-p "=>" 2)))
;; Enable ES6 arrow functions in web mode
(defun sp-after-equals-skip-p (ms mb _me)
(when (eq ms ">")
(save-excursion
(goto-char mb)
(sp--looking-back-p "=" 1))))
(sp-local-pair '(web-mode) "<" nil
:unless '(:add sp-after-equals-p)
:skip-match 'sp-after-equals-skip-p)
:hook :hook
(prog-mode . smartparens-strict-mode) (prog-mode . smartparens-strict-mode)
(eshell-mode . smartparens-strict-mode) (eshell-mode . smartparens-strict-mode)

View File

@ -65,7 +65,6 @@
"jeremydormitzer-lola-com" "jeremydormitzer-lola-com"
(mu4e-message-field msg :path))))) (mu4e-message-field msg :path)))))
:vars '((user-mail-address . "jeremydormitzer@lola.com") :vars '((user-mail-address . "jeremydormitzer@lola.com")
(mu4e-compose-signature . "Best regards, \nJeremy Dormitzer \nLola.com")
(message-signature-insert-empty-line . t) (message-signature-insert-empty-line . t)
(mu4e-sent-folder . "/jeremydormitzer-lola-com/Sent") (mu4e-sent-folder . "/jeremydormitzer-lola-com/Sent")
(mu4e-drafts-folder . "/jeremydormitzer-lola-com/Drafts") (mu4e-drafts-folder . "/jeremydormitzer-lola-com/Drafts")

View File

@ -7,6 +7,7 @@
(leader-def-key "o" '(nil :which-key "org")) (leader-def-key "o" '(nil :which-key "org"))
:config :config
(add-hook 'org-mode-hook #'auto-fill-mode) (add-hook 'org-mode-hook #'auto-fill-mode)
(add-hook 'org-mode-hook (lambda () (require 'org-attach)))
:custom :custom
(org-agenda-files `(,(expand-file-name "~/org/todo.org") (org-agenda-files `(,(expand-file-name "~/org/todo.org")
,(expand-file-name "~/org/deft/unifydb.org") ,(expand-file-name "~/org/deft/unifydb.org")
@ -36,9 +37,16 @@
(org-agenda-span 'day) (org-agenda-span 'day)
(org-agenda-todo-ignore-scheduled 'future) (org-agenda-todo-ignore-scheduled 'future)
(org-agenda-tags-todo-honor-ignore-options t) (org-agenda-tags-todo-honor-ignore-options t)
(org-file-apps '(("log" . emacs)
(auto-mode . emacs)
(directory . emacs)
("\\.pdf\\'" . emacs)
("\\.mm\\'" . default)
("\\.x?html?\\'" . default)))
:general :general
(leader-map "oa" #'org-agenda) (leader-map "oa" #'org-agenda)
(leader-map "oc" #'org-capture)) (leader-map "oc" #'org-capture)
(normal org-mode-map "<return>" #'org-return))
(use-package evil-org (use-package evil-org
:after org :after org

View File

@ -0,0 +1,9 @@
;; -*- lexical-binding: t; -*-
(use-package pdf-tools
:mode (("\\.pdf\\'" . pdf-view-mode))
:config
(pdf-tools-install)
(evil-collection-pdf-setup))
(provide 'init-pdf)

View File

@ -6,6 +6,11 @@
(scroll-bar-mode -1) (scroll-bar-mode -1)
(tooltip-mode -1)) (tooltip-mode -1))
(when (fboundp 'mac-auto-operator-composition-mode)
(setq mac-auto-operator-composition-characters
"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
(mac-auto-operator-composition-mode))
;; Doom themes are the best themes! ;; Doom themes are the best themes!
(use-package doom-themes) (use-package doom-themes)
(use-package doom-modeline (use-package doom-modeline

View File

@ -15,6 +15,7 @@
(shell-command-on-region start end "xmllint --format -" nil t)) (shell-command-on-region start end "xmllint --format -" nil t))
(t (sgml-pretty-print start end))))) (t (sgml-pretty-print start end)))))
(general-def nxml-mode-map "C-M-\\" #'xml-pretty-print) (general-def nxml-mode-map "C-M-\\" #'xml-pretty-print)
(add-hook 'nxml-mode-hook #'hs-minor-mode)
(add-to-list 'hs-special-modes-alist (add-to-list 'hs-special-modes-alist
'(nxml-mode '(nxml-mode
"<!--\\|<[^/>]*[^/]>" ;; regexp for start block "<!--\\|<[^/>]*[^/]>" ;; regexp for start block

View File

@ -17,6 +17,8 @@
(add-hook 'emacs-startup-hook #'server-start-if-not-running) (add-hook 'emacs-startup-hook #'server-start-if-not-running)
;; Bootstrap the straight.el package manager ;; Bootstrap the straight.el package manager
(setq straight-check-for-modifications '(check-on-save find-when-checking)
straight-cache-autoloads t)
(defvar bootstrap-version) (defvar bootstrap-version)
(let ((bootstrap-file (let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" (expand-file-name "straight/repos/straight.el/bootstrap.el"
@ -102,11 +104,13 @@
(require 'init-email) (require 'init-email)
(require 'init-kubernetes) (require 'init-kubernetes)
(require 'init-epub) (require 'init-epub)
(require 'init-pdf)
(require 'init-homebrew) (require 'init-homebrew)
(require 'init-elfeed) (require 'init-elfeed)
(require 'init-1pass) (require 'init-1pass)
(require 'init-wallabag) (require 'init-wallabag)
(require 'init-lola) (require 'init-lola)
(require 'handwriting)
(when (file-exists-p custom-file) (when (file-exists-p custom-file)
(load custom-file 'noerror 'nomessage)) (load custom-file 'noerror 'nomessage))