blob: aee8889e8aef2b04ccd4130097363c8909ecd96b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
;;; 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-dictionary "en_US")
(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
|