summary refs log tree commit diff stats
path: root/lisp/+titlecase.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/+titlecase.el')
-rw-r--r--lisp/+titlecase.el32
1 files changed, 32 insertions, 0 deletions
diff --git a/lisp/+titlecase.el b/lisp/+titlecase.el new file mode 100644 index 0000000..9266807 --- /dev/null +++ b/lisp/+titlecase.el
@@ -0,0 +1,32 @@
1;;; +titlecase.el --- Titlecase extras -*- lexical-binding: t; -*-
2
3;;; Commentary:
4
5;;; Code:
6
7(require 'titlecase)
8
9(defun +titlecase-sentence-style-dwim (&optional arg)
10 "Titlecase a sentence.
11With prefix ARG, toggle the value of
12`titlecase-downcase-sentences' before sentence-casing."
13 (interactive "P")
14 (let ((titlecase-downcase-sentences (if arg (not titlecase-downcase-sentences)
15 titlecase-downcase-sentences)))
16 (titlecase-dwim 'sentence)))
17
18(defun +titlecase-org-headings ()
19 (interactive)
20 (save-excursion
21 (goto-char (point-min))
22 ;; See also `org-map-tree'. I'm not using that function because I want to
23 ;; skip the first headline. A better solution would be to patch
24 ;; `titlecase-line' to ignore org-mode metadata (TODO cookies, tags, etc).
25 (let ((level (funcall outline-level)))
26 (while (and (progn (outline-next-heading)
27 (> (funcall outline-level) level))
28 (not (eobp)))
29 (titlecase-line)))))
30
31(provide '+titlecase)
32;;; +titlecase.el ends here