2018-07-31 16:33:16 +02:00
|
|
|
;;; emacs/vc/autoload/vc.el -*- lexical-binding: t; -*-
|
2017-02-03 20:29:09 -05:00
|
|
|
|
2019-12-15 14:58:01 -05:00
|
|
|
(autoload 'browse-at-remote--file-url "browse-at-remote")
|
|
|
|
|
2017-02-03 20:29:09 -05:00
|
|
|
;;;###autoload
|
2019-12-15 01:55:02 -05:00
|
|
|
(defun +vc/browse-at-remote-file-or-region ()
|
|
|
|
"Open the current file at remote in your browser.
|
|
|
|
If a selection is active, highlight them. Otherwise omits the #L<N> suffix in
|
|
|
|
the URL."
|
|
|
|
(interactive)
|
|
|
|
(if (or (use-region-p)
|
|
|
|
(ignore-errors (evil-visual-state-p)))
|
|
|
|
(browse-at-remote)
|
|
|
|
(browse-url (browse-at-remote--file-url (buffer-file-name)))))
|
2017-02-03 20:29:09 -05:00
|
|
|
|
|
|
|
;;;###autoload
|
2019-12-15 01:55:02 -05:00
|
|
|
(defun +vc/browse-at-remote-kill-file-or-region ()
|
|
|
|
"Copy the current file's remote URL to your clipboard.
|
|
|
|
If a selection is active, highlight them. Otherwise omits the #L<N> suffix in
|
|
|
|
the URL."
|
|
|
|
(interactive)
|
|
|
|
(if (or (use-region-p)
|
|
|
|
(ignore-errors (evil-visual-state-p)))
|
|
|
|
(browse-at-remote-kill)
|
|
|
|
(kill-new (browse-at-remote--file-url (buffer-file-name)))))
|
|
|
|
|
|
|
|
|
|
|
|
(defun +vc--remote-homepage ()
|
|
|
|
(or (let ((url (browse-at-remote--remote-ref)))
|
|
|
|
(cdr (browse-at-remote--get-url-from-remote (car url))))
|
|
|
|
(user-error "Can't find homepage for current project")))
|
2017-02-03 20:29:09 -05:00
|
|
|
|
2017-06-10 11:52:07 +02:00
|
|
|
;;;###autoload
|
2019-12-15 01:55:02 -05:00
|
|
|
(defun +vc/browse-at-remote-homepage ()
|
|
|
|
"Open homepage for current project in browser."
|
|
|
|
(interactive)
|
|
|
|
(browse-url (+vc--remote-homepage)))
|
2018-02-07 02:27:06 -05:00
|
|
|
|
2019-12-15 01:55:02 -05:00
|
|
|
;;;###autoload
|
|
|
|
(defun +vc/browse-at-remote-kill-homepage ()
|
|
|
|
"Copy homepage URL of current project to clipboard."
|
|
|
|
(interactive)
|
|
|
|
(kill-new (+vc--remote-homepage)))
|