Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (require 'org-build)
- (defun knowt-elisp-directory ()
- (concat (getenv "KNOWT_SOURCE_DIRECTORY") "elisp/"))
- (message (format "knowt-elisp-directory: %s" (knowt-elisp-directory)))
- (defun user-init-file () (concat (knowt-elisp-directory) "elisp" "init.el"))
- (message (format "user-init-file: %s" (user-init-file)))
- (defun knowt-user-directory ()
- (file-name-as-directory (or (getenv "KNOWT_USER_DIRECTORY") (expand-file-name "~/.knowt/"))))
- (message (format "knowt-user-directory: %s" (knowt-user-directory)))
- (defun knowt-emacs-directory ()
- (file-name-as-directory (concat (knowt-user-directory) ".emacs.d/")))
- (message (format "knowt-emacs-directory: %s" (knowt-emacs-directory)))
- (defun knowt-emacs-file (filename)
- (concat (knowt-emacs-directory) (file-name-nondirectory filename)))
- (message (format "knowt-emacs-file: %s" (knowt-emacs-file "FOO")))
- (defun knowt-user-file (filename)
- (concat (knowt-user-directory) (file-name-nondirectory filename)))
- (message (format "knowt-user-file: %s" (knowt-user-file "FOO")))
- (defun knowt-mode-el-file ()
- (concat (knowt-emacs-directory) "knowt-mode.el"))
- (message (format "knowt-mode-el-file: %s" (knowt-mode-el-file)))
- (defun knowt-user-org-file ()
- (concat (knowt-emacs-directory) "init.org"))
- (message (format "knowt-user-org-file: %s" (knowt-user-org-file)))
- (defun knowt-user-el-file ()
- (concat (knowt-emacs-directory) "init.el"))
- (message (format "knowt-user-el-file: %s" (knowt-user-el-file)))
- (defun knowt-build-el-file ()
- (concat (knowt-elisp-directory) "org-build.el"))
- (message (format "knowt-build-el-file: %s" (knowt-build-el-file)))
- (defun knowt-org-file ()
- (concat (knowt-user-directory) "knowt.org"))
- (message (format "knowt-org-file: %s" (knowt-org-file)))
- (defun knowt-build-custom-org ()
- (org-build (knowt-user-org-file) (knowt-user-el-file)))
- (defun knowt-build-custom ()
- (if (file-exists-p (knowt-user-org-file))
- (progn
- (knowt-build-custom-org)
- (if (file-exists-p (knowt-user-el-file))
- (load-file (knowt-user-el-file))))))
- (defun knowt-reload ()
- (unload-feature 'knowt-mode)
- (message (format "WTFFF %s" (knowt-mode-el-file)))
- (load-file (knowt-mode-el-file))
- (knowt-mode 1))
- (defun knowt-reset ()
- (delete-other-windows)
- (switch-to-buffer "knowt.org")
- (widen)
- (org-mode-restart)
- (org-global-cycle 1)
- (beginning-of-buffer)
- (search-forward "* Knowt Help")
- (org-cycle)
- (beginning-of-buffer)
- (knowt-reload))
- (defun knowt-check-bookmark ()
- (if (org-entry-get nil "url")
- (browse-url (org-entry-get nil "url"))))
- (defun narrow-to-subtree ()
- (org-narrow-to-subtree)
- (beginning-of-buffer)
- (outline-hide-subtree)
- (outline-show-children)
- (org-show-entry)
- (knowt-check-bookmark))
- (defun knowt-narrow-regexp (term)
- (beginning-of-buffer)
- (search-forward-regexp (format "^[\\*].*%s" term))
- (knowt-narrow-to-subtree))
- (defun knowt-narrow-occur ()
- (helm-occur)
- (knowt-narrow-to-subtree))
- (defun knowt-narrow-heading ()
- (helm-org-in-buffer-headings)
- (outline-hide-subtree)
- (knowt-narrow-to-subtree))
- (define-minor-mode knowt-mode
- "Provide functions useful for knowt.org"
- :lighter " Knowt"
- :keymap (let ((map (make-sparse-keymap)))
- (global-set-key (kbd "<f19> <f19>") (lambda () (interactive) (knowt-reset)))
- (global-set-key (kbd "<f19> m")
- (lambda () (interactive)
- (find-file-other-window (knowt-mode-org-file))))
- (define-key map (kbd "M-n") 'outline-next-visible-heading)
- (define-key map (kbd "M-p") 'outline-previous-visible-heading)
- (define-key map (kbd "M-N") 'outline-next-heading)
- (define-key map (kbd "M-P") 'outline-previous-heading)
- (define-key map (kbd "<f19> s") (lambda () (interactive) (knowt-narrow-occur)))
- (define-key map (kbd "<f19> h") (lambda () (interactive) (knowt-narrow-heading)))
- (define-key map (kbd "<f19> n") (lambda () (interactive) (knowt-narrow-to-subtree)))
- (define-key map (kbd "<f19> t") 'org-show-todo-tree)
- (define-key map (kbd "<f19> a") 'org-agenda)
- map)
- :after-hook (progn
- (setq ace-jump-helm-line-default-action 'select)
- (setq org-confirm-elisp-link-function nil)
- (setq org-confirm-shell-link-function nil)
- (setq org-agenda-files (list (knowt-org-file)))
- (setq org-agenda-sorting-strategy '(todo-state-up priority-down effort-up))
- (message "knowt-mode ready!")))
- (provide 'knowt-mode)
Add Comment
Please, Sign In to add comment