diff options
-rw-r--r-- | misc/.config/nyxt/config.lisp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/misc/.config/nyxt/config.lisp b/misc/.config/nyxt/config.lisp new file mode 100644 index 0000000..7238e81 --- /dev/null +++ b/misc/.config/nyxt/config.lisp @@ -0,0 +1,74 @@ +;;; config.lisp -- My nyxt config + +;; Copyright (C) 2023 Free Software Foundation. + +;; Author: Yuchen Pei <id@ypei.org> + +;; This file is part of dotted. + +;; dotted is free software: you can redistribute it and/or modify it +;; under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. + +;; dotted 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 +;; Affero General Public License for more details. + +;; You should have received a copy of the GNU Affero General Public +;; License along with dotted. If not, see +;; <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; My nyxt config. + +;;; Code: + +(defvar *web-buffer-modes* + '(:emacs-mode :no-script-mode :blocker-mode)) + +(define-configuration web-buffer + ((default-modes `(,@*web-buffer-modes* ,@%slot-value%)))) + +(define-configuration (:modable-buffer :prompt-buffer :editor-buffer) + "Set up Emacs keybindings everywhere possible." + ((default-modes `(:emacs-mode ,@%slot-value%)))) + +(define-configuration :document-mode + "Document mode keybindings." + ((keyscheme-map + (keymaps:define-keyscheme-map + "my-document" (list :import %slot-value%) + nyxt/keyscheme:emacs + (list + "B" 'switch-buffer-previous + "F" 'switch-buffer-next + "b" 'scroll-left + "f" 'scroll-right + "j" 'jump-to-heading + "g" 'reload-current-buffer + "k" 'delete-current-buffer + "n" 'scroll-down + "o" 'set-url + "p" 'scroll-up + "w" 'copy-url + "<" 'scroll-to-top + ">" 'scroll-to-bottom + "C-h x" 'describe-command + "C-s" :search-buffer + "C-z" 'switch-buffer + ))))) + +(define-configuration :prompt-buffer-mode + "Prompt buffer mode keybindings." + ((keyscheme-map + (keymaps:define-keyscheme-map + "my-prompt-buffer" (list :import %slot-value%) + ;; It is important to have the `nyxt/' namespace here + nyxt/keyscheme:emacs + (list + "C-s" 'next-suggestion + "C-r" 'previous-suggestion + ))))) |