diff --git a/modules/config/default/+emacs-bindings.el b/modules/config/default/+emacs-bindings.el index 9f451dda2..1bd78b052 100644 --- a/modules/config/default/+emacs-bindings.el +++ b/modules/config/default/+emacs-bindings.el @@ -238,7 +238,7 @@ ;;; v --- versioning (:prefix-map ("v" . "versioning") :desc "Git revert file" "R" #'vc-revert - :desc "Kill link to remote" "y" #'+vc/browse-at-remote-kill-file-or-region + :desc "Kill link to remote" "y" #'browse-at-remote-kill :desc "Kill link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage (:when (featurep! :ui vc-gutter) :desc "Git revert hunk" "r" #'git-gutter:revert-hunk diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index f49f27e39..9b5a06525 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -398,7 +398,7 @@ ;;; g --- git/version control (:prefix-map ("g" . "git") :desc "Revert file" "R" #'vc-revert - :desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill-file-or-region + :desc "Copy link to remote" "y" #'browse-at-remote-kill :desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage (:when (featurep! :ui hydra) :desc "SMerge" "m" #'+vc/smerge-hydra/body) diff --git a/modules/emacs/vc/autoload/vc.el b/modules/emacs/vc/autoload/vc.el index e49fed36a..44422c1a1 100644 --- a/modules/emacs/vc/autoload/vc.el +++ b/modules/emacs/vc/autoload/vc.el @@ -1,19 +1,5 @@ ;;; emacs/vc/autoload/vc.el -*- lexical-binding: t; -*- -(autoload 'browse-at-remote-get-url "browse-at-remote") -(autoload 'browse-at-remote--file-url "browse-at-remote") - -;;;###autoload -(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 suffix in -the URL." - (interactive) - (let ((url (browse-at-remote-get-url))) - (kill-new url) - (message "Copied to clipboard: %S" url))) - - (defun +vc--remote-homepage () (or (let ((url (browse-at-remote--remote-ref))) (cdr (browse-at-remote--get-url-from-remote (car url)))) diff --git a/modules/emacs/vc/config.el b/modules/emacs/vc/config.el index 8b5bfa1df..3bbfb1a82 100644 --- a/modules/emacs/vc/config.el +++ b/modules/emacs/vc/config.el @@ -88,10 +88,13 @@ otherwise in default state." (evil-insert-state))))) -;; HACK `browse-at-remote' produces urls with `nil' in them, when the repo -;; detached. This creates broken links. I think it is more sensible to at -;; least refer to master in those case. -(defadvice! +vc--fallback-to-master-branch-a () - "Return 'master' in detached state." - :after-until #'browse-at-remote--get-local-branch - "master") +(after! browse-at-remote + (setq browse-at-remote-add-line-number-if-no-region-selected nil) + + ;; HACK `browse-at-remote' produces urls with `nil' in them, when the repo is + ;; detached. This creates broken links. I think it is more sensible to + ;; fall back to master in those cases. + (defadvice! +vc--fallback-to-master-branch-a () + "Return 'master' in detached state." + :after-until #'browse-at-remote--get-local-branch + "master")) diff --git a/modules/emacs/vc/packages.el b/modules/emacs/vc/packages.el index 70bd4075f..59e59211c 100644 --- a/modules/emacs/vc/packages.el +++ b/modules/emacs/vc/packages.el @@ -5,7 +5,7 @@ (package! vc-annotate :built-in t) (package! smerge-mode :built-in t) -(package! browse-at-remote :pin "aeee6bf38f") +(package! browse-at-remote :pin "771a3079e2") (package! git-timemachine :pin "391eb61050") (package! gitconfig-mode :pin "55468314a5") (package! gitignore-mode :pin "55468314a5")