[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/osm d3f1340a16: Add geo: support to the osm command
From: |
ELPA Syncer |
Subject: |
[elpa] externals/osm d3f1340a16: Add geo: support to the osm command |
Date: |
Sat, 14 Jan 2023 17:58:02 -0500 (EST) |
branch: externals/osm
commit d3f1340a160c539e0c7370545d417fc7a0402659
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Add geo: support to the osm command
osm is a universal link jumper command
---
osm.el | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
diff --git a/osm.el b/osm.el
index 51f8b2bbd6..0c82a515c0 100644
--- a/osm.el
+++ b/osm.el
@@ -1314,8 +1314,19 @@ When called interactively, call the function `osm-home'."
(setq server (car server))
(unless (and server (symbolp server)) (setq server nil)) ;; Ignore comment
(osm--goto lat lon zoom server 'osm-link "Elisp Link"))
- ((and `(,search) (guard (stringp search)))
- (osm-search search))
+ ((and `(,url . ,_) (guard (stringp url)))
+ (if (string-match
+
"\\`geo:\\([0-9.-]+\\),\\([0-9.-]+\\)\\(?:,[0-9.-]+\\)?\\(;.+\\'\\|\\'\\)" url)
+ (let* ((lat (string-to-number (match-string 1 url)))
+ (lon (string-to-number (match-string 2 url)))
+ (args (url-parse-args (match-string 3 url) ""))
+ (zoom (cdr (assoc "z" args)))
+ (server (cdr (assoc "s" args))))
+ (osm--goto lat lon
+ (and zoom (string-to-number zoom))
+ (and server (intern-soft server))
+ 'osm-link "Geo Link"))
+ (osm-search (string-remove-prefix "geo:" url))))
(_ (error "Invalid osm link"))))
;;;###autoload
@@ -1573,25 +1584,7 @@ If the prefix argument LUCKY is non-nil take the first
result and jump there."
(message "Stored in the kill ring: %s" link)))
;;;###autoload
-(defun osm-browse-url (url &rest _)
- "Open geo: URL with `osm-mode'."
- (setq url (string-remove-prefix "geo:" url))
- (cond
- ((string-match
- "\\`\\([0-9.-]+\\),\\([0-9.-]+\\)\\(?:,[0-9.-]+\\)?\\(;.+\\'\\|\\'\\)"
url)
- (let* ((lat (string-to-number (match-string 1 url)))
- (lon (string-to-number (match-string 2 url)))
- (args (url-parse-args (match-string 3 url) ""))
- (zoom (cdr (assoc "z" args)))
- (server (cdr (assoc "s" args))))
- (osm--goto lat lon
- (and zoom (string-to-number zoom))
- (and server (intern-soft server))
- 'osm-link "Geo Link")))
- (t (osm-search url))))
-
-;;;###autoload
-(add-to-list 'browse-url-default-handlers '("\\`geo:" . osm-browse-url))
+(add-to-list 'browse-url-default-handlers '("\\`geo:" . osm))
(dolist (sym (list #'osm-center #'osm-up #'osm-down #'osm-left #'osm-right
#'osm-up-up #'osm-down-down #'osm-left-left
#'osm-right-right
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/osm d3f1340a16: Add geo: support to the osm command,
ELPA Syncer <=