Skip to content

Instantly share code, notes, and snippets.

@v2e4lisp
Last active December 13, 2015 22:29
Show Gist options
  • Save v2e4lisp/4984960 to your computer and use it in GitHub Desktop.
Save v2e4lisp/4984960 to your computer and use it in GitHub Desktop.
Put this code in minimap.el . Use iminimap to create file. * todo * make this auto update the minimap buffer once you change your current buffer in the window.
;; -- start playing around -- ;;
(defun minimap-reset ()
(interactive)
(minimap-delete-window-and-buffer)
(setq minimap-start nil)
(setq minimap-end nil)
(setq minimap-active-overlay nil)
(setq minimap-bufname nil)
(setq minimap-timer-object nil)
(setq minimap-active-minimaps 0)
(setq minimap-base-overlay nil)
(setq minimap-numlines nil)
(setq minimap-pointmin-overlay nil))
;; (defun minimap-delete-window-and-buffer ()
;; (interactive)
;; (dolist (win (window-list))
;; (let ((buf (buffer-name (window-buffer win))))
;; (when (string/starts-with buf minimap-buffer-name-prefix)
;; (kill-buffer buf)
;; (when (window-live-p win)
;; (delete-window win)))))
(defun minimap-delete-window-and-buffer ()
(interactive)
(dolist (buffer (buffer-list))
(let ((buf (buffer-name buffer)))
(when (string/starts-with buf minimap-buffer-name-prefix)
;; *First* delete the corresponding window
;; *Then* buffer
(let ((win (get-buffer-window buf)))
(when (and win (window-live-p win))
(delete-window win)))
(kill-buffer buf)))))
(defun string/starts-with (s arg)
(when (>= (length s) (length arg))
(string-equal (substring s 0 (length arg)) arg)))
(defun iminimap ()
(interactive)
(minimap-delete-window-and-buffer)
(minimap-create))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment