Fix #4784: browse-at-remote-prefer-symbolic = nil
+ Default browse-at-remote-prefer-symbolic to nil because a permanent URL is generally more desirable for developers sharing links. + 'SPC g y' and 'SPC o o' now support the prefix arg, which will negate the default value of browse-at-remote-prefer-symbolic for that call.
This commit is contained in:
parent
26319322b2
commit
fa4f03de22
4 changed files with 33 additions and 4 deletions
|
@ -299,7 +299,7 @@
|
||||||
;;; <leader> v --- versioning
|
;;; <leader> v --- versioning
|
||||||
(:prefix-map ("v" . "versioning")
|
(:prefix-map ("v" . "versioning")
|
||||||
:desc "Git revert file" "R" #'vc-revert
|
:desc "Git revert file" "R" #'vc-revert
|
||||||
:desc "Kill link to remote" "y" #'browse-at-remote-kill
|
:desc "Kill link to remote" "y" #'+vc/browse-at-remote-kill
|
||||||
:desc "Kill link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
|
:desc "Kill link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
|
||||||
(:when (featurep! :ui vc-gutter)
|
(:when (featurep! :ui vc-gutter)
|
||||||
:desc "Git revert hunk" "r" #'git-gutter:revert-hunk
|
:desc "Git revert hunk" "r" #'git-gutter:revert-hunk
|
||||||
|
@ -327,7 +327,7 @@
|
||||||
:desc "Find issue" "i" #'forge-visit-issue
|
:desc "Find issue" "i" #'forge-visit-issue
|
||||||
:desc "Find pull request" "p" #'forge-visit-pullreq)
|
:desc "Find pull request" "p" #'forge-visit-pullreq)
|
||||||
(:prefix ("o" . "open in browser")
|
(:prefix ("o" . "open in browser")
|
||||||
:desc "Browse file or region" "." #'browse-at-remote
|
:desc "Browse file or region" "." #'+vc/browse-at-remote
|
||||||
:desc "Browse homepage" "h" #'+vc/browse-at-remote-homepage
|
:desc "Browse homepage" "h" #'+vc/browse-at-remote-homepage
|
||||||
:desc "Browse remote" "r" #'forge-browse-remote
|
:desc "Browse remote" "r" #'forge-browse-remote
|
||||||
:desc "Browse commit" "c" #'forge-browse-commit
|
:desc "Browse commit" "c" #'forge-browse-commit
|
||||||
|
|
|
@ -411,7 +411,7 @@
|
||||||
;;; <leader> g --- git/version control
|
;;; <leader> g --- git/version control
|
||||||
(:prefix-map ("g" . "git")
|
(:prefix-map ("g" . "git")
|
||||||
:desc "Revert file" "R" #'vc-revert
|
:desc "Revert file" "R" #'vc-revert
|
||||||
:desc "Copy link to remote" "y" #'browse-at-remote-kill
|
:desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill
|
||||||
:desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
|
:desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
|
||||||
(:when (featurep! :ui hydra)
|
(:when (featurep! :ui hydra)
|
||||||
:desc "SMerge" "m" #'+vc/smerge-hydra/body)
|
:desc "SMerge" "m" #'+vc/smerge-hydra/body)
|
||||||
|
@ -444,7 +444,7 @@
|
||||||
:desc "Find issue" "i" #'forge-visit-issue
|
:desc "Find issue" "i" #'forge-visit-issue
|
||||||
:desc "Find pull request" "p" #'forge-visit-pullreq)
|
:desc "Find pull request" "p" #'forge-visit-pullreq)
|
||||||
(:prefix ("o" . "open in browser")
|
(:prefix ("o" . "open in browser")
|
||||||
:desc "Browse file or region" "o" #'browse-at-remote
|
:desc "Browse file or region" "o" #'+vc/browse-at-remote
|
||||||
:desc "Browse homepage" "h" #'+vc/browse-at-remote-homepage
|
:desc "Browse homepage" "h" #'+vc/browse-at-remote-homepage
|
||||||
:desc "Browse remote" "r" #'forge-browse-remote
|
:desc "Browse remote" "r" #'forge-browse-remote
|
||||||
:desc "Browse commit" "c" #'forge-browse-commit
|
:desc "Browse commit" "c" #'forge-browse-commit
|
||||||
|
|
|
@ -5,6 +5,29 @@
|
||||||
(cdr (browse-at-remote--get-url-from-remote (car url))))
|
(cdr (browse-at-remote--get-url-from-remote (car url))))
|
||||||
(user-error "Can't find homepage for current project")))
|
(user-error "Can't find homepage for current project")))
|
||||||
|
|
||||||
|
(defvar browse-at-remote-prefer-symbolic)
|
||||||
|
;;;###autoload
|
||||||
|
(defun +vc/browse-at-remote (&optional arg)
|
||||||
|
"Open URL to current file (and line if selection is active) in browser.
|
||||||
|
If prefix ARG, negate the default value of `browse-at-remote-prefer-symbolic'."
|
||||||
|
(interactive "P")
|
||||||
|
(let ((browse-at-remote-prefer-symbolic
|
||||||
|
(if arg
|
||||||
|
(not browse-at-remote-prefer-symbolic)
|
||||||
|
browse-at-remote-prefer-symbolic)))
|
||||||
|
(browse-at-remote)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun +vc/browse-at-remote-kill (&optional arg)
|
||||||
|
"Copy URL to current file (and line if selection is active) to clipboard.
|
||||||
|
If prefix ARG, negate the default value of `browse-at-remote-prefer-symbolic'."
|
||||||
|
(interactive "P")
|
||||||
|
(let ((browse-at-remote-prefer-symbolic
|
||||||
|
(if arg
|
||||||
|
(not browse-at-remote-prefer-symbolic)
|
||||||
|
browse-at-remote-prefer-symbolic)))
|
||||||
|
(browse-at-remote-kill)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun +vc/browse-at-remote-homepage ()
|
(defun +vc/browse-at-remote-homepage ()
|
||||||
"Open homepage for current project in browser."
|
"Open homepage for current project in browser."
|
||||||
|
|
|
@ -100,7 +100,13 @@ otherwise in default state."
|
||||||
|
|
||||||
|
|
||||||
(after! browse-at-remote
|
(after! browse-at-remote
|
||||||
|
;; It's more sensible that the user have more options. If they want line
|
||||||
|
;; numbers, users can request them by making a selection first. Otherwise
|
||||||
|
;; omitting them.
|
||||||
(setq browse-at-remote-add-line-number-if-no-region-selected nil)
|
(setq browse-at-remote-add-line-number-if-no-region-selected nil)
|
||||||
|
;; Opt to produce permanent links with `browse-at-remote' by default,
|
||||||
|
;; using commit hashes rather than branch names.
|
||||||
|
(setq browse-at-remote-prefer-symbolic nil)
|
||||||
|
|
||||||
;; HACK `browse-at-remote' produces urls with `nil' in them, when the repo is
|
;; 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
|
;; detached. This creates broken links. I think it is more sensible to
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue