Guest User

Untitled

a guest
Jan 18th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. ;; available keywords, including combined view
  2. (defun set-todo-keywords ()
  3. (setq org-todo-keywords-1 '("TODO" "DONE" "TODO|DONE")))
  4.  
  5. ;; shows todo list, passing arg to org-todo-list
  6. (defun org-todo-list-current-file (&optional arg)
  7. "Like `org-todo-list', but using only the current buffer's file."
  8. (interactive "P")
  9. (let ((org-agenda-files (list (buffer-file-name (current-buffer)))))
  10. (if (null (car org-agenda-files))
  11. (error "%s is not visiting a file" (buffer-name (current-buffer)))
  12. (org-todo-list arg))))
  13.  
  14. (defun reset ()
  15. (delete-other-windows)
  16. (widen)
  17. (org-global-cycle 1)
  18. (beginning-of-buffer)
  19. (search-forward "* Knowt Help")
  20. (org-cycle)
  21. (beginning-of-buffer))
  22.  
  23. (defun narrow (term)
  24. (beginning-of-buffer)
  25. (search-forward term)
  26. (org-narrow-to-subtree)
  27. (org-cycle))
  28.  
  29.  
  30. (define-minor-mode knowt-mode
  31. "Provide functions useful for knowt.org"
  32. :lighter " Knowt"
  33. :keymap (let ((map (make-sparse-keymap)))
  34. (define-key map (kbd "M-z M-z") (lambda () (interactive) (reset)))
  35. (define-key map (kbd "M-z w") (lambda () (interactive) (narrow "* Workiva")))
  36. (define-key map (kbd "M-z t") (lambda () (interactive) (narrow "* Tasks")))
  37. ;; the binding with arg
  38. (define-key map (kbd "M-z a") (lambda () (interactive) (org-todo-list-current-file '(2))))
  39. (define-key map (kbd "M-z o") 'helm-occur)
  40. (define-key helm-map (kbd "C-'") 'ace-jump-helm-line)
  41. (define-key map (kbd "M-z h") 'helm-org-in-buffer-headings)
  42. map)
  43. :after-hook (progn
  44. (setq org-confirm-elisp-link-function nil)
  45. (setq org-confirm-shell-link-function nil)
  46. (set-todo-keywords)
  47. (message "knowt-mode ready!")))
  48.  
  49. (provide 'knowt-mode)
Add Comment
Please, Sign In to add comment