General refactor & cleanup + update TODO

This commit is contained in:
Henrik Lissner 2017-05-15 20:44:08 +02:00
parent c98efbe28e
commit b03f2cbf48
5 changed files with 45 additions and 54 deletions

View file

@ -41,9 +41,9 @@
"TODO"
(interactive
(list (completing-read "Search on: "
(mapcar #'car +lookup-search-url-alist)
(mapcar #'car +jump-search-url-alist)
nil t)))
(let ((url (cdr (assoc where +lookup-search-url-alist)))
(let ((url (cdr (assoc where +jump-search-url-alist)))
(search (or search (read-string "Query: "))))
(browse-url (format url (url-encode-url search)))))

View file

@ -13,15 +13,16 @@
;; functionality. Warning: xref may change drastically in future updates.
;; 3. Simple ways to look up the symbol at point in external resources, like
;; stackoverflow, devdocs.io or google. See `+jump/online' (TODO Test me!)
;; 4. TODO Automatic and transparent integration with cscope databases and ctags
;; files. Databases are optionally isolated to the Emacs environment.
;; 4. TODO Automatic & transparent integration with cscope dbs + ctags.
;; Databases are optionally isolated to the Emacs environment.
(defvar +lookup-search-url-alist
'(("Google" . "https://google.com/?q=%s")
(defvar +jump-search-url-alist
'(("Google" . "https://google.com/search?q=%s")
("DuckDuckGo" . "https://duckduckgo.com/?q=%s")
("DevDocs.io" . "http://devdocs.io/#q=%s")
("StackOverflow" . "https://stackoverflow.com/search?q=%s"))
"An alist that maps online resources to their search url.")
"An alist that maps online resources to their search url. Used by
`+jump/online'.")
(set! :popup "*xref*" :size 10 :noselect t :autokill t :autoclose t)

View file

@ -36,7 +36,7 @@
;; Sometimes I forget `git-timemachine' is enabled in a buffer, so instead of
;; showing revision details in the minibuffer, show them in
;; `header-line-format', which is always visible.
;; `header-line-format', which has better visibility.
(setq git-timemachine-show-minibuffer-details nil)
(defun +vcs|toggle-header-line ()

View file

@ -8,49 +8,36 @@ private/hlissner/snippets."
(doom-fetch :github "hlissner/emacs-snippets"
(expand-file-name "snippets" (doom-module-path :private 'hlissner))))
;;;###autoload
(defun +hlissner/find-in-templates ()
"Browse through snippets folder"
(interactive)
(projectile-find-file-in-directory +file-templates-dir))
(defmacro +hlissner-def-finder! (name dir)
"Define a pair of find-file and browse functions."
`(progn
(defun ,(intern (format "+hlissner/find-in-%s" name)) ()
,(format "Find a file in %s" (abbreviate-file-name (eval dir)))
(interactive)
(let ((default-directory ,dir))
(call-interactively (command-remapping #'projectile-find-file))))
(defun ,(intern (format "+hlissner/browse-%s" name)) ()
,(format "Browse files starting from %s" (abbreviate-file-name (eval dir)))
(interactive)
(let ((default-directory ,dir))
(call-interactively (command-remapping #'find-file))))))
;;;###autoload
(defun +hlissner/find-in-snippets ()
"Browse through snippets folder"
(interactive)
(projectile-find-file-in-directory +hlissner-snippets-dir))
;;;###autoload (autoload '+hlissner/find-in-templates "private/hlissner/autoload/hlissner" nil t)
;;;###autoload (autoload '+hlissner/browse-templates "private/hlissner/autoload/hlissner" nil t)
(+hlissner-def-finder! templates +file-templates-dir)
;;;###autoload
(defun +hlissner/find-in-dotfiles ()
(interactive)
(projectile-find-file-in-directory (expand-file-name ".dotfiles" "~")))
;;;###autoload (autoload '+hlissner/find-in-snippets "private/hlissner/autoload/hlissner" nil t)
;;;###autoload (autoload '+hlissner/browse-snippets "private/hlissner/autoload/hlissner" nil t)
(+hlissner-def-finder! snippets +hlissner-snippets-dir)
;;;###autoload
(defun +hlissner/find-in-emacsd ()
(interactive)
(projectile-find-file-in-directory doom-emacs-dir))
;;;###autoload
(defun +hlissner/browse-emacsd ()
(interactive)
(let ((default-directory doom-emacs-dir))
(call-interactively (command-remapping 'find-file))))
;;;###autoload
(defun +hlissner/browse-dotfiles ()
(interactive)
(let ((default-directory (expand-file-name ".dotfiles" "~")))
(call-interactively (command-remapping 'find-file))))
;;;###autoload
(defun +hlissner/find-in-notes ()
(interactive)
(projectile-find-file-in-directory +org-dir))
;;;###autoload
(defun +hlissner/browse-notes ()
(interactive)
(let ((default-directory +org-dir))
(call-interactively (command-remapping 'find-file))))
;;;###autoload (autoload '+hlissner/find-in-dotfiles "private/hlissner/autoload/hlissner" nil t)
;;;###autoload (autoload '+hlissner/browse-dotfiles "private/hlissner/autoload/hlissner" nil t)
(+hlissner-def-finder! dotfiles (expand-file-name ".dotfiles" "~"))
;;;###autoload (autoload '+hlissner/find-in-emacsd "private/hlissner/autoload/hlissner" nil t)
;;;###autoload (autoload '+hlissner/browse-emacsd "private/hlissner/autoload/hlissner" nil t)
(+hlissner-def-finder! emacsd doom-emacs-dir)
;;;###autoload (autoload '+hlissner/find-in-notes "private/hlissner/autoload/hlissner" nil t)
;;;###autoload (autoload '+hlissner/browse-notes "private/hlissner/autoload/hlissner" nil t)
(+hlissner-def-finder! notes +org-dir)