2015-04-11 04:13:02 +00:00
|
|
|
;;; packages.el --- Org Layer packages File for Spacemacs
|
|
|
|
;;
|
|
|
|
;; Copyright (c) 2012-2014 Sylvain Benner
|
|
|
|
;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
|
|
|
|
;;
|
|
|
|
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
|
|
|
|
;; URL: https://github.com/syl20bnr/spacemacs
|
|
|
|
;;
|
|
|
|
;; This file is not part of GNU Emacs.
|
|
|
|
;;
|
|
|
|
;;; License: GPLv3
|
|
|
|
|
2015-04-19 03:40:24 +00:00
|
|
|
(setq org-packages
|
2015-04-11 04:13:02 +00:00
|
|
|
'(
|
2015-08-27 01:55:28 +00:00
|
|
|
company
|
|
|
|
company-emoji
|
|
|
|
emoji-cheat-sheet-plus
|
2015-04-11 04:13:02 +00:00
|
|
|
evil-org
|
2015-09-08 01:31:14 +00:00
|
|
|
gnuplot
|
2015-06-01 04:12:30 +00:00
|
|
|
htmlize
|
2015-04-11 04:13:02 +00:00
|
|
|
org
|
|
|
|
org-bullets
|
|
|
|
org-pomodoro
|
2015-05-14 04:17:12 +00:00
|
|
|
org-present
|
2015-04-11 04:13:02 +00:00
|
|
|
org-repo-todo
|
2015-06-08 21:07:43 +00:00
|
|
|
toc-org
|
2015-04-19 03:40:24 +00:00
|
|
|
))
|
2015-04-13 07:38:01 +00:00
|
|
|
|
2015-08-27 01:55:28 +00:00
|
|
|
(when (configuration-layer/layer-usedp 'auto-completion)
|
|
|
|
(defun org/post-init-company ()
|
|
|
|
(spacemacs|add-company-hook org-mode)
|
|
|
|
(push 'company-capf company-backends-org-mode))
|
|
|
|
(defun org/post-init-company-emoji ()
|
|
|
|
(push 'company-emoji company-backends-org-mode)))
|
|
|
|
|
|
|
|
(defun org/post-init-emoji-cheat-sheet-plus ()
|
|
|
|
(add-hook 'org-mode-hook 'spacemacs/delay-emoji-cheat-sheet-hook))
|
|
|
|
|
2015-04-11 04:13:02 +00:00
|
|
|
(defun org/init-evil-org ()
|
|
|
|
(use-package evil-org
|
|
|
|
:commands evil-org-mode
|
|
|
|
:init
|
|
|
|
(add-hook 'org-mode-hook 'evil-org-mode)
|
|
|
|
:config
|
|
|
|
(progn
|
|
|
|
(evil-leader/set-key-for-mode 'org-mode
|
2015-09-03 18:07:55 +00:00
|
|
|
"mC" 'evil-org-recompute-clocks
|
|
|
|
|
|
|
|
;; evil-org binds these keys, so we unbind them
|
|
|
|
"t" nil "a" nil "b" nil "c" nil "l" nil "o" nil)
|
2015-04-13 08:09:50 +00:00
|
|
|
(evil-define-key 'normal evil-org-mode-map
|
2015-05-08 03:06:38 +00:00
|
|
|
"O" 'evil-open-above)
|
2015-04-11 04:13:02 +00:00
|
|
|
(spacemacs|diminish evil-org-mode " ⓔ" " e"))))
|
|
|
|
|
2015-09-08 01:31:14 +00:00
|
|
|
(defun org/init-gnuplot ()
|
|
|
|
(use-package gnuplot
|
|
|
|
:if (not org-disable-gnuplot-support)
|
|
|
|
:config
|
|
|
|
(progn
|
|
|
|
(evil-leader/set-key-for-mode 'org-mode
|
|
|
|
"mtp" 'org-plot/gnuplot))))
|
|
|
|
|
2015-04-11 04:13:02 +00:00
|
|
|
(defun org/init-org ()
|
|
|
|
(use-package org
|
|
|
|
:mode ("\\.org$" . org-mode)
|
|
|
|
:defer t
|
|
|
|
:init
|
|
|
|
(progn
|
2015-06-16 02:28:36 +00:00
|
|
|
(setq org-clock-persist-file
|
|
|
|
(concat spacemacs-cache-directory "org-clock-save.el")
|
|
|
|
org-log-done t
|
2015-06-15 21:23:42 +00:00
|
|
|
org-startup-with-inline-images t
|
2015-05-29 04:13:07 +00:00
|
|
|
org-src-fontify-natively t)
|
2015-04-11 04:38:31 +00:00
|
|
|
|
|
|
|
(eval-after-load 'org-indent
|
|
|
|
'(spacemacs|hide-lighter org-indent-mode))
|
2015-04-15 21:24:55 +00:00
|
|
|
(setq org-startup-indented t)
|
2015-05-16 04:57:13 +00:00
|
|
|
(let ((dir (configuration-layer/get-layer-property 'org :dir)))
|
|
|
|
(setq org-export-async-init-file (concat dir "org-async-init.el")))
|
2015-04-13 08:09:50 +00:00
|
|
|
(defmacro spacemacs|org-emphasize (fname char)
|
2015-04-14 20:36:02 +00:00
|
|
|
"Make function for setting the emphasis in org mode"
|
2015-04-13 08:09:50 +00:00
|
|
|
`(defun ,fname () (interactive)
|
2015-05-08 03:06:38 +00:00
|
|
|
(org-emphasize ,char)))
|
2015-05-13 17:15:14 +00:00
|
|
|
|
|
|
|
;; Insert key for org-mode and markdown a la C-h k
|
|
|
|
;; from SE endless http://emacs.stackexchange.com/questions/2206/i-want-to-have-the-kbd-tags-for-my-blog-written-in-org-mode/2208#2208
|
|
|
|
(defun spacemacs/insert-keybinding-org (key)
|
|
|
|
"Ask for a key then insert its description.
|
|
|
|
Will work on both org-mode and any mode that accepts plain html."
|
|
|
|
(interactive "kType key sequence: ")
|
|
|
|
(let* ((tag "@@html:<kbd>@@ %s @@html:</kbd>@@"))
|
|
|
|
(if (null (equal key "\r"))
|
|
|
|
(insert
|
|
|
|
(format tag (help-key-description key nil)))
|
|
|
|
(insert (format tag ""))
|
|
|
|
(forward-char -8))))
|
2015-04-11 04:13:02 +00:00
|
|
|
(evil-leader/set-key-for-mode 'org-mode
|
2015-05-08 03:06:38 +00:00
|
|
|
"m'" 'org-edit-special
|
2015-04-11 04:13:02 +00:00
|
|
|
"mc" 'org-capture
|
|
|
|
"md" 'org-deadline
|
|
|
|
"me" 'org-export-dispatch
|
|
|
|
"mf" 'org-set-effort
|
2015-06-16 15:45:02 +00:00
|
|
|
"m:" 'org-set-tags
|
2015-05-08 03:06:38 +00:00
|
|
|
|
2015-09-03 18:07:55 +00:00
|
|
|
"ma" 'org-agenda
|
|
|
|
"mb" 'org-tree-to-indirect-buffer
|
|
|
|
"mA" 'org-archive-subtree
|
|
|
|
"ml" 'org-open-at-point
|
|
|
|
"mT" 'org-show-todo-tree
|
2015-09-03 17:46:05 +00:00
|
|
|
|
2015-05-08 03:06:38 +00:00
|
|
|
;; headings
|
|
|
|
"mhi" 'org-insert-heading-after-current
|
|
|
|
"mhI" 'org-insert-heading
|
|
|
|
|
2015-09-08 01:34:45 +00:00
|
|
|
;; tables
|
|
|
|
"mta" 'org-table-align
|
2015-09-10 02:11:15 +00:00
|
|
|
"mtb" 'org-table-blank-field
|
|
|
|
"mtc" 'org-table-convert
|
|
|
|
"mtdc" 'org-table-delete-column
|
|
|
|
"mtdr" 'org-table-kill-row
|
|
|
|
"mte" 'org-table-eval-formula
|
|
|
|
"mtE" 'org-table-export
|
|
|
|
"mth" 'org-table-previous-field
|
|
|
|
"mtH" 'org-table-move-column-left
|
2015-09-08 01:34:45 +00:00
|
|
|
"mtic" 'org-table-insert-column
|
|
|
|
"mtih" 'org-table-insert-hline
|
|
|
|
"mtiH" 'org-table-hline-and-move
|
2015-09-10 02:11:15 +00:00
|
|
|
"mtir" 'org-table-insert-row
|
|
|
|
"mtI" 'org-table-import
|
|
|
|
"mtj" 'org-table-next-row
|
|
|
|
"mtJ" 'org-table-move-row-down
|
|
|
|
"mtK" 'org-table-move-row-up
|
|
|
|
"mtl" 'org-table-next-field
|
|
|
|
"mtL" 'org-table-move-column-right
|
|
|
|
"mtn" 'org-table-create
|
|
|
|
"mtN" 'org-table-create-with-table.el
|
2015-09-08 01:34:45 +00:00
|
|
|
"mtr" 'org-table-recalculate
|
|
|
|
"mts" 'org-table-sort-lines
|
|
|
|
"mttf" 'org-table-toggle-formula-debugger
|
2015-09-10 02:11:15 +00:00
|
|
|
"mtto" 'org-table-toggle-coordinate-overlays
|
|
|
|
"mtw" 'org-table-wrap-region
|
2015-09-08 01:34:45 +00:00
|
|
|
|
2015-04-13 08:09:50 +00:00
|
|
|
"mI" 'org-clock-in
|
2015-05-10 18:29:52 +00:00
|
|
|
(if dotspacemacs-major-mode-leader-key
|
|
|
|
(concat "m" dotspacemacs-major-mode-leader-key)
|
|
|
|
"m,") 'org-ctrl-c-ctrl-c
|
|
|
|
"mn" 'org-narrow-to-subtree
|
|
|
|
"mN" 'widen
|
|
|
|
"mO" 'org-clock-out
|
|
|
|
"mq" 'org-clock-cancel
|
|
|
|
"mR" 'org-refile
|
|
|
|
"ms" 'org-schedule
|
2015-05-08 03:06:38 +00:00
|
|
|
|
2015-05-10 18:29:52 +00:00
|
|
|
;; insertion of common elements
|
|
|
|
"mil" 'org-insert-link
|
|
|
|
"mif" 'org-footnote-new
|
2015-05-13 17:15:14 +00:00
|
|
|
"mik" 'spacemacs/insert-keybinding-org
|
2015-05-08 03:06:38 +00:00
|
|
|
|
2015-05-10 18:29:52 +00:00
|
|
|
;; images and other link types have no commands in org mode-line
|
|
|
|
;; could be inserted using yasnippet?
|
|
|
|
;; region manipulation
|
|
|
|
"mxb" (spacemacs|org-emphasize spacemacs/org-bold ?*)
|
|
|
|
"mxc" (spacemacs|org-emphasize spacemacs/org-code ?~)
|
|
|
|
"mxi" (spacemacs|org-emphasize spacemacs/org-italic ?/)
|
|
|
|
"mxr" (spacemacs|org-emphasize spacemacs/org-clear ? )
|
|
|
|
"mxs" (spacemacs|org-emphasize spacemacs/org-strike-through ?+)
|
|
|
|
"mxu" (spacemacs|org-emphasize spacemacs/org-underline ?_)
|
|
|
|
"mxv" (spacemacs|org-emphasize spacemacs/org-verbose ?=))
|
2015-04-11 04:13:02 +00:00
|
|
|
|
|
|
|
(eval-after-load "org-agenda"
|
|
|
|
'(progn
|
|
|
|
(define-key org-agenda-mode-map "j" 'org-agenda-next-line)
|
|
|
|
(define-key org-agenda-mode-map "k" 'org-agenda-previous-line)
|
2015-04-15 15:33:41 +00:00
|
|
|
;; Since we override SPC, let's make RET do that functionality
|
|
|
|
(define-key org-agenda-mode-map
|
|
|
|
(kbd "RET") 'org-agenda-show-and-scroll-up)
|
2015-04-11 04:13:02 +00:00
|
|
|
(define-key org-agenda-mode-map
|
|
|
|
(kbd "SPC") evil-leader--default-map))))
|
|
|
|
:config
|
|
|
|
(progn
|
2015-08-31 03:57:05 +00:00
|
|
|
;; setup org directory
|
|
|
|
(unless (file-exists-p org-directory)
|
|
|
|
(make-directory org-directory))
|
2015-05-13 17:15:14 +00:00
|
|
|
(font-lock-add-keywords
|
|
|
|
'org-mode '(("\\(@@html:<kbd>@@\\) \\(.*\\) \\(@@html:</kbd>@@\\)"
|
|
|
|
(1 font-lock-comment-face prepend)
|
|
|
|
(2 font-lock-function-name-face)
|
|
|
|
(3 font-lock-comment-face prepend))))
|
2015-06-10 19:05:31 +00:00
|
|
|
|
2015-04-13 06:01:49 +00:00
|
|
|
(require 'org-indent)
|
2015-04-11 04:13:02 +00:00
|
|
|
(define-key global-map "\C-cl" 'org-store-link)
|
2015-04-13 08:09:50 +00:00
|
|
|
(define-key global-map "\C-ca" 'org-agenda)
|
2015-06-03 03:27:00 +00:00
|
|
|
|
|
|
|
;; We add this key mapping because an Emacs user can change
|
|
|
|
;; `dotspacemacs-major-mode-emacs-leader-key' to `C-c' and the key binding
|
|
|
|
;; C-c ' is shadowed by `spacemacs/default-pop-shell', effectively making
|
|
|
|
;; the Emacs user unable to exit src block editing.
|
|
|
|
(define-key org-src-mode-map (kbd (concat dotspacemacs-major-mode-emacs-leader-key " '")) 'org-edit-src-exit)
|
|
|
|
|
2015-04-13 08:09:50 +00:00
|
|
|
(evil-leader/set-key
|
2015-05-08 03:06:38 +00:00
|
|
|
"Cc" 'org-capture))))
|
2015-04-11 04:13:02 +00:00
|
|
|
|
|
|
|
(defun org/init-org-bullets ()
|
|
|
|
(use-package org-bullets
|
|
|
|
:defer t
|
|
|
|
:init (add-hook 'org-mode-hook 'org-bullets-mode)))
|
|
|
|
|
2015-04-11 14:44:07 +00:00
|
|
|
(defun org/init-org-pomodoro ()
|
2015-04-11 04:13:02 +00:00
|
|
|
(use-package org-pomodoro
|
|
|
|
:defer t
|
|
|
|
:init
|
|
|
|
(progn
|
2015-08-23 01:47:30 +00:00
|
|
|
(when (spacemacs/system-is-mac)
|
2015-04-11 04:13:02 +00:00
|
|
|
(setq org-pomodoro-audio-player "/usr/bin/afplay"))
|
|
|
|
(evil-leader/set-key-for-mode 'org-mode
|
|
|
|
"mp" 'org-pomodoro))))
|
|
|
|
|
2015-05-14 04:17:12 +00:00
|
|
|
(defun org/init-org-present ()
|
|
|
|
(use-package org-present
|
|
|
|
:defer t
|
|
|
|
:init
|
|
|
|
(progn
|
|
|
|
(evilify nil org-present-mode-keymap
|
|
|
|
"h" 'org-present-prev
|
|
|
|
"l" 'org-present-next
|
|
|
|
"q" 'org-present-quit)
|
|
|
|
(defun spacemacs//org-present-start ()
|
|
|
|
"Initiate `org-present' mode"
|
|
|
|
(org-present-big)
|
|
|
|
(org-display-inline-images)
|
|
|
|
(org-present-hide-cursor)
|
|
|
|
(org-present-read-only)
|
|
|
|
(evil-evilified-state))
|
|
|
|
(defun spacemacs//org-present-end ()
|
|
|
|
"Terminate `org-present' mode"
|
|
|
|
(org-present-small)
|
|
|
|
(org-remove-inline-images)
|
|
|
|
(org-present-show-cursor)
|
|
|
|
(org-present-read-write)
|
|
|
|
(evil-normal-state))
|
|
|
|
(add-hook 'org-present-mode-hook 'spacemacs//org-present-start)
|
|
|
|
(add-hook 'org-present-mode-quit-hook 'spacemacs//org-present-end))))
|
|
|
|
|
|
|
|
|
2015-04-11 04:13:02 +00:00
|
|
|
(defun org/init-org-repo-todo ()
|
|
|
|
(use-package org-repo-todo
|
|
|
|
:commands (ort/capture-todo
|
|
|
|
ort/capture-todo-check
|
|
|
|
ort/goto-todos)
|
|
|
|
:init
|
|
|
|
(progn
|
|
|
|
(evil-leader/set-key
|
|
|
|
"Ct" 'ort/capture-todo
|
|
|
|
"CT" 'ort/capture-todo-check)
|
|
|
|
(evil-leader/set-key-for-mode 'org-mode
|
|
|
|
"mgt" 'ort/goto-todos))))
|
2015-04-13 06:01:49 +00:00
|
|
|
|
2015-06-08 21:07:43 +00:00
|
|
|
(defun org/init-toc-org ()
|
|
|
|
(use-package toc-org
|
2015-08-01 19:24:21 +00:00
|
|
|
:defer t
|
2015-06-08 21:07:43 +00:00
|
|
|
:init
|
2015-08-01 05:00:38 +00:00
|
|
|
(progn
|
|
|
|
(setq toc-org-max-depth 10)
|
|
|
|
(add-hook 'org-mode-hook 'toc-org-enable))))
|
2015-06-08 21:07:43 +00:00
|
|
|
|
2015-04-21 05:50:21 +00:00
|
|
|
(defun org/init-htmlize ()
|
|
|
|
(use-package htmlize
|
|
|
|
:defer t))
|