Function: ghostel--open-link
ghostel--open-link is a natively compiled function defined in
ghostel-links.el.
Signature
(ghostel--open-link URL)
Documentation
Open URL, dispatching by scheme.
file:// URIs open in Emacs; http(s) and other schemes use browse-url.
fileref: URIs (from auto-detected file[:line[:col]] patterns) open
the file at the given position in another window. A fileref without
a line suffix opens at the start of the file or directory.
Source Code
;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel-links.el
(defun ghostel--open-link (url)
"Open URL, dispatching by scheme.
file:// URIs open in Emacs; http(s) and other schemes use `browse-url'.
fileref: URIs (from auto-detected file[:line[:col]] patterns) open
the file at the given position in another window. A fileref without
a line suffix opens at the start of the file or directory."
(when (and url (stringp url))
(cond
((string-match ghostel--fileref-regex url)
(let ((file (match-string 1 url))
(line (and (match-string 2 url)
(string-to-number (match-string 2 url))))
(col (and (match-string 3 url)
(string-to-number (match-string 3 url)))))
(when (file-exists-p file)
(find-file-other-window file)
(when line
(goto-char (point-min))
(forward-line (1- (max 1 line)))
(when col (move-to-column (max 0 (1- col))))))))
((string-match "\\`file://\\(?:localhost\\)?\\(/.*\\)" url)
(find-file (url-unhex-string (match-string 1 url))))
((string-match-p "\\`[a-z]+://" url)
(browse-url url)))))