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 --- .../modes/newsticker/evil-collection-newsticker.el | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 .config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el (limited to '.config/emacs/lisp/evil-collection/modes/newsticker/evil-collection-newsticker.el') 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