diff options
Diffstat (limited to '.config/emacs/lisp/evil-collection/modes/mpc')
| -rw-r--r-- | .config/emacs/lisp/evil-collection/modes/mpc/README.org | 44 | ||||
| -rw-r--r-- | .config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el | 80 |
2 files changed, 124 insertions, 0 deletions
diff --git a/.config/emacs/lisp/evil-collection/modes/mpc/README.org b/.config/emacs/lisp/evil-collection/modes/mpc/README.org new file mode 100644 index 0000000..8416a2a --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/mpc/README.org @@ -0,0 +1,44 @@ +* mpc + + Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Music.html][mpc-mode]], the Emacs front-end to the Music Player Daemon. + +** Key bindings + + Bindings applied to =mpc-mode-map=. + + | Command | Original | Evil | + |---------------------------------+----------+--------------| + | =evil-collection-mpc-move-down= | n/a | =C-j= | + | =evil-collection-mpc-move-up= | n/a | =C-k= | + | =mpc-toggle-play= | =s= | =t= | + | =mpc-stop= | n/a | =T= | + | =mpc-toggle-repeat= | n/a | =r= | + | =mpc-toggle-shuffle= | n/a | =s= | + | =mpc-toggle-consume= | n/a | =c= | + | =mpc-playlist= | n/a | =gp= | + | =mpc-playlist-add= | n/a | =a= | + | =mpc-next= | =>= | =J= | + | =mpc-prev= | =<= | =K= | + | =mpc-play-at-point= | n/a | =x= | + | =mpc-play= | n/a | =X= | + | =mpc-select= | =RET= | =RET= | + | =mpc-select-toggle= | =S-RET= | =S-<return>= | + | =mpc-select-extend= | n/a | =C-<return>= | + | =mpc-goto-playing-song= | =o= | =go= | + | =mpc-describe-song= | n/a | =gd= | + | =mpc-pause= | =p= | =p= | + | =mpc-resume= | n/a | =P= | + | =mpc-seek-current= | =g= | =gs= | + | =mpc-tagbrowser= | n/a | =gb= | + | =mpc-songs-search= | n/a | =g/= | + | =mpc-songs-kill-search= | n/a | =g_= | + | =mpc-update= | n/a | =gR= | + | =mpc-playlist-delete= | n/a | =D= | + | =mpc-quit= | =q= | =q= | + +** New commands + + | Command | Key | | + |---------------------------------+-------+----------------------------------------| + | =evil-collection-mpc-move-down= | =C-j= | move cursor down and call =mpc-select= | + | =evil-collection-mpc-move-up= | =C-k= | move cursor up and call =mpc-select= | diff --git a/.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el b/.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el new file mode 100644 index 0000000..94f3a9b --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/mpc/evil-collection-mpc.el @@ -0,0 +1,80 @@ +;;; evil-collection-mpc.el --- Bindings for `mpc-mode' -*- lexical-binding: t -*- +;; Copyright (C) 2021, 2022 pspiagicw + +;; Author: pspiagicw <pspiagicw@gmail.com> +;; Maintainer: pspiagicw <pspiagicw@gmail.com> +;; pspiagicw <pspiagicw@gmail.com> +;; URL: https://github.com/emacs-evil/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "26.3")) +;; Keywords: evil, mpc, processes , mpd + +;; 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 <http://www.gnu.org/licenses/>. + +;;; Commentary: +;;; Bindings for `mpc-mode'. + +;;; Code: +(require 'mpc) +(require 'evil-collection) + +(defconst evil-collection-mpc-mode-maps '(mpc-mode-map)) + +(defun evil-collection-mpc-move-down () + "Move the cursor down along with selecting the element." + (interactive) + (evil-next-visual-line) + (mpc-select)) + +(defun evil-collection-mpc-move-up () + "Move the cursor up along with selecting the element." + (interactive) + (evil-previous-visual-line) + (mpc-select)) + +;;;###autoload +(defun evil-collection-mpc-setup () + "Setup up `evil' bindings for `mpc-mode'." + (evil-collection-define-key 'normal 'mpc-mode-map + (kbd "C-j") 'evil-collection-mpc-move-down + (kbd "C-k") 'evil-collection-mpc-move-up + "t" 'mpc-toggle-play + "T" 'mpc-stop + "r" 'mpc-toggle-repeat + "s" 'mpc-toggle-shuffle + "c" 'mpc-toggle-consume + "gp" 'mpc-playlist + "a" 'mpc-playlist-add + "J" 'mpc-next + "K" 'mpc-prev + "x" 'mpc-play-at-point + "X" 'mpc-play + (kbd "RET") 'mpc-select + (kbd "S-<return>") 'mpc-select-toggle + (kbd "C-<return>") 'mpc-select-extend + "go" 'mpc-goto-playing-song + "gd" 'mpc-describe-song + "p" 'mpc-pause + "P" 'mpc-resume + "gs" 'mpc-seek-current + "gb" 'mpc-tagbrowser + "g/" 'mpc-songs-search + "g_" 'mpc-songs-kill-search + "gd" 'mpc-songs-jump-to + "gR" 'mpc-update + "D" 'mpc-playlist-delete + "q" 'mpc-quit)) + +(provide 'evil-collection-mpc) +;;; evil-collection-mpc.el ends here |
