diff options
Diffstat (limited to 'lisp/servall-wikipedia.el')
-rw-r--r-- | lisp/servall-wikipedia.el | 70 |
1 files changed, 1 insertions, 69 deletions
diff --git a/lisp/servall-wikipedia.el b/lisp/servall-wikipedia.el index aebfeb9..84385fa 100644 --- a/lisp/servall-wikipedia.el +++ b/lisp/servall-wikipedia.el @@ -1,74 +1,6 @@ ;; -*- lexical-binding: t; -*- (require 'servall-client) - -(defvar servall-results-mode-map - (let ((map (make-sparse-keymap))) - (setq map (copy-keymap special-mode-map)) - (define-key map "n" 'org-next-visible-heading) - (define-key map "g" 'servall-results-update) - (define-key map "\r" 'servall-results-open) - (define-key map "p" 'org-previous-visible-heading) - (define-key map "s" 'servall-results-re-search) - map)) -(defvar servall-results-buffer "*servall-results*") - -(define-derived-mode servall-results-mode org-mode "servall-results" - "Mode for showing and selecting results" - (setq-local buffer-read-only t - servall-results-update-function nil - servall-results-re-search-function nil - servall-results-open-function nil)) - -(defun servall-results-update (&optional cb) - (interactive) - ;; assuming the update function takes a cb iff cb is nonnil. - (if cb - (funcall servall-results-update-function cb) - (funcall servall-results-update-function))) - -(defun servall-results-re-search () - (interactive) - (call-interactively servall-results-re-search-function)) - -(defun servall-results-open () - (interactive) - (funcall servall-results-open-function)) - -;; ytdl results -(define-derived-mode servall-ytdl-results-mode servall-results-mode - "servall-ytdl-results" - "Mode for showing and selecting ytdl results" - (setq-local servall-ytdl-results-query nil)) - -(defun servall-ytdl-search (query) - (interactive "sYtdl Query: ") - (with-current-buffer (get-buffer-create servall-results-buffer) - (servall-ytdl-results-mode) - (setq servall-ytdl-results-query query - servall-results-update-function 'servall-ytdl-results-update - servall-results-re-search-function 'servall-ytdl-search - servall-results-open-function 'servall-ytdl-results-open) - (servall-results-update (lambda () - (switch-to-buffer servall-results-buffer))))) - -(defun servall-ytdl-results-update (cb) - (servall-api-ytdl-search - servall-ytdl-results-query - (lambda (results) - (with-current-buffer (get-buffer-create servall-results-buffer) - (let* ((inhibit-read-only t)) - (erase-buffer) - (mapc - (lambda (result) - (let ((title (alist-get 'title result))) - (insert - (propertize - (concat "* " title "\n") - 'title title)) - (insert (alist-get 'description result) "\n\n"))) - results) - (goto-char (point-min)))) - (funcall cb)))) +(require 'servall-results) ;; wikipedia results (define-derived-mode servall-wikipedia-results-mode servall-results-mode |