forked from colonelpanic/dotfiles
move helm to literate section
This commit is contained in:
parent
18a7154a64
commit
6cd8dbca9d
@ -33,6 +33,118 @@ custom-before.el is loaded before the rest of init.el, while custom-after.el is
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Packages
|
* Packages
|
||||||
|
** Essential
|
||||||
|
Helm for almost all emacs completion
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package helm-config
|
||||||
|
:ensure helm
|
||||||
|
:demand t
|
||||||
|
:bind (("M-y" . helm-show-kill-ring)
|
||||||
|
("M-x" . helm-M-x)
|
||||||
|
("C-x C-i" . helm-imenu)
|
||||||
|
("C-h a" . helm-apropos)
|
||||||
|
("C-c C-h" . helm-org-agenda-files-headings)
|
||||||
|
("C-c ;" . helm-recentf))
|
||||||
|
:init
|
||||||
|
(progn
|
||||||
|
(helm-mode 1)
|
||||||
|
(use-package helm-ag
|
||||||
|
:bind ("C-c p S" . imalison:set-helm-ag-extra-options)
|
||||||
|
:config
|
||||||
|
(progn
|
||||||
|
(setq helm-ag-always-set-extra-option nil)
|
||||||
|
(defun imalison:set-helm-ag-extra-options ()
|
||||||
|
(interactive)
|
||||||
|
(let ((option (read-string "Extra options: " (or helm-ag--extra-options "")
|
||||||
|
'helm-ag--extra-options-history)))
|
||||||
|
(setq helm-ag--extra-options option))))))
|
||||||
|
:config
|
||||||
|
(progn
|
||||||
|
(setq helm-split-window-default-side 'same)
|
||||||
|
|
||||||
|
(defun helm-source-org-capture-templates ()
|
||||||
|
(helm-build-sync-source "Org Capture Templates:"
|
||||||
|
:candidates (cl-loop for template in org-capture-templates
|
||||||
|
collect `(,(nth 1 template) . ,(nth 0 template)))
|
||||||
|
:action '(("Do capture" . (lambda (template-shortcut)
|
||||||
|
(org-capture nil template-shortcut))))))
|
||||||
|
|
||||||
|
(defun helm-org-capture-templates ()
|
||||||
|
(interactive)
|
||||||
|
(helm :sources (helm-source-org-capture-templates)
|
||||||
|
:candidate-number-limit 99999
|
||||||
|
:buffer "*helm org capture templates*"))
|
||||||
|
|
||||||
|
(cl-defun helm-org-headings-in-buffer ()
|
||||||
|
(interactive)
|
||||||
|
(helm :sources (helm-source-org-headings-for-files
|
||||||
|
(list (projectile-completing-read
|
||||||
|
"File to look at headings from: "
|
||||||
|
(projectile-all-project-files))))
|
||||||
|
:candidate-number-limit 99999
|
||||||
|
:buffer "*helm org inbuffer*"))
|
||||||
|
;; helm zsh source history
|
||||||
|
(defvar helm-c-source-zsh-history
|
||||||
|
'((name . "Zsh History")
|
||||||
|
(candidates . helm-c-zsh-history-set-candidates)
|
||||||
|
(action . (("Execute Command" . helm-c-zsh-history-action)))
|
||||||
|
(volatile)
|
||||||
|
(requires-pattern . 3)
|
||||||
|
(delayed)))
|
||||||
|
|
||||||
|
(defun helm-c-zsh-history-set-candidates (&optional request-prefix)
|
||||||
|
(let ((pattern (replace-regexp-in-string
|
||||||
|
" " ".*"
|
||||||
|
(or (and request-prefix
|
||||||
|
(concat request-prefix
|
||||||
|
" " helm-pattern))
|
||||||
|
helm-pattern))))
|
||||||
|
(with-current-buffer (find-file-noselect "~/.zsh_history" t t)
|
||||||
|
(auto-revert-mode -1)
|
||||||
|
(goto-char (point-max))
|
||||||
|
(loop for pos = (re-search-backward pattern nil t)
|
||||||
|
while pos
|
||||||
|
collect (replace-regexp-in-string
|
||||||
|
"\\`:.+?;" ""
|
||||||
|
(buffer-substring (line-beginning-position)
|
||||||
|
(line-end-position)))))))
|
||||||
|
|
||||||
|
(defun helm-c-zsh-history-action (candidate)
|
||||||
|
(async-shell-command candidate))
|
||||||
|
|
||||||
|
(defun helm-command-from-zsh ()
|
||||||
|
(interactive)
|
||||||
|
(require 'helm)
|
||||||
|
(helm-other-buffer 'helm-c-source-zsh-history "*helm zsh history*"))
|
||||||
|
|
||||||
|
(use-package helm-descbinds
|
||||||
|
:demand t
|
||||||
|
:config (helm-descbinds-mode 1))
|
||||||
|
|
||||||
|
(use-package org-projectile
|
||||||
|
:demand t
|
||||||
|
:bind (("C-c n p" . imalison:helm-org-todo))
|
||||||
|
:config
|
||||||
|
(progn
|
||||||
|
(org-projectile:prompt)
|
||||||
|
(add-to-list 'org-capture-templates
|
||||||
|
(org-projectile:project-todo-entry
|
||||||
|
"l" "* TODO %? %a\n" "Linked Project TODO"))
|
||||||
|
(add-to-list 'org-capture-templates (org-projectile:project-todo-entry "p"))
|
||||||
|
(setq org-confirm-elisp-link-function nil)
|
||||||
|
(imalison:add-to-org-agenda-files (org-projectile:todo-files))
|
||||||
|
(defun imalison:helm-org-todo (&optional arg)
|
||||||
|
(interactive "P")
|
||||||
|
(helm :sources (list (helm-source-org-capture-templates)
|
||||||
|
(org-projectile:helm-source
|
||||||
|
(if arg (org-capture-make-linked-todo-template)
|
||||||
|
(org-capture-make-todo-template))))
|
||||||
|
:candidate-number-limit 99999
|
||||||
|
:buffer "*helm org capture templates*"))))
|
||||||
|
(helm-mode 1)
|
||||||
|
(diminish 'helm-mode)))
|
||||||
|
#+END_SRC
|
||||||
|
** Major-Mode
|
||||||
* Keybindings
|
* Keybindings
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(bind-key "M-q" 'fill-or-unfill-paragraph)
|
(bind-key "M-q" 'fill-or-unfill-paragraph)
|
||||||
@ -1676,114 +1788,6 @@ marking if it still had that."
|
|||||||
|
|
||||||
(use-package helm-themes)
|
(use-package helm-themes)
|
||||||
|
|
||||||
(use-package helm-config
|
|
||||||
:ensure helm
|
|
||||||
:demand t
|
|
||||||
:bind (("M-y" . helm-show-kill-ring)
|
|
||||||
("M-x" . helm-M-x)
|
|
||||||
("C-x C-i" . helm-imenu)
|
|
||||||
("C-h a" . helm-apropos)
|
|
||||||
("C-c C-h" . helm-org-agenda-files-headings)
|
|
||||||
("C-c ;" . helm-recentf))
|
|
||||||
:init
|
|
||||||
(progn
|
|
||||||
(helm-mode 1)
|
|
||||||
(use-package helm-ag
|
|
||||||
:bind ("C-c p S" . imalison:set-helm-ag-extra-options)
|
|
||||||
:config
|
|
||||||
(progn
|
|
||||||
(setq helm-ag-always-set-extra-option nil)
|
|
||||||
(defun imalison:set-helm-ag-extra-options ()
|
|
||||||
(interactive)
|
|
||||||
(let ((option (read-string "Extra options: " (or helm-ag--extra-options "")
|
|
||||||
'helm-ag--extra-options-history)))
|
|
||||||
(setq helm-ag--extra-options option))))))
|
|
||||||
:config
|
|
||||||
(progn
|
|
||||||
(setq helm-split-window-default-side 'same)
|
|
||||||
|
|
||||||
(defun helm-source-org-capture-templates ()
|
|
||||||
(helm-build-sync-source "Org Capture Templates:"
|
|
||||||
:candidates (cl-loop for template in org-capture-templates
|
|
||||||
collect `(,(nth 1 template) . ,(nth 0 template)))
|
|
||||||
:action '(("Do capture" . (lambda (template-shortcut)
|
|
||||||
(org-capture nil template-shortcut))))))
|
|
||||||
|
|
||||||
(defun helm-org-capture-templates ()
|
|
||||||
(interactive)
|
|
||||||
(helm :sources (helm-source-org-capture-templates)
|
|
||||||
:candidate-number-limit 99999
|
|
||||||
:buffer "*helm org capture templates*"))
|
|
||||||
|
|
||||||
(cl-defun helm-org-headings-in-buffer ()
|
|
||||||
(interactive)
|
|
||||||
(helm :sources (helm-source-org-headings-for-files
|
|
||||||
(list (projectile-completing-read
|
|
||||||
"File to look at headings from: "
|
|
||||||
(projectile-all-project-files))))
|
|
||||||
:candidate-number-limit 99999
|
|
||||||
:buffer "*helm org inbuffer*"))
|
|
||||||
;; helm zsh source history
|
|
||||||
(defvar helm-c-source-zsh-history
|
|
||||||
'((name . "Zsh History")
|
|
||||||
(candidates . helm-c-zsh-history-set-candidates)
|
|
||||||
(action . (("Execute Command" . helm-c-zsh-history-action)))
|
|
||||||
(volatile)
|
|
||||||
(requires-pattern . 3)
|
|
||||||
(delayed)))
|
|
||||||
|
|
||||||
(defun helm-c-zsh-history-set-candidates (&optional request-prefix)
|
|
||||||
(let ((pattern (replace-regexp-in-string
|
|
||||||
" " ".*"
|
|
||||||
(or (and request-prefix
|
|
||||||
(concat request-prefix
|
|
||||||
" " helm-pattern))
|
|
||||||
helm-pattern))))
|
|
||||||
(with-current-buffer (find-file-noselect "~/.zsh_history" t t)
|
|
||||||
(auto-revert-mode -1)
|
|
||||||
(goto-char (point-max))
|
|
||||||
(loop for pos = (re-search-backward pattern nil t)
|
|
||||||
while pos
|
|
||||||
collect (replace-regexp-in-string
|
|
||||||
"\\`:.+?;" ""
|
|
||||||
(buffer-substring (line-beginning-position)
|
|
||||||
(line-end-position)))))))
|
|
||||||
|
|
||||||
(defun helm-c-zsh-history-action (candidate)
|
|
||||||
(async-shell-command candidate))
|
|
||||||
|
|
||||||
(defun helm-command-from-zsh ()
|
|
||||||
(interactive)
|
|
||||||
(require 'helm)
|
|
||||||
(helm-other-buffer 'helm-c-source-zsh-history "*helm zsh history*"))
|
|
||||||
|
|
||||||
(use-package helm-descbinds
|
|
||||||
:demand t
|
|
||||||
:config (helm-descbinds-mode 1))
|
|
||||||
|
|
||||||
(use-package org-projectile
|
|
||||||
:demand t
|
|
||||||
:bind (("C-c n p" . imalison:helm-org-todo))
|
|
||||||
:config
|
|
||||||
(progn
|
|
||||||
(org-projectile:prompt)
|
|
||||||
(add-to-list 'org-capture-templates
|
|
||||||
(org-projectile:project-todo-entry
|
|
||||||
"l" "* TODO %? %a\n" "Linked Project TODO"))
|
|
||||||
(add-to-list 'org-capture-templates (org-projectile:project-todo-entry "p"))
|
|
||||||
(setq org-confirm-elisp-link-function nil)
|
|
||||||
(imalison:add-to-org-agenda-files (org-projectile:todo-files))
|
|
||||||
(defun imalison:helm-org-todo (&optional arg)
|
|
||||||
(interactive "P")
|
|
||||||
(helm :sources (list (helm-source-org-capture-templates)
|
|
||||||
(org-projectile:helm-source
|
|
||||||
(if arg (org-capture-make-linked-todo-template)
|
|
||||||
(org-capture-make-todo-template))))
|
|
||||||
:candidate-number-limit 99999
|
|
||||||
:buffer "*helm org capture templates*"))))
|
|
||||||
(helm-mode 1)
|
|
||||||
(diminish 'helm-mode)))
|
|
||||||
|
|
||||||
(use-package helm-swoop
|
(use-package helm-swoop
|
||||||
:bind ("C-S-s" . helm-swoop)
|
:bind ("C-S-s" . helm-swoop)
|
||||||
:commands helm-swoop)
|
:commands helm-swoop)
|
||||||
|
Loading…
Reference in New Issue
Block a user