Improve dash.app integration

This commit is contained in:
Henrik Lissner 2016-02-18 09:30:14 -05:00
parent 8f274e06a7
commit bd52011f80
2 changed files with 35 additions and 5 deletions

View file

@ -44,12 +44,17 @@
;; OSX Related Plugins ;;;;;;;;;;;;;;;;; ;; OSX Related Plugins ;;;;;;;;;;;;;;;;;
(use-package dash-at-point (use-package dash-at-point
:commands (dash-at-point dash-at-point-with-docset) :commands (dash-at-point dash-at-point-with-docset narf/dash-at-pt narf:dash)
:config :config
(mapc (lambda (r) (add-to-list 'dash-at-point-mode-alist r)) (defmacro define-dash-docset! (mode docset)
`((java-mode . "java,droid,javafx,grails,groovy,playjava,spring,cvj,processing,javadoc") `(add-hook! ,mode (setq dash-at-point-docset ,docset)))
(scss-mode . ,(cdr (assoc 'sass-mode dash-at-point-mode-alist)))
))) (define-dash-docset! scss-mode "sass")
(define-dash-docset! java-mode "java,droid,javafx,grails,groovy,playjava,spring,cvj,processing,javadoc")
(define-dash-docset! js2-mode "js,javascript,nodejs,angularjs")
(define-dash-docset! python-mode "py,py3,python")
(define-dash-docset! php-mode "php,laravel")
(define-dash-docset! ruby-mode "rb,ruby,rubygem"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View file

@ -0,0 +1,25 @@
;;; defuns-dash.el --- Dash.app integration
;;;###autoload
(defun narf/dash-at-pt ()
(interactive)
(if (evil-visual-state-p)
(dash-at-point-run-search (buffer-substring-no-properties (region-beginning) (region-end))
(dash-at-point-guess-docset))
(dash-at-point)))
;;;###autoload (autoload 'narf:dash "defuns-dash" nil t)
(evil-define-command narf:dash (bang input)
(interactive "<!><a>")
(let ((docset (unless bang (dash-at-point-guess-docset)))
(query input))
(when (evil-visual-state-p)
(setq query (concat (buffer-substring-no-properties (region-beginning) (region-end))
" " query)))
(when (or (not query) (string-empty-p query))
(setq query (thing-at-point 'symbol)))
(dash-at-point-run-search query docset)))
(provide 'defuns-dash)
;;; defuns-dash.el ends here