Skip to content

Commit fa4f03d

Browse files
committed
Fix doomemacs#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.
1 parent 2631932 commit fa4f03d

File tree

4 files changed

+33
-4
lines changed

4 files changed

+33
-4
lines changed

modules/config/default/+emacs-bindings.el

+2-2
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@
299299
;;; <leader> v --- versioning
300300
(:prefix-map ("v" . "versioning")
301301
:desc "Git revert file" "R" #'vc-revert
302-
:desc "Kill link to remote" "y" #'browse-at-remote-kill
302+
:desc "Kill link to remote" "y" #'+vc/browse-at-remote-kill
303303
:desc "Kill link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
304304
(:when (featurep! :ui vc-gutter)
305305
:desc "Git revert hunk" "r" #'git-gutter:revert-hunk
@@ -327,7 +327,7 @@
327327
:desc "Find issue" "i" #'forge-visit-issue
328328
:desc "Find pull request" "p" #'forge-visit-pullreq)
329329
(:prefix ("o" . "open in browser")
330-
:desc "Browse file or region" "." #'browse-at-remote
330+
:desc "Browse file or region" "." #'+vc/browse-at-remote
331331
:desc "Browse homepage" "h" #'+vc/browse-at-remote-homepage
332332
:desc "Browse remote" "r" #'forge-browse-remote
333333
:desc "Browse commit" "c" #'forge-browse-commit

modules/config/default/+evil-bindings.el

+2-2
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@
411411
;;; <leader> g --- git/version control
412412
(:prefix-map ("g" . "git")
413413
:desc "Revert file" "R" #'vc-revert
414-
:desc "Copy link to remote" "y" #'browse-at-remote-kill
414+
:desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill
415415
:desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
416416
(:when (featurep! :ui hydra)
417417
:desc "SMerge" "m" #'+vc/smerge-hydra/body)
@@ -444,7 +444,7 @@
444444
:desc "Find issue" "i" #'forge-visit-issue
445445
:desc "Find pull request" "p" #'forge-visit-pullreq)
446446
(:prefix ("o" . "open in browser")
447-
:desc "Browse file or region" "o" #'browse-at-remote
447+
:desc "Browse file or region" "o" #'+vc/browse-at-remote
448448
:desc "Browse homepage" "h" #'+vc/browse-at-remote-homepage
449449
:desc "Browse remote" "r" #'forge-browse-remote
450450
:desc "Browse commit" "c" #'forge-browse-commit

modules/emacs/vc/autoload/vc.el

+23
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,29 @@
55
(cdr (browse-at-remote--get-url-from-remote (car url))))
66
(user-error "Can't find homepage for current project")))
77

8+
(defvar browse-at-remote-prefer-symbolic)
9+
;;;###autoload
10+
(defun +vc/browse-at-remote (&optional arg)
11+
"Open URL to current file (and line if selection is active) in browser.
12+
If prefix ARG, negate the default value of `browse-at-remote-prefer-symbolic'."
13+
(interactive "P")
14+
(let ((browse-at-remote-prefer-symbolic
15+
(if arg
16+
(not browse-at-remote-prefer-symbolic)
17+
browse-at-remote-prefer-symbolic)))
18+
(browse-at-remote)))
19+
20+
;;;###autoload
21+
(defun +vc/browse-at-remote-kill (&optional arg)
22+
"Copy URL to current file (and line if selection is active) to clipboard.
23+
If prefix ARG, negate the default value of `browse-at-remote-prefer-symbolic'."
24+
(interactive "P")
25+
(let ((browse-at-remote-prefer-symbolic
26+
(if arg
27+
(not browse-at-remote-prefer-symbolic)
28+
browse-at-remote-prefer-symbolic)))
29+
(browse-at-remote-kill)))
30+
831
;;;###autoload
932
(defun +vc/browse-at-remote-homepage ()
1033
"Open homepage for current project in browser."

modules/emacs/vc/config.el

+6
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,13 @@ otherwise in default state."
100100

101101

102102
(after! browse-at-remote
103+
;; It's more sensible that the user have more options. If they want line
104+
;; numbers, users can request them by making a selection first. Otherwise
105+
;; omitting them.
103106
(setq browse-at-remote-add-line-number-if-no-region-selected nil)
107+
;; Opt to produce permanent links with `browse-at-remote' by default,
108+
;; using commit hashes rather than branch names.
109+
(setq browse-at-remote-prefer-symbolic nil)
104110

105111
;; HACK `browse-at-remote' produces urls with `nil' in them, when the repo is
106112
;; detached. This creates broken links. I think it is more sensible to

0 commit comments

Comments
 (0)