diff options
| author | Petrea Corneliu Stefan <stefan@garage-coding.com> | 2015-05-12 19:33:44 +0300 |
|---|---|---|
| committer | Edward Tjörnhammar <ed@cflags.cc> | 2015-05-14 01:10:59 +0200 |
| commit | ef5f5c95a5a0aeb6d59144e1fb7d21b44c803300 (patch) | |
| tree | 9434d3e3cc1300e0ec265456c1a8372dc42fecc9 | |
| parent | 7dfa247acbc24fd23fe116b416be36de0227f182 (diff) | |
fixed #14
| -rw-r--r-- | evil-org.el | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/evil-org.el b/evil-org.el index 4c63e29..2999b49 100644 --- a/evil-org.el +++ b/evil-org.el @@ -72,22 +72,52 @@ FUN function callback" )))) ;; open org-mode links in visual selection +(defun evil-org-generic-open-links (beg end type register yank-handler incog) + (progn + (save-excursion + (goto-char beg) + (catch 'break + (while t + (org-next-link) + ;;; break from outer loop when there are no more + ;;; org links + (when (or + (not (< (point) end)) + (not (null org-link-search-failed))) + (throw 'break 0)) + + (if (not (null incog)) + (let* ((new-arg + ;;; if incog is true, decide which incognito settings to + ;;; use dependening on the browser + (cond ((not (null (string-match "^.*\\(iceweasel\\|firefox\\).*$" browse-url-generic-program))) "--private-window") + ((not (null (string-match "^.*\\(chrome\\|chromium\\).*$" browse-url-generic-program))) "--incognito" ) + (t "") + )) + (old-b (list browse-url-generic-args " " )) + (browse-url-generic-args (add-to-ordered-list 'old-b new-arg 0))) + (progn + (org-open-at-point))) + (let ((browse-url-generic-args '(""))) + (org-open-at-point))) + ))))) + + +;;; open links in visual selection (evil-define-operator evil-org-open-links (beg end type register yank-handler) :keep-visual t :move-point nil (interactive "<r>") - (progn - (message "start of evil-org-open-links 2" ) - (save-excursion - (goto-char beg) - (beginning-of-line) - (catch 'break - (while (< (point) end) - (message "at position %S" (point)) - (org-next-link) - (when (not(< (point) end)) (throw 'break 0)) - (org-open-at-point) - ))))) + (evil-org-generic-open-links beg end type register yank-handler nil) +) + +;;; open links in visual selection in incognito mode +(evil-define-operator evil-org-open-links-incognito (beg end type register yank-handler) + :keep-visual t + :move-point nil + (interactive "<r>") + (evil-org-generic-open-links beg end type register yank-handler t) +) ;; normal state shortcuts (evil-define-key 'normal evil-org-mode-map |
