aboutsummaryrefslogtreecommitdiff
path: root/.config/emacs/lisp/evil-collection/modes/telega
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/lisp/evil-collection/modes/telega')
-rw-r--r--.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el218
1 files changed, 0 insertions, 218 deletions
diff --git a/.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el b/.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el
deleted file mode 100644
index 2fcbd00..0000000
--- a/.config/emacs/lisp/evil-collection/modes/telega/evil-collection-telega.el
+++ /dev/null
@@ -1,218 +0,0 @@
-;;; evil-collection-telega.el --- Evil bindings for telega -*- lexical-binding: t -*-
-
-;; Copyright (C) 2021 Ruoyu Feng
-
-;; Author: Ruoyu Feng <mail@vonfry.name>
-;; Maintainer: James Nguyen <james@jojojames.com>, Pierre Neidhardt <mail@ambrevar.xyz>
-;; URL: https://github.com/emacs-evil/evil-collection
-;; Version: 0.0.6
-;; Package-Requires: ((emacs "26.3"))
-;; Keywords: evil, emacs, tools, telegram, telega
-
-;; 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 <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Evil bindings for telega.
-
-;;; Code:
-(require 'telega nil t)
-(require 'evil-collection)
-
-(defvar telega-prefix-map)
-(defvar telega-filter-map)
-(defvar telega-sort-map)
-(defvar telega-chatbuf-fastnav-map)
-(defvar telega-describe-map)
-(defvar telega-folder-map)
-(defvar telega-voip-map)
-(defvar telega-root-view-map)
-(defvar telega-root-fastnav-map)
-
-(defconst evil-collection-telega-maps '(telega-root-mode-map
- telega-chat-mode-map
- telega-image-mode-map
- telega-webpage-mode-map
- telega-user-button-map
- telega-msg-button-map
- telega-chat-button-map
- telega-sticker-button-map))
-
-(defconst evil-collection-telega-modes '(telega-root-mode
- telega-chat-mode
- telega-image-mode
- telega-webpage-mode))
-
-;;;###autoload
-(defun evil-collection-telega-setup ()
- "Set up `evil' bindings for `telega'."
- (evil-collection-set-readonly-bindings 'telega-root-mode-map)
-
- (dolist (mode evil-collection-telega-modes)
- (evil-set-initial-state mode 'normal))
-
- (evil-collection-define-key 'normal 'telega-root-mode-map
- "j" 'evil-next-line
- "k" 'evil-previous-line
-
- "ga" telega-prefix-map
-
- (kbd "<tab>") 'telega-button-forward
- (kbd "<backtab>") 'telega-button-backward
-
- "S" telega-sort-map
- "s" telega-filter-map
- "_" 'telega-filter-undo
- "-" 'telega-filter-redo
-
- "c" 'telega-chat-join-by-link
- "C" 'telega-chat-create
- "D" 'telega-chats-filtered-kill-chatbuf
- "R" 'telega-chats-filtered-toggle-read
-
- "q" 'bury-buffer
- "Q" 'telega-kill
-
- "g?" telega-describe-map
- "gO" telega-folder-map
- "gC" telega-voip-map
- "gV" telega-root-view-map
- "J" telega-root-fastnav-map
-
- "gs" 'telega-view-search)
-
- (evil-collection-define-key 'normal 'telega-chat-mode-map
- "ga" telega-prefix-map
- "gA" telega-chatbuf-fastnav-map
-
- "zz" 'telega-chatbuf-recenter-1
-
- "^" 'telega-chatbuf-beginning-of-thing
-
- "g?" 'telega-describe-chat
-
- "Za" 'telega-chatbuf-attach
- "Zf" 'telega-chatbuf-attach-media
- "Zv" 'telega-chatbuf-attach-clipboard
-
- "s" 'telega-chatbuf-filter
- "_" 'telega-chatbuf-filter-cancel
- "S" 'telega-chatbuf-filter-search
-
- (kbd "<tab>") 'telega-chatbuf-complete-or-next-link
- (kbd "<backtab>") 'telega-chatbuf-prev-link
-
- "q" 'quit-window)
-
- (let* ((submit evil-collection-repl-submit-state)
- (newline-state (if (eq submit 'normal) 'insert 'normal)))
- (evil-collection-define-key submit 'telega-chat-mode-map
- (kbd "RET") 'telega-chatbuf-newline-or-input-send)
- (evil-collection-define-key newline-state 'telega-chat-mode-map
- (kbd "RET") 'newline))
-
- (evil-collection-define-key 'normal 'telega-image-mode-map
- "ga" telega-prefix-map
-
- "}" 'telega-image-next
- "{" 'telega-image-prev
- "q" 'telega-image-quit)
-
- (evil-collection-define-key 'normal 'telega-webpage-mode-map
- "ga" telega-prefix-map
-
- "gx" 'telega-webpage-browse-url
- "yy" 'telega-webpage-copy-url
- "(" 'telega-webpage-history-prev
- ")" 'telega-webpage-history-next
- (kbd "<tab>") 'telega-button-forward
- (kbd "<backtab>") 'telega-button-backward)
-
- (evil-collection-set-readonly-bindings 'telega-user-button-map)
- ; We have to set keybinds for emacs instead of normal state because normal
- ; states takes no effects on buttons and remove the default bindings.
- ; ref: emacs-evil/evil#1477
- (evil-collection-define-key nil 'telega-user-button-map
- "B" nil
- "K" nil
- (kbd "DEL") nil
-
- "g?" 'telega-describe-user
- "m" 'telega-user-chat-with
- "D" 'telega-user-block)
-
- (evil-collection-set-readonly-bindings 'telega-msg-button-map)
- (evil-collection-define-key nil 'telega-msg-button-map
- "c" nil
- "d" nil
- "e" nil
- "f" nil
- "k" nil
- "l" nil
- "m" nil
- "n" nil
- "p" nil
- "^" nil
- (kbd "DEL") nil
- "*" nil
-
- "D" 'telega-msg-delete-dwim
- "dd" 'telega-msg-delete-dwim
- "i" 'telega-msg-edit
- "g?" 'telega-describe-message
- "a" 'telega-msg-mark-toggle
- (kbd "<tab>") 'telega-button-forward
- (kbd "<backtab>") 'telega-button-backward
- "R" 'telega-msg-forward-dwim
- "r" 'telega-msg-reply
- "gr" 'telega-msg-open-thread-or-topic
-
- "Zy" 'telega-msg-copy-text
- "Zl" 'telega-msg-copy-link
- "ds" 'telega-msg-ban-sender
- "ZL" 'telega-msg-redisplay
- "P" 'telega-msg-pin-toggle
- "ZR" 'telega-msg-resend
- "S" 'telega-msg-save
- "u" 'telega-msg-unmark
- "U" 'telega-chatbuf-msg-marks-toggle
- "=" 'telega-msg-diff-edits
- "s" 'telega-msg-favorite-toggle)
-
- (evil-collection-set-readonly-bindings 'telega-chat-button-map)
- (evil-collection-define-key nil 'telega-chat-button-map
- "i" nil
- "d" nil
- "^" nil
- (kbd "DEL") nil
-
- "g?" 'telega-describe-chat
- "a" 'telega-chat-add-member
- "o" 'telega-chat-set-custom-order
- "r" 'telega-chat-toggle-read
- "P" 'telega-chat-toggle-pin
- "C" 'telega-chat-call
- "D" 'telega-chat-delete)
-
- (evil-collection-set-readonly-bindings 'telega-sticker-button-map)
- (evil-collection-define-key nil 'telega-sticker-button-map
- "f" nil
- "*" nil
- "i" nil
- "h" nil
-
- "t" 'telega-sticker-toggle-favorite
- "g?" 'telega-sticker-help))
-
-(provide 'evil-collection-telega)
-;;; evil-collection-telega.el ends here