aboutsummaryrefslogtreecommitdiff
path: root/nix/users/fcuny/configs/emacs/site-lisp/init-text.el
diff options
context:
space:
mode:
Diffstat (limited to 'nix/users/fcuny/configs/emacs/site-lisp/init-text.el')
-rw-r--r--nix/users/fcuny/configs/emacs/site-lisp/init-text.el127
1 files changed, 127 insertions, 0 deletions
diff --git a/nix/users/fcuny/configs/emacs/site-lisp/init-text.el b/nix/users/fcuny/configs/emacs/site-lisp/init-text.el
new file mode 100644
index 0000000..d41c486
--- /dev/null
+++ b/nix/users/fcuny/configs/emacs/site-lisp/init-text.el
@@ -0,0 +1,127 @@
+;;; init-text.el --- Configure text modes -*- lexical-binding: t -*-
+;; Author: Franck Cuny <franck@fcuny.net>
+
+;;; Commentary:
+
+;; Configure completions
+
+;;; Code:
+
+(use-package flyspell
+ :hook ((text-mode . flyspell-mode)
+ (org-mode . flyspell-mode)
+ (git-commit-mode . flyspell-mode)
+ (prog-mode . flyspell-prog-mode))
+ :diminish flyspell-mode
+ :custom
+ (ispell-program-name "aspell")
+ (ispell-silently-savep t)
+ (ispell-local-dictionary "en_US")
+ (ispell-extra-args '("--camel-case")))
+
+(use-package markdown-mode
+ :mode (("\\`README\\.md\\'" . gfm-mode)
+ ("\\.md\\'" . markdown-mode)
+ ("\\.markdown\\'" . markdown-mode))
+ :custom
+ (markdown-command "pandoc -f markdown_github+smart")
+ (markdown-command-needs-filename t)
+ (markdown-enable-math t)
+ (markdown-open-command "marked")
+ :init
+ (setq markdown-command "multimarkdown"))
+
+(use-package org
+ :hook
+ (org-mode . turn-on-flyspell)
+ (org-mode . visual-line-mode)
+ (org-mode . org-indent-mode)
+
+ :config
+ (font-lock-add-keywords 'org-mode
+ '(("^ *\\(-\\) "
+ (0 (ignore (compose-region (match-beginning 1) (match-end 1) "•"))))))
+
+ :custom
+ (org-directory "~/Documents/org")
+ (org-default-notes-file (expand-file-name "notes.org" org-directory))
+
+ (org-startup-folded t)
+ (org-startup-indented t)
+ (org-startup-with-inline-images t)
+
+ ;; enable todo and checkbox dependencies
+ (org-enforce-todo-dependencies t)
+ (org-enforce-todo-checkbox-dependencies t)
+
+ ;; quick access for todo states
+ (org-todo-keywords
+ '((sequence "TODO(t)" "NEXT(n)" "WAITING(w!)" "SOMEDAY(S!)" "|" "DONE(d)")
+ (sequence "|" "CANCELLED(c)")))
+
+ (org-log-done 'time)
+ (org-log-into-drawer t)
+
+ ;; no empty lines between items
+ (org-blank-before-new-entry '((heading . nil) (plain-list-item . nil)))
+
+ (org-hide-emphasis-markers t)
+ (org-hide-leading-stars t)
+ (org-pretty-entities t)
+
+ (org-return-follows-link t)
+
+ (org-export-backends '(html md))
+
+ (org-imenu-depth 4)
+
+ (org-insert-heading-respect-content t)
+
+ (org-outline-path-complete-in-steps nil)
+
+ (org-src-fontify-natively t)
+ (org-src-preserve-indentation t)
+ (org-src-tab-acts-natively t)
+ (org-src-window-setup 'current-window)
+
+ (org-yank-adjusted-subtrees t)
+
+ (org-structure-template-alist
+ '(("s" . "src")
+ ("E" . "src emacs-lisp")
+ ("p" . "src python")
+ ("e" . "example")
+ ("q" . "quote"))))
+
+(use-package org-agenda
+ :ensure nil
+ :after org
+ :bind
+ ("C-c a" . org-agenda)
+ :custom
+ (org-agenda-start-on-weekday 1))
+
+(use-package denote
+ :defer t
+ :custom
+ (denote-sort-keywords t)
+ :hook
+ (dired-mode . denote-dired-mode)
+ :custom-face
+ (denote-faces-link ((t (:slant italic))))
+ :init
+ (require 'denote-org)
+ :bind
+ (("C-c w d b" . denote-find-backlink)
+ ("C-c w d d" . denote-date)
+ ("C-c w d l" . denote-find-link)
+ ("C-c w d h" . denote-org-link-to-heading)
+ ("C-c w d i" . denote-link-or-create)
+ ("C-c w d k" . denote-rename-file-keywords)
+ ("C-c w d n" . denote)
+ ("C-c w d r" . denote-rename-file)
+ ("C-c w d R" . denote-rename-file-using-front-matter)))
+
+(provide 'init-text)
+
+;;; init-text.el ends here