Round 92: Add web browsing features
ober
d0d2704e7796685a4261611fc7ea64a7f3103bfe
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -3253,6 +3253,33 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features --- +### Round 92 — Web Browsing + +| Emacs Command | Status | Description | +|---|---|---| +| eww-reload | :orange_circle: | Reload EWW page | +| eww-back-url | :orange_circle: | EWW navigate back | +| eww-forward-url | :orange_circle: | EWW navigate forward | +| eww-download | :orange_circle: | Download current EWW page | +| eww-copy-page-url | :orange_circle: | Copy EWW page URL | +| eww-list-bookmarks | :orange_circle: | List EWW bookmarks | +| eww-add-bookmark | :orange_circle: | Add EWW bookmark | +| eww-search-words | :orange_circle: | Search web via EWW | +| eww-open-in-new-buffer | :orange_circle: | Open URL in new EWW buffer | +| w3m-browse-url | :orange_circle: | Browse URL in w3m | +| w3m-search | :orange_circle: | Search via w3m | +| w3m-bookmark-view | :orange_circle: | View w3m bookmarks | +| shr-browse-url | :orange_circle: | Open URL at point in browser | +| browse-url-firefox | :orange_circle: | Open URL in Firefox | +| browse-url-chromium | :orange_circle: | Open URL in Chromium | +| browse-url-default-browser | :orange_circle: | Open URL in default browser | +| xwidget-webkit-browse-url | :orange_circle: | Browse URL in xwidget webkit | +| xwidget-webkit-back | :orange_circle: | Xwidget webkit back | +| xwidget-webkit-forward | :orange_circle: | Xwidget webkit forward | +| xwidget-webkit-reload | :orange_circle: | Xwidget webkit reload | + +--- + ## Recommended Development Roadmap > *Reprioritized based on the user's actual Emacs workflow* --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -12944,3 +12944,54 @@ (def (cmd-gud-step app) (let* ((echo (app-state-echo app))) (echo-message! echo "GUD: stepped into"))) + +;;; Round 92 — Web Browsing (cont.) +(def (cmd-w3m-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "W3M search: " + (lambda (query) + (echo-message! echo (str "W3M: searching for '" query "'")))))) + +(def (cmd-w3m-bookmark-view app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "W3M: showing bookmarks"))) + +(def (cmd-shr-browse-url app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SHR: opening URL at point in browser"))) + +(def (cmd-browse-url-firefox app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Firefox URL: " + (lambda (url) + (echo-message! echo (str "Opening " url " in Firefox")))))) + +(def (cmd-browse-url-chromium app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Chromium URL: " + (lambda (url) + (echo-message! echo (str "Opening " url " in Chromium")))))) + +(def (cmd-browse-url-default-browser app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "URL: " + (lambda (url) + (echo-message! echo (str "Opening " url " in default browser")))))) + +(def (cmd-xwidget-webkit-browse-url app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Xwidget webkit URL: " + (lambda (url) + (echo-message! echo (str "Xwidget: browsing " url)))))) + +(def (cmd-xwidget-webkit-back app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xwidget webkit: navigated back"))) + +(def (cmd-xwidget-webkit-forward app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xwidget webkit: navigated forward"))) + +(def (cmd-xwidget-webkit-reload app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Xwidget webkit: page reloaded"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -13480,3 +13480,50 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "DAP: switched thread"))) +;;; Round 92 — Web Browsing +(def (cmd-eww-reload app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: page reloaded"))) + +(def (cmd-eww-back-url app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: navigated back"))) + +(def (cmd-eww-forward-url app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: navigated forward"))) + +(def (cmd-eww-download app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: downloading current page"))) + +(def (cmd-eww-copy-page-url app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: page URL copied to kill ring"))) + +(def (cmd-eww-list-bookmarks app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: listing bookmarks"))) + +(def (cmd-eww-add-bookmark app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EWW: bookmark added"))) + +(def (cmd-eww-search-words app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "EWW search: " + (lambda (query) + (echo-message! echo (str "EWW: searching for '" query "'")))))) + +(def (cmd-eww-open-in-new-buffer app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "URL to open in new buffer: " + (lambda (url) + (echo-message! echo (str "EWW: opening " url " in new buffer")))))) + +(def (cmd-w3m-browse-url app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "W3M URL: " + (lambda (url) + (echo-message! echo (str "W3M: browsing " url)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -3366,4 +3366,25 @@ (register-command! 'gud-break cmd-gud-break) (register-command! 'gud-remove cmd-gud-remove) (register-command! 'gud-step cmd-gud-step) + ;; Round 92 + (register-command! 'eww-reload cmd-eww-reload) + (register-command! 'eww-back-url cmd-eww-back-url) + (register-command! 'eww-forward-url cmd-eww-forward-url) + (register-command! 'eww-download cmd-eww-download) + (register-command! 'eww-copy-page-url cmd-eww-copy-page-url) + (register-command! 'eww-list-bookmarks cmd-eww-list-bookmarks) + (register-command! 'eww-add-bookmark cmd-eww-add-bookmark) + (register-command! 'eww-search-words cmd-eww-search-words) + (register-command! 'eww-open-in-new-buffer cmd-eww-open-in-new-buffer) + (register-command! 'w3m-browse-url cmd-w3m-browse-url) + (register-command! 'w3m-search cmd-w3m-search) + (register-command! 'w3m-bookmark-view cmd-w3m-bookmark-view) + (register-command! 'shr-browse-url cmd-shr-browse-url) + (register-command! 'browse-url-firefox cmd-browse-url-firefox) + (register-command! 'browse-url-chromium cmd-browse-url-chromium) + (register-command! 'browse-url-default-browser cmd-browse-url-default-browser) + (register-command! 'xwidget-webkit-browse-url cmd-xwidget-webkit-browse-url) + (register-command! 'xwidget-webkit-back cmd-xwidget-webkit-back) + (register-command! 'xwidget-webkit-forward cmd-xwidget-webkit-forward) + (register-command! 'xwidget-webkit-reload cmd-xwidget-webkit-reload) )