|
From: | Jean Louis |
Subject: | Re: Changing completion-style using the minibuffer |
Date: | Sat, 12 Jun 2021 05:49:38 +0300 |
User-agent: | Mutt/2.0.7+183 (3d24855) (2021-05-28) |
* arvid-harnack@lavache.com <arvid-harnack@lavache.com> [2021-06-11 23:03]: > I have the following code to change completion-styles by calling "M-x > minibufrp-complt-style". > > > > But would like to change it so that I can go through the four selections > using the minibuffer. > > What would I need to add exactly to be able to do so ? (defvar k 1) In itself the below function is just looking to variable `k' and makes changes based on its value. If you wish to change the variable `completion-styles' you need not have any other variable. (defun minibufrp-complt-style () (interactive) (pcase k (1 (setq completion-styles '(basic substring)) (setq k 2)) (2 (setq completion-styles '(partial-completion)) (setq k 3)) (3 (setq completion-styles '(initials)) (setq k 4)) (4 (setq completion-styles '(orderless)) (setq k 1)) )) Following could be solution for multiple choice: (defun minibufrp-complt-style () (interactive) (let* ((collection '((?b '(basic substring) "Basic Substring") (?p '(partial-completion) "Partial Completion") (?i '(initials) "Initials") (?o '(orderless) "Orderless"))) (style (read-multiple-choice "Style: " collection))) (setq completion-styles (nth 1 style)))) Overall that does not nicely solve the problem as you may wish to have multiple completion styles in the variable `completion-styles' and you may get in trouble doing it that way. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/
[Prev in Thread] | Current Thread | [Next in Thread] |