help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using show-paren-style function in elisp code


From: Bruno Barbier
Subject: Re: Using show-paren-style function in elisp code
Date: Mon, 20 Jun 2022 19:51:06 +0200

carlmarcos--- via Users list for the GNU Emacs text editor
<help-gnu-emacs@gnu.org> writes:

> Have written the following function to set `show-paren-style`.  Would it be 
> possible to modify
> the code in a way that also allows a user to use the style as an argument so 
> that the function 
> can be used in elisp code.  
>

I would follow Rudolf's advice, to not have to set the style manually
everytime.

But, if you still want to learn how to use a function both
interactively and in elisp code, you should read the Elisp
documentation about 'interactive'. It explains how to write functions
that you can use as commands.

   (info "(elisp)Using Interactive")

   
In your case, here is a possible solution:

   #+begin_src elisp
     (defun view-parens (style)
       "Visualise parentheses and expressions using STYLE.
     STYLE must be a symbol."
       (interactive (list 
                     (intern (completing-read "Visualise: " '("bracemk" 
"expression" "mixed")
                                              nil t "mixed"))))
       (setq show-paren-style style)
       )
   #+end_src


    
Note 1: The function 'intern' transforms a string into a symbol; you then don't 
need a 'pcase' anymore.

Note 2: Your line:

         (setq 'show-paren-style 'parenthesis)
         
should have been:
        
         (setq show-paren-style 'parenthesis)
         
as 'setq' expects a non-quoted symbol.

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]