diff --git a/evil-collection-hackernews.el b/evil-collection-hackernews.el new file mode 100644 index 0000000..d49b296 --- /dev/null +++ b/evil-collection-hackernews.el @@ -0,0 +1,68 @@ +;;; evil-collection-hackernews.el --- Evil bindings for hackernews-mode -*- lexical-binding: t -*- + +;; Copyright (C) 2018 Pierre Neidhardt + +;; Author: Pierre Neidhardt +;; Maintainer: James Nguyen +;; Pierre Neidhardt +;; URL: https://github.com/emacs-evil/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "25.1")) +;; Keywords: evil, news, tools + +;; This file 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, or (at your +;; option) any later version. +;; +;; This file 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. +;; +;; For a full copy of the GNU General Public License +;; see . + +;;; Commentary: +;; Evil bindings for hackernews. + +;;; Code: +(require 'evil-collection) +(require 'hackernews nil t) + +(defconst evil-collection-hackernews-maps '(hackernews-mode-map + hackernews-button-map)) + +;;;###autoload +(defun evil-collection-hackernews-setup () + "Set up `evil' bindings for `hackernews-mode'." + (evil-collection-inhibit-insert-state 'hackernews-mode-map) + (evil-collection-define-key 'normal 'hackernews-mode-map + "]" 'hackernews-next-item + "[" 'hackernews-previous-item + "gj" 'hackernews-next-item + "gk" 'hackernews-previous-item + (kbd "C-j") 'hackernews-next-item + (kbd "C-k") 'hackernews-previous-item + + "+" 'hackernews-load-more-stories + + "gr" 'hackernews-reload + "gf" 'hackernews-switch-feed + + (kbd "") 'hackernews-next-comment + (kbd "S-") 'hackernews-previous-comment + + "!" 'hackernews-button-mark-as-visited ; like mu4e + "?" 'hackernews-button-mark-as-unvisited + + (kbd "") 'hackernews-button-browse-internal + (kbd "S-") 'push-button + + ;; quit + "q" 'quit-window + "ZQ" 'evil-quit + "ZZ" 'evil-quit)) + +(provide 'evil-collection-hackernews) +;;; evil-collection-hackernews.el ends here