[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/luwak 5e72329d3a 03/28: some more convenient keys, as w
From: |
ELPA Syncer |
Subject: |
[elpa] externals/luwak 5e72329d3a 03/28: some more convenient keys, as well as removal of ref section |
Date: |
Tue, 25 Oct 2022 15:57:53 -0400 (EDT) |
branch: externals/luwak
commit 5e72329d3a05aed027407bc6fb26d5363ae06530
Author: Yuchen Pei <hi@ypei.me>
Commit: Yuchen Pei <hi@ypei.me>
some more convenient keys, as well as removal of ref section
---
luwak.el | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/luwak.el b/luwak.el
index a0c7922772..e544ac64f6 100644
--- a/luwak.el
+++ b/luwak.el
@@ -5,6 +5,10 @@
(defvar-local luwak-history nil)
(defun luwak-lynx-buffer (url) (format "*luwak-lynx %s*" url))
+(defcustom luwak-search-engine "https://html.duckduckgo.com/html?q=%s"
+ "Default search engine for use in 'luwak-search'.")
+(defcustom luwak-url-rewrite-function 'identity
+ "Function to rewrite url before loading.")
(define-derived-mode luwak-mode special-mode "luwak"
"Major mode for browsing the web using lynx -dump.")
@@ -16,6 +20,9 @@
(define-key kmap "g" 'luwak-reload)
(define-key kmap "l" 'luwak-history-backward)
(define-key kmap "r" 'luwak-history-forward)
+ (define-key kmap "w" 'luwak-copy-url)
+ (define-key kmap "o" 'luwak-open)
+ (define-key kmap "s" 'luwak-search)
kmap))
(defun luwak-open (url)
@@ -23,13 +30,27 @@
(setq url (eww--dwim-expand-url url))
(luwak-open-internal url current-prefix-arg 'luwak-add-to-history))
+(defun luwak-copy-url ()
+ (interactive)
+ (when-let ((url (or (get-text-property (point) 'url)
+ (plist-get luwak-data :url))))
+ (kill-new url)
+ (message "Copied: %s" url)))
+
+(defun luwak-search (query)
+ (interactive "sLuwak search query: ")
+ (luwak-open (format luwak-search-engine query)))
+
(defun luwak-open-internal (url no-tor &optional cb)
+ (setq url (funcall luwak-url-rewrite-function url))
+ (message "Loading %s..." url)
(set-process-sentinel
(start-process-with-torsocks
current-prefix-arg
"luwak-lynx" (luwak-lynx-buffer url)
"lynx" "-dump" "--display_charset" "utf-8" url)
(lambda (process _)
+ (message "Loading %s... Done." url)
(with-current-buffer (get-buffer-create luwak-buffer)
(let ((inhibit-read-only t))
(erase-buffer)
@@ -92,18 +113,22 @@
(replace-match "")
(make-text-button (point) (progn (forward-sexp) (point))
'url url
+ 'help-echo url
'action 'luwak-follow-link
'face 'button))
(setq i (1+ i)))))))
(defun luwak-get-links ()
+ "Get links and re"
(with-current-buffer luwak-buffer
(save-excursion
(goto-char (point-min))
- (re-search-forward "^References\n\n\\(\\ *Visible links:\n\\)?")
- (let ((results))
- (while (re-search-forward "^\\ *\\([0-9]+\\)\\.\\ *\\(.*\\)$" nil t)
- (push (match-string 2) results))
- (reverse results)))))
+ (when (re-search-forward "^References\n\n\\(\\ *Visible links:\n\\)?"
nil t)
+ (let ((ref-beg (match-beginning 0))
+ (results))
+ (while (re-search-forward "^\\ *\\([0-9]+\\)\\.\\ *\\(.*\\)$" nil t)
+ (push (match-string 2) results))
+ (delete-region ref-beg (point-max))
+ (reverse results))))))
(provide 'luwak)
- [elpa] branch externals/luwak created (now ec97058718), ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 1899e7903a 19/28: typo, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 7652f876d0 08/28: display tor status, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 8e7da0d089 10/28: making using tor a user option, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 5e72329d3a 03/28: some more convenient keys, as well as removal of ref section,
ELPA Syncer <=
- [elpa] externals/luwak 3c337adc87 07/28: removing deps on eww, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak ea6a1c4c2d 18/28: removing an unused fun, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 3af6104fe5 13/28: make link render a user option and add dump to a file, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak e0408b2cb6 15/28: org store and capture, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 05f5fef4bf 17/28: history and follow numbered link, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 0c1b6e97ab 11/28: docstring minor, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 8373015f75 21/28: Prepare for ELPA submission, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak 2d11ff50d6 25/28: toggle default tor switch., ELPA Syncer, 2022/10/25
- [elpa] externals/luwak aa846e8484 20/28: fixing some compiling error, as well as bugs, ELPA Syncer, 2022/10/25
- [elpa] externals/luwak b86519f50b 06/28: updating docs about torsocks, ELPA Syncer, 2022/10/25