From b03f2cbf48735e473dffd31c0f8b07ad0f1fbc77 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 15 May 2017 20:44:08 +0200 Subject: [PATCH] General refactor & cleanup + update TODO --- TODO.org | 13 ++-- modules/feature/jump/autoload.el | 4 +- modules/feature/jump/config.el | 11 +-- modules/feature/version-control/+git.el | 2 +- modules/private/hlissner/autoload/hlissner.el | 69 ++++++++----------- 5 files changed, 45 insertions(+), 54 deletions(-) diff --git a/TODO.org b/TODO.org index 29c4bc05b..0e8086208 100644 --- a/TODO.org +++ b/TODO.org @@ -89,7 +89,7 @@ + [ ] twitter + [ ] present -** 2.0.3 [9/25] +** 2.0.3 [16/28] + [ ] tools/upload: add ~+upload/open-remote-file~ command to open current file on the remote (with TRAMP) + [ ] lang/org: fix janky visual line motions (~evil-next-visual-line~, etc) @@ -100,14 +100,17 @@ + [ ] core-ui: replace (or fix) ~winner-mode~ (too unreliable) + [ ] Generalize ~doom-visual-bell~ by basing its background off a face + [ ] ui/doom-modeline: extend ~media-info~ segment for other media -+ [ ] feature/evil: extend ~evil-escape~ to ~evil-multiedit-insert-state~ + [ ] Write ~describe-setting~ for ~def-setting!~ definitions. + [ ] Fix invisible buffer-info segment in modeline for terminal Emacs -+ [-] feature/evil: fix evil-multiedit M-d bindings -+ [-] Load ~custom-file~ + [-] ui/doom: fix nav-flash on evil-multiedit or in eshell/term buffers + [-] New module :: tools/regex: PCRE regex editor -+ [-] Fix crash in ~doom-update-package~ caused by unreachable dependencies ++ [X] feature/evil: extend ~evil-escape~ +to ~evil-multiedit-insert-state~+ ++ [X] feature/evil: new code folding system ++ [X] Load ~custom-file~ ++ [X] feature/evil: fix evil-multiedit M-d bindings ++ [X] map!: fix ~:after~ and ~:map*~ properties ++ [X] Fix crash in ~doom-update-package~ caused by unreachable dependencies ++ [X] ui/doom: improve nav-flash integration + [X] core-popups: properly persist ~popup~ window parameter between sessions + [X] core-popups: remove ~:noclone~: simply don't try to clone unreal buffers + [X] completion/ivy: flexible column width for ~+ivy/tasks~ diff --git a/modules/feature/jump/autoload.el b/modules/feature/jump/autoload.el index 2a0411206..03e3421eb 100644 --- a/modules/feature/jump/autoload.el +++ b/modules/feature/jump/autoload.el @@ -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))))) diff --git a/modules/feature/jump/config.el b/modules/feature/jump/config.el index fadf72759..7ab72786d 100644 --- a/modules/feature/jump/config.el +++ b/modules/feature/jump/config.el @@ -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) diff --git a/modules/feature/version-control/+git.el b/modules/feature/version-control/+git.el index 69f162132..acabd17f0 100644 --- a/modules/feature/version-control/+git.el +++ b/modules/feature/version-control/+git.el @@ -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 () diff --git a/modules/private/hlissner/autoload/hlissner.el b/modules/private/hlissner/autoload/hlissner.el index 5e1c8f15f..3b0063c1b 100644 --- a/modules/private/hlissner/autoload/hlissner.el +++ b/modules/private/hlissner/autoload/hlissner.el @@ -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)