Files
@ 12666c579a11
Branch filter:
Location: workgroups2/src/workgroups-commands-minibuffer.el - annotation
12666c579a11
2.2 KiB
text/x-elisp
workgroups2.el - edited "Commentary" section, new function wg-reload-session
variables.el - changed default session filename
utils-basic.el - stop using "flet"
variables.el - changed default session filename
utils-basic.el - stop using "flet"
443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 443938b472d4 | ;;; wg-minibuffer-mode commands
(defun wg-next-buffer-list-filter ()
"Trigger a switch to the next buffer-list-filter."
(interactive)
(throw 'wg-action (list 'next (minibuffer-contents))))
(defun wg-previous-buffer-list-filter ()
"Trigger a switch to the previous buffer-list-filter."
(interactive)
(throw 'wg-action (list 'prev (minibuffer-contents))))
(defun wg-backward-char-or-next-buffer-list-filter ()
"Call `backward-char' unless `point' is right after the prompt,
in which case call `wg-next-buffer-list-filter'."
(interactive)
(if (> (point) (minibuffer-prompt-end)) (backward-char)
(wg-next-buffer-list-filter)))
(defun wg-backward-char-or-previous-buffer-list-filter (&optional num)
"Call `backward-char' unless `point' is right after the prompt,
in which case call `wg-previous-buffer-list-filter'."
(interactive)
(if (> (point) (minibuffer-prompt-end)) (backward-char)
(wg-previous-buffer-list-filter)))
(defun wg-dissociate-first-match ()
"Dissociate the first match from current workgroup."
(interactive)
(wg-when-let
((mode (wg-read-buffer-mode))
(buffer (wg-current-match mode))
(pos (position buffer (wg-filtered-buffer-list t) :test 'equal)))
(wg-workgroup-dissociate-bufobj (wg-current-workgroup) buffer)
(wg-set-current-matches
(wg-rotate-list (wg-filtered-buffer-list t) pos) mode)))
(defun wg-associate-first-match ()
"Associate the first match with or update it in the current workgroup."
(interactive)
(wg-when-let
((mode (wg-read-buffer-mode))
(buffer (wg-current-match mode))
(pos (position buffer (wg-filtered-buffer-list t) :test 'equal)))
(wg-workgroup-associate-bufobj (wg-current-workgroup) buffer)
(wg-set-current-matches
(wg-rotate-list (wg-filtered-buffer-list t) pos) mode)))
(defun wg-minibuffer-mode-dissociate-weakly-associated-buffers ()
"Dissociate weakly associated buffers and update the current matches."
(interactive)
(wg-workgroup-dissociate-weakly-associated-buffers (wg-current-workgroup))
(wg-set-current-matches
(let ((remaining (wg-filtered-buffer-list t)))
(remove-if-not (lambda (match) (member match remaining))
(wg-current-matches)))))
(provide 'workgroups-commands-minibuffer)
|