From bdf9a71ab7baa2b1de9abcfd5df1a9107a55d141 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Sun, 5 Jul 2026 01:19:30 -0400 Subject: add a bunch of emacs packages HELP --- .../evil-collection/modes/newsticker/README.org | 56 ++++++++++ .../modes/newsticker/evil-collection-newsticker.el | 116 +++++++++++++++++++++ 2 files changed, 172 insertions(+) create mode 100644 .config/emacs/lisp/evil-collection/modes/newsticker/README.org create mode 100644 .config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el (limited to '.config/emacs/lisp/evil-collection/modes/newsticker') diff --git a/.config/emacs/lisp/evil-collection/modes/newsticker/README.org b/.config/emacs/lisp/evil-collection/modes/newsticker/README.org new file mode 100644 index 0000000..4c73530 --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/newsticker/README.org @@ -0,0 +1,56 @@ +* newsticker + + Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/newsticker/index.html][newsticker]], the built-in RSS / Atom reader. + +** Key bindings + +*** newsticker-mode-map (plainview) + + | Command | Original | Evil | + |---------------------------------------------+----------+------| + | =newsticker-previous-feed= | =F= | =gk= | + | =newsticker-next-feed= | =f= | =gj= | + | =newsticker-mark-item-at-point-as-read= | =o= | =r= | + | =newsticker-mark-item-at-point-as-immortal= | =i= | =i= | + | =newsticker-show-old-items= | =s O= | =o= | + | =newsticker-hide-old-items= | =h O= | =O= | + | =newsticker-buffer-force-update= | =U= | =gr= | + | =newsticker-get-all-news= | =G= | =gR= | + | =newsticker-close-buffer= | =q= | =q= | + +*** newsticker-treeview-mode-map + + | Command | Original | Evil | + |-------------------------------------------------+--------------+--------------| + | =newsticker-treeview-prev-feed= | =F= | =[[= | + | =newsticker-treeview-next-feed= | =f= | =]]= | + | =newsticker-treeview-next-item= | =n= | =M-j= | + | =newsticker-treeview-prev-item= | =p= | =M-k= | + | =newsticker-treeview-next-new-or-immortal-item= | =N= | =gj= | + | =newsticker-treeview-prev-new-or-immortal-item= | =P= | =gk= | + | =newsticker-treeview-next-page= | =SPC= | =SPC= | + | =newsticker-treeview-jump= | =j= | =J= | + | =newsticker-treeview-mark-item-old= | =o= | =o= | + | =newsticker-treeview-mark-list-items-old= | =O= | =O= | + | =newsticker-treeview-toggle-item-immortal= | =i= | =i= | + | =newsticker-treeview-browse-url-item= | =b= | =b= | + | =newsticker-treeview-browse-url= | =v= | =B= | + | =newsticker-group-add-group= | =M-a= | =A= | + | =newsticker-group-delete-group= | =M-d= | =D= | + | =newsticker-group-rename-group= | =M-r= | =R= | + | =newsticker-treeview-save= | =s= | =S= | + | =newsticker-group-move-feed= | =M-m= | =M-m= | + | =newsticker-group-shift-feed-down= | =M-= | =M-= | + | =newsticker-group-shift-feed-up= | =M-= | =M-= | + | =newsticker-group-shift-group-down= | =M-S-= | =M-S-= | + | =newsticker-group-shift-group-up= | =M-S-= | =M-S-= | + | =newsticker-treeview-update= | =u= | =gr= | + | =newsticker-get-all-news= | =G= | =gR= | + | =newsticker-treeview-quit= | =q= | =q= | + +** Notes + + - In the treeview list buffer, =C-m= / =C-j= are bound to + =newsticker-treeview-show-item= via text-property keymap, which has higher + precedence than the major-mode map. Use =M-j= / =M-k= for next / previous + item navigation. diff --git a/.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el b/.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el new file mode 100644 index 0000000..9397a44 --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el @@ -0,0 +1,116 @@ +;;; evil-collection-newsticker.el --- Evil bindings for newsticker -*- lexical-binding: t -*- + +;; Copyright (C) 2020 Zhiwei Chen + +;; Author: Zhiwei Chen +;; Maintainer: James Nguyen +;; Pierre Neidhardt +;; URL: https://github.com/emacs-evil/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "26.3")) +;; Keywords: evil, newsticker, tools + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: +;; Evil bindings for newsticker. + +;;; Code: +(require 'evil-collection) +(require 'newsticker) + +(defconst evil-collection-newsticker-maps '(newsticker-mode-map)) + +;;;###autoload +(defun evil-collection-newsticker-setup () + "Set up `evil' bindings for `newsticker'." + ;; plainview + (evil-set-initial-state 'newsticker-mode 'normal) + (evil-collection-define-key 'normal 'newsticker-mode-map + ;; move + "gk" 'newsticker-previous-feed + "gj" 'newsticker-next-feed + + ;; mark + "r" 'newsticker-mark-item-at-point-as-read + "i" 'newsticker-mark-item-at-point-as-immortal + + ;; show/hide + "o" 'newsticker-show-old-items + "O" 'newsticker-hide-old-items + + ;; refresh + "gr" 'newsticker-buffer-force-update + "gR" 'newsticker-get-all-news + + ;; quit + "q" 'newsticker-close-buffer) + + ;; treeview + (evil-set-initial-state 'newsticker-treeview-list-mode 'normal) + (evil-collection-define-key 'normal 'newsticker-treeview-list-mode-map + [down-mouse-3] 'newsticker-treeview-list-menu) + + (evil-set-initial-state 'newsticker-treeview-item-mode 'normal) + (evil-collection-define-key 'normal 'newsticker-treeview-item-mode-map + [down-mouse-3] 'newsticker-treeview-item-menu) + + (evil-set-initial-state 'newsticker-treeview-mode 'normal) + (evil-collection-define-key 'normal 'newsticker-treeview-mode-map + ;; move + "[[" 'newsticker-treeview-prev-feed + "]]" 'newsticker-treeview-next-feed + ;; The items in Newsticker List buffer has a particular keymap by text + ;; property, where CR (C-m) and LF (C-j) are bound to + ;; `newsticker-treeview-show-item'. According to the keymap precedence page, + ;; the text property based keymap has a higher priority. + ;; + ;; Eval (info "(elisp)Searching Keymaps") if you have interests. + ;; + ;; Use M-j/M-k instead. + (kbd "M-j") 'newsticker-treeview-next-item + (kbd "M-k") 'newsticker-treeview-prev-item + "gj" 'newsticker-treeview-next-new-or-immortal-item + "gk" 'newsticker-treeview-prev-new-or-immortal-item + (kbd "SPC") 'newsticker-treeview-next-page + "J" 'newsticker-treeview-jump + + ;; mark + "o" 'newsticker-treeview-mark-item-old + "O" 'newsticker-treeview-mark-list-items-old + "i" 'newsticker-treeview-toggle-item-immortal + + "b" 'newsticker-treeview-browse-url-item + "B" 'newsticker-treeview-browse-url + + ;; group + "A" 'newsticker-group-add-group + "D" 'newsticker-group-delete-group + "R" 'newsticker-group-rename-group + "S" 'newsticker-treeview-save + (kbd "M-m") 'newsticker-group-move-feed + (kbd "") 'newsticker-group-shift-feed-down + (kbd "") 'newsticker-group-shift-feed-up + (kbd "") 'newsticker-group-shift-group-down + (kbd "") 'newsticker-group-shift-group-up + + ;; refresh + "gr" 'newsticker-treeview-update + "gR" 'newsticker-get-all-news + + ;; quit + "q" 'newsticker-treeview-quit)) + +(provide 'evil-collection-newsticker) +;;; evil-collection-newsticker.el ends here -- cgit v1.2.3