[base] Show a winum required message
problem: key bindings that use the winum package, don't work in the spacemacs-base distribution. for example in the buffer transient state: SPC b . {number}, C-{number} or M-{number} shows messages like these: Wrong type argument: commandp, winum-select-window-1 Symbol’s function definition is void: winum-get-window-by-number cause: the winum package is loaded in the spacemacs-navigation layer, but the layer isn't used in the spacemacs-base distribution. solution: show the message: This command requires the winum package, winum is part of the spacemacs-navigation layer.
This commit is contained in:
parent
9b6a49d6c0
commit
61ff12cbfc
|
@ -116,10 +116,11 @@ Navigation^^^^ Actions^^ Visual actions/config^^^
|
|||
(defun neotree/pre-init-winum ()
|
||||
(spacemacs|use-package-add-hook winum
|
||||
:post-config
|
||||
;; `0', `M-0' and `C-x w 0' are bound to `winum-select-window-0-or-10'
|
||||
(define-key winum-keymap [remap winum-select-window-0-or-10] #'neotree-show)
|
||||
;; replace the which-key name
|
||||
(push '((nil . "winum-select-window-0-or-10") . (nil . "neotree-show"))
|
||||
which-key-replacement-alist)
|
||||
(add-to-list 'winum-assign-functions
|
||||
#'spacemacs//winum-neotree-assign-func)))
|
||||
(when (configuration-layer/package-used-p 'winum)
|
||||
;; `0', `M-0' and `C-x w 0' are bound to `winum-select-window-0-or-10'
|
||||
(define-key winum-keymap [remap winum-select-window-0-or-10] #'neotree-show)
|
||||
;; replace the which-key name
|
||||
(push '((nil . "winum-select-window-0-or-10") . (nil . "neotree-show"))
|
||||
which-key-replacement-alist)
|
||||
(add-to-list 'winum-assign-functions
|
||||
#'spacemacs//winum-neotree-assign-func))))
|
||||
|
|
|
@ -109,18 +109,19 @@
|
|||
(spacemacs|use-package-add-hook winum
|
||||
:post-config
|
||||
(progn
|
||||
;; `0', `M-0' and `C-x w 0' are bound to `winum-select-window-0-or-10'
|
||||
(define-key winum-keymap
|
||||
[remap winum-select-window-0-or-10] #'treemacs-select-window)
|
||||
;; replace the which-key name
|
||||
(push '((nil . "winum-select-window-0-or-10") .
|
||||
(nil . "treemacs-select-window"))
|
||||
which-key-replacement-alist)
|
||||
(with-eval-after-load 'treemacs
|
||||
(dolist (n (number-sequence 1 5))
|
||||
(add-to-list 'winum-ignored-buffers
|
||||
(format "%sFramebuffer-%s*"
|
||||
treemacs--buffer-name-prefix n)))))))
|
||||
(when (configuration-layer/package-used-p 'winum)
|
||||
;; `0', `M-0' and `C-x w 0' are bound to `winum-select-window-0-or-10'
|
||||
(define-key winum-keymap
|
||||
[remap winum-select-window-0-or-10] #'treemacs-select-window)
|
||||
;; replace the which-key name
|
||||
(push '((nil . "winum-select-window-0-or-10") .
|
||||
(nil . "treemacs-select-window"))
|
||||
which-key-replacement-alist)
|
||||
(with-eval-after-load 'treemacs
|
||||
(dolist (n (number-sequence 1 5))
|
||||
(add-to-list 'winum-ignored-buffers
|
||||
(format "%sFramebuffer-%s*"
|
||||
treemacs--buffer-name-prefix n))))))))
|
||||
|
||||
(defun treemacs/init-treemacs-magit ()
|
||||
(use-package treemacs-magit
|
||||
|
|
|
@ -88,15 +88,15 @@ default."
|
|||
(call-interactively (key-binding "\C-x\C-s"))))
|
||||
|
||||
;; window manipulation with command key
|
||||
(global-set-key (kbd-mac-command "1") 'winum-select-window-1)
|
||||
(global-set-key (kbd-mac-command "2") 'winum-select-window-2)
|
||||
(global-set-key (kbd-mac-command "3") 'winum-select-window-3)
|
||||
(global-set-key (kbd-mac-command "4") 'winum-select-window-4)
|
||||
(global-set-key (kbd-mac-command "5") 'winum-select-window-5)
|
||||
(global-set-key (kbd-mac-command "6") 'winum-select-window-6)
|
||||
(global-set-key (kbd-mac-command "7") 'winum-select-window-7)
|
||||
(global-set-key (kbd-mac-command "8") 'winum-select-window-8)
|
||||
(global-set-key (kbd-mac-command "9") 'winum-select-window-9)
|
||||
(global-set-key (kbd-mac-command "1") 'spacemacs/winum-select-window-1)
|
||||
(global-set-key (kbd-mac-command "2") 'spacemacs/winum-select-window-2)
|
||||
(global-set-key (kbd-mac-command "3") 'spacemacs/winum-select-window-3)
|
||||
(global-set-key (kbd-mac-command "4") 'spacemacs/winum-select-window-4)
|
||||
(global-set-key (kbd-mac-command "5") 'spacemacs/winum-select-window-5)
|
||||
(global-set-key (kbd-mac-command "6") 'spacemacs/winum-select-window-6)
|
||||
(global-set-key (kbd-mac-command "7") 'spacemacs/winum-select-window-7)
|
||||
(global-set-key (kbd-mac-command "8") 'spacemacs/winum-select-window-8)
|
||||
(global-set-key (kbd-mac-command "9") 'spacemacs/winum-select-window-9)
|
||||
|
||||
(global-set-key (kbd-mac-command "Z") 'undo-tree-redo)
|
||||
(global-set-key (kbd-mac-command "C-f") 'spacemacs/toggle-frame-fullscreen)
|
||||
|
|
|
@ -263,15 +263,15 @@
|
|||
;; Workaround for #12747 - org-mode
|
||||
(evil-define-key 'normal magit-blame-read-only-mode-map (kbd "RET") 'magit-show-commit)
|
||||
;; Make sure that M-m still switch windows in all magit buffers
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-1") 'winum-select-window-1)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-2") 'winum-select-window-2)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-3") 'winum-select-window-3)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-4") 'winum-select-window-4)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-5") 'winum-select-window-5)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-6") 'winum-select-window-6)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-7") 'winum-select-window-7)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-8") 'winum-select-window-8)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-9") 'winum-select-window-9))))
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-1") 'spacemacs/winum-select-window-1)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-2") 'spacemacs/winum-select-window-2)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-3") 'spacemacs/winum-select-window-3)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-4") 'spacemacs/winum-select-window-4)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-5") 'spacemacs/winum-select-window-5)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-6") 'spacemacs/winum-select-window-6)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-7") 'spacemacs/winum-select-window-7)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-8") 'spacemacs/winum-select-window-8)
|
||||
(evil-define-key 'normal magit-section-mode-map (kbd "M-9") 'spacemacs/winum-select-window-9))))
|
||||
|
||||
(defun git/init-magit-delta ()
|
||||
(use-package magit-delta
|
||||
|
|
|
@ -257,55 +257,86 @@ Dedicated (locked) windows are left untouched."
|
|||
(interactive "p")
|
||||
(spacemacs/rotate-windows-forward (* -1 count)))
|
||||
|
||||
(defun spacemacs/move-buffer-to-window (windownum follow-focus-p)
|
||||
"Moves a buffer to a window, using the spacemacs numbering. follow-focus-p
|
||||
controls whether focus moves to new window (with buffer), or stays on current"
|
||||
(interactive)
|
||||
(if (> windownum (length (window-list-1 nil nil t)))
|
||||
(message "No window numbered %s" windownum)
|
||||
(let ((b (current-buffer))
|
||||
(w1 (selected-window))
|
||||
(w2 (winum-get-window-by-number windownum)))
|
||||
(unless (eq w1 w2)
|
||||
(set-window-buffer w2 b)
|
||||
(switch-to-prev-buffer)
|
||||
(unrecord-window-buffer w1 b))
|
||||
(when follow-focus-p
|
||||
(select-window (winum-get-window-by-number windownum))))))
|
||||
|
||||
(defun spacemacs/swap-buffers-to-window (windownum follow-focus-p)
|
||||
"Swaps visible buffers between active window and selected window.
|
||||
follow-focus-p controls whether focus moves to new window (with buffer), or
|
||||
stays on current"
|
||||
(interactive)
|
||||
(if (> windownum (length (window-list-1 nil nil t)))
|
||||
(message "No window numbered %s" windownum)
|
||||
(let* ((b1 (current-buffer))
|
||||
(w1 (selected-window))
|
||||
(w2 (winum-get-window-by-number windownum))
|
||||
(b2 (window-buffer w2)))
|
||||
(unless (eq w1 w2)
|
||||
(set-window-buffer w1 b2)
|
||||
(set-window-buffer w2 b1)
|
||||
(unrecord-window-buffer w1 b1)
|
||||
(unrecord-window-buffer w2 b2)))
|
||||
(when follow-focus-p (winum-select-window-by-number windownum))))
|
||||
(if (configuration-layer/package-used-p 'winum)
|
||||
(progn
|
||||
(defun spacemacs/move-buffer-to-window (windownum follow-focus-p)
|
||||
"Moves a buffer to a window, using the spacemacs numbering. follow-focus-p
|
||||
controls whether focus moves to new window (with buffer), or stays on current"
|
||||
(interactive)
|
||||
(if (> windownum (length (window-list-1 nil nil t)))
|
||||
(message "No window numbered %s" windownum)
|
||||
(let ((b (current-buffer))
|
||||
(w1 (selected-window))
|
||||
(w2 (winum-get-window-by-number windownum)))
|
||||
(unless (eq w1 w2)
|
||||
(set-window-buffer w2 b)
|
||||
(switch-to-prev-buffer)
|
||||
(unrecord-window-buffer w1 b))
|
||||
(when follow-focus-p
|
||||
(select-window (winum-get-window-by-number windownum))))))
|
||||
|
||||
(defun spacemacs/swap-buffers-to-window (windownum follow-focus-p)
|
||||
"Swaps visible buffers between active window and selected window.
|
||||
follow-focus-p controls whether focus moves to new window (with buffer), or
|
||||
stays on current"
|
||||
(interactive)
|
||||
(if (> windownum (length (window-list-1 nil nil t)))
|
||||
(message "No window numbered %s" windownum)
|
||||
(let* ((b1 (current-buffer))
|
||||
(w1 (selected-window))
|
||||
(w2 (winum-get-window-by-number windownum))
|
||||
(b2 (window-buffer w2)))
|
||||
(unless (eq w1 w2)
|
||||
(set-window-buffer w1 b2)
|
||||
(set-window-buffer w2 b1)
|
||||
(unrecord-window-buffer w1 b1)
|
||||
(unrecord-window-buffer w2 b2)))
|
||||
(when follow-focus-p (winum-select-window-by-number windownum)))))
|
||||
;; when the winum package isn't used
|
||||
(defun spacemacs//message-winum-package-required ()
|
||||
(interactive)
|
||||
(message (concat "This command requires the winum package," "\n"
|
||||
"winum is part of the spacemacs-navigation layer."))))
|
||||
|
||||
;; define and evaluate numbered functions:
|
||||
;; spacemacs/winum-select-window-0 to 9
|
||||
(dotimes (i 10)
|
||||
(eval `(defun ,(intern (format "spacemacs/winum-select-window-%s" i)) (&optional arg)
|
||||
,(concat (format "Select window %i\n" i)
|
||||
"Or if the winum package isn't used:\n"
|
||||
"For example in the spacemacs-base distribution."
|
||||
"Show a message stating that the winum package,"
|
||||
"is part of the spacemacs-navigation layer.\n")
|
||||
(interactive "P")
|
||||
(if (configuration-layer/package-used-p 'winum)
|
||||
(funcall ',(intern (format "winum-select-window-%s" i)) arg)
|
||||
(spacemacs//message-winum-package-required)))))
|
||||
|
||||
;; define and evaluate three numbered functions:
|
||||
;; buffer-to-window-1 to 9
|
||||
;; move-buffer-window-no-follow-1 to 9
|
||||
;; swap-buffer-window-no-follow-1 to 9
|
||||
(dotimes (i 9)
|
||||
(let ((n (+ i 1)))
|
||||
(eval `(defun ,(intern (format "buffer-to-window-%s" n)) (&optional arg)
|
||||
,(format "Move buffer to the window with number %i." n)
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(spacemacs/swap-buffers-to-window ,n t)
|
||||
(spacemacs/move-buffer-to-window ,n t))))
|
||||
(if (configuration-layer/package-used-p 'winum)
|
||||
(if arg
|
||||
(spacemacs/swap-buffers-to-window ,n t)
|
||||
(spacemacs/move-buffer-to-window ,n t))
|
||||
(spacemacs//message-winum-package-required))))
|
||||
(eval `(defun ,(intern (format "move-buffer-window-no-follow-%s" n)) ()
|
||||
(interactive)
|
||||
(spacemacs/move-buffer-to-window ,n nil)))
|
||||
(if (configuration-layer/package-used-p 'winum)
|
||||
(spacemacs/move-buffer-to-window ,n nil)
|
||||
(spacemacs//message-winum-package-required))))
|
||||
(eval `(defun ,(intern (format "swap-buffer-window-no-follow-%s" n)) ()
|
||||
(interactive)
|
||||
(spacemacs/swap-buffers-to-window ,n nil)))
|
||||
))
|
||||
(if (configuration-layer/package-used-p 'winum)
|
||||
(spacemacs/swap-buffers-to-window ,n nil)
|
||||
(spacemacs//message-winum-package-required))))))
|
||||
|
||||
(defun spacemacs/rename-file (filename &optional new-filename)
|
||||
"Rename FILENAME to NEW-FILENAME.
|
||||
|
|
|
@ -770,15 +770,15 @@ respond to this toggle."
|
|||
("M-7" swap-buffer-window-no-follow-7)
|
||||
("M-8" swap-buffer-window-no-follow-8)
|
||||
("M-9" swap-buffer-window-no-follow-9)
|
||||
("C-1" winum-select-window-1)
|
||||
("C-2" winum-select-window-2)
|
||||
("C-3" winum-select-window-3)
|
||||
("C-4" winum-select-window-4)
|
||||
("C-5" winum-select-window-5)
|
||||
("C-6" winum-select-window-6)
|
||||
("C-7" winum-select-window-7)
|
||||
("C-8" winum-select-window-8)
|
||||
("C-9" winum-select-window-9))
|
||||
("C-1" spacemacs/winum-select-window-1)
|
||||
("C-2" spacemacs/winum-select-window-2)
|
||||
("C-3" spacemacs/winum-select-window-3)
|
||||
("C-4" spacemacs/winum-select-window-4)
|
||||
("C-5" spacemacs/winum-select-window-5)
|
||||
("C-6" spacemacs/winum-select-window-6)
|
||||
("C-7" spacemacs/winum-select-window-7)
|
||||
("C-8" spacemacs/winum-select-window-8)
|
||||
("C-9" spacemacs/winum-select-window-9))
|
||||
(spacemacs/set-leader-keys "b." 'spacemacs/buffer-transient-state/body)
|
||||
|
||||
;; end of Buffer Transient State
|
||||
|
@ -859,16 +859,16 @@ Select: _a_ _h_ _j_ _k_ _l_ _w_ _0_.._9_ Move: _H_ _J_ _K_ _L_ _r_ _R_ Split: _s
|
|||
("<left>" evil-window-left)
|
||||
("l" evil-window-right)
|
||||
("<right>" evil-window-right)
|
||||
("0" winum-select-window-0)
|
||||
("1" winum-select-window-1)
|
||||
("2" winum-select-window-2)
|
||||
("3" winum-select-window-3)
|
||||
("4" winum-select-window-4)
|
||||
("5" winum-select-window-5)
|
||||
("6" winum-select-window-6)
|
||||
("7" winum-select-window-7)
|
||||
("8" winum-select-window-8)
|
||||
("9" winum-select-window-9)
|
||||
("0" spacemacs/winum-select-window-0)
|
||||
("1" spacemacs/winum-select-window-1)
|
||||
("2" spacemacs/winum-select-window-2)
|
||||
("3" spacemacs/winum-select-window-3)
|
||||
("4" spacemacs/winum-select-window-4)
|
||||
("5" spacemacs/winum-select-window-5)
|
||||
("6" spacemacs/winum-select-window-6)
|
||||
("7" spacemacs/winum-select-window-7)
|
||||
("8" spacemacs/winum-select-window-8)
|
||||
("9" spacemacs/winum-select-window-9)
|
||||
("a" ace-window)
|
||||
("o" other-frame)
|
||||
("w" other-window)
|
||||
|
|
Loading…
Reference in New Issue