diff --git a/init.example.el b/init.example.el index 370dd77d4..5cd3b8b9e 100644 --- a/init.example.el +++ b/init.example.el @@ -33,6 +33,7 @@ hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra ;;indent-guides ; highlighted indent columns + ;;minimap ; show a map of the code on the side modeline ; snazzy, Atom-inspired modeline, plus API ;;nav-flash ; blink cursor line after big motions ;;neotree ; a project drawer, like NERDTree for vim diff --git a/modules/config/default/+emacs-bindings.el b/modules/config/default/+emacs-bindings.el index f85c6850b..1718c122d 100644 --- a/modules/config/default/+emacs-bindings.el +++ b/modules/config/default/+emacs-bindings.el @@ -259,6 +259,8 @@ :desc "Flycheck" "f" #'flycheck-mode) (:when (featurep! :ui indent-guides) :desc "Indent guides" "i" #'highlight-indent-guides-mode) + (:when (featurep! :ui minimap) + :desc "Minimap mode" "m" #'minimap-mode) (:when (featurep! :lang org +present) :desc "org-tree-slide mode" "p" #'+org-present/start) :desc "Read-only mode" "r" #'read-only-mode diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index b7d2f20c3..6037322b1 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -645,6 +645,8 @@ :desc "Indent guides" "i" #'highlight-indent-guides-mode) :desc "Indent style" "I" #'doom/toggle-indent-style :desc "Line numbers" "l" #'doom/toggle-line-numbers + (:when (featurep! :ui zen) + :desc "Minimap" "m" #'minimap-mode) (:when (featurep! :lang org +present) :desc "org-tree-slide mode" "p" #'org-tree-slide-mode) :desc "Read-only mode" "r" #'read-only-mode @@ -655,7 +657,8 @@ :desc "Soft line wrapping" "w" #'visual-line-mode (:when (featurep! :editor word-wrap) :desc "Soft line wrapping" "w" #'+word-wrap-mode) - :desc "Zen mode" "z" #'writeroom-mode)) + (:when (featurep! :ui zen) + :desc "Zen mode" "z" #'writeroom-mode))) (after! which-key (let ((prefix-re (regexp-opt (list doom-leader-key doom-leader-alt-key)))) diff --git a/modules/ui/minimap/README.org b/modules/ui/minimap/README.org new file mode 100644 index 000000000..28d485899 --- /dev/null +++ b/modules/ui/minimap/README.org @@ -0,0 +1,43 @@ +#+TITLE: :ui minimap +#+DATE: May 8, 2020 +#+SINCE: v3.0.0 +#+STARTUP: inlineimages nofold + +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#features][Features]] +- [[#configuration][Configuration]] +- [[#troubleshooting][Troubleshooting]] + - [[#scrolling-is-slowlaggy][Scrolling is slow/laggy]] + - [[#minimap-doesnt-close-when-disabled][Minimap doesn't close when disabled]] + +* Description +This module adds a minimap to the right side of Emacs, similar to the feature +found in many other editors. + +** Maintainers ++ [[https://github.com/rushsteve1][@rushsteve1]] (Author) + +** Module Flags +This module provides no flags. + +** Plugins ++ [[https://elpa.gnu.org/packages/minimap.html][minimap.el]] + +* Features +A minimap which provides an overview of the current buffer to the side, +displaying the currently visible region and the current line. You can left-click +and drag to scroll along the buffer, or right-click anywhere to jump to there. + +* Configuration +There are a number of options provided by the =minimap.el= package this module +is based on. The easiest way to see all of them is =SPC h v minimap=. + +* Troubleshooting +** Scrolling is slow/laggy +Disable the minimap using =SPC t m= + +** TODO Minimap doesn't close when disabled diff --git a/modules/ui/minimap/config.el b/modules/ui/minimap/config.el new file mode 100644 index 000000000..86afde935 --- /dev/null +++ b/modules/ui/minimap/config.el @@ -0,0 +1,9 @@ +;;; ui/minimap/config.el -*- lexical-binding: t; -*- + +(use-package! minimap + :defer t + :config + (setq minimap-window-location 'right + minimap-update-delay 0 + minimap-width-fraction 0.09 + minimap-minimum-width 15)) diff --git a/modules/ui/minimap/packages.el b/modules/ui/minimap/packages.el new file mode 100644 index 000000000..6b2b34bbc --- /dev/null +++ b/modules/ui/minimap/packages.el @@ -0,0 +1,4 @@ +;; -*- no-byte-compile: t; -*- +;;; ui/minimap/packages.el + +(package! minimap :pin "5765245dee97a3c8818fd5cd3db1eca7247fcbbc")