* imenu framework @ 2024-07-27 21:29 Heime 2024-07-28 6:23 ` Joel Reicher 0 siblings, 1 reply; 5+ messages in thread From: Heime @ 2024-07-27 21:29 UTC (permalink / raw) To: Heime via Users list for the GNU Emacs text editor imenu is a framework for mode-specific buffer indexes Does this mean that it can list the function names depending on the programming language mode ? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: imenu framework 2024-07-27 21:29 imenu framework Heime @ 2024-07-28 6:23 ` Joel Reicher 2024-07-28 17:18 ` Heime 0 siblings, 1 reply; 5+ messages in thread From: Joel Reicher @ 2024-07-28 6:23 UTC (permalink / raw) To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor Heime <heimeborgia@protonmail.com> writes: > imenu is a framework for mode-specific buffer indexes > > Does this mean that it can list the function names depending on > the programming language mode ? That's what the language mode should provide, yes, but strictly speaking it depends on the mode. Do you have a particular mode in mind? Its code can be examined. For example, java-ts-mode contains (setq-local treesit-simple-imenu-settings '(("Class" "\\`class_declaration\\'" nil nil) ("Interface" "\\`interface_declaration\\'" nil nil) ("Enum" "\\`record_declaration\\'" nil nil) ("Method" "\\`method_declaration\\'" nil nil))) (and then there is glue in the generic treesitter code) Cheers, - Joel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: imenu framework 2024-07-28 6:23 ` Joel Reicher @ 2024-07-28 17:18 ` Heime 2024-07-28 22:02 ` Heime 0 siblings, 1 reply; 5+ messages in thread From: Heime @ 2024-07-28 17:18 UTC (permalink / raw) To: Joel Reicher; +Cc: Heime via Users list for the GNU Emacs text editor On Sunday, July 28th, 2024 at 6:23 PM, Joel Reicher <joel.reicher@gmail.com> wrote: > Heime heimeborgia@protonmail.com writes: > > > imenu is a framework for mode-specific buffer indexes > > > > Does this mean that it can list the function names depending on > > the programming language mode ? > > > That's what the language mode should provide, yes, but strictly > speaking it depends on the mode. > > Do you have a particular mode in mind? Its code can be examined. > > For example, java-ts-mode contains > > (setq-local treesit-simple-imenu-settings > '(("Class" "\\`class_declaration\\\\'" nil nil) ("Interface" "\\\\`interface_declaration\\'" nil > nil) > ("Enum" "\\`record_declaration\\\\'" nil nil) ("Method" "\\\\`method_declaration\\'" nil nil))) > > (and then there is glue in the generic treesitter code) > > Cheers, > > - Joel Am currently working on elisp code. imenu makes categorisation by variables etc. Can one remove the categorisation, and make it list only the function names, or the variables, or the consts ? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: imenu framework 2024-07-28 17:18 ` Heime @ 2024-07-28 22:02 ` Heime 2024-07-28 23:55 ` Heime 0 siblings, 1 reply; 5+ messages in thread From: Heime @ 2024-07-28 22:02 UTC (permalink / raw) To: Heime; +Cc: Joel Reicher, Heime via Users list for the GNU Emacs text editor On Monday, July 29th, 2024 at 5:18 AM, Heime <heimeborgia@protonmail.com> wrote: > On Sunday, July 28th, 2024 at 6:23 PM, Joel Reicher joel.reicher@gmail.com wrote: > > > Heime heimeborgia@protonmail.com writes: > > > > > imenu is a framework for mode-specific buffer indexes > > > > > > Does this mean that it can list the function names depending on > > > the programming language mode ? > > > > That's what the language mode should provide, yes, but strictly > > speaking it depends on the mode. > > > > Do you have a particular mode in mind? Its code can be examined. > > > > For example, java-ts-mode contains > > > > (setq-local treesit-simple-imenu-settings > > '(("Class" "\\`class_declaration\\\\\\\\'" nil nil) ("Interface" "\\\\\\\\`interface_declaration\\'" nil > > nil) > > ("Enum" "\\`record_declaration\\\\\\\\'" nil nil) ("Method" "\\\\\\\\`method_declaration\\'" nil nil))) > > > > (and then there is glue in the generic treesitter code) > > > > Cheers, > > > > - Joel > > > Am currently working on elisp code. imenu makes categorisation by variables > etc. Can one remove the categorisation, and make it list only the function > names, or the variables, or the consts ? Have done this function, but cannot get imenu to run and show the function names It seems to require arguments, but I do not know what has to be done. (defun vodil-imenu-function-list () "Set up `imenu` to show a list of functions in the current buffer." (interactive) (setq imenu-generic-expression '((nil "^(defun\\s-+\\([^ \t\n]+\\)" 1))) (imenu-add-to-menubar "Function List") (imenu)) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: imenu framework 2024-07-28 22:02 ` Heime @ 2024-07-28 23:55 ` Heime 0 siblings, 0 replies; 5+ messages in thread From: Heime @ 2024-07-28 23:55 UTC (permalink / raw) To: Heime; +Cc: Joel Reicher, Heime via Users list for the GNU Emacs text editor Sent with Proton Mail secure email. On Monday, July 29th, 2024 at 10:02 AM, Heime <heimeborgia@protonmail.com> wrote: > On Monday, July 29th, 2024 at 5:18 AM, Heime heimeborgia@protonmail.com wrote: > > > On Sunday, July 28th, 2024 at 6:23 PM, Joel Reicher joel.reicher@gmail.com wrote: > > > > > Heime heimeborgia@protonmail.com writes: > > > > > > > imenu is a framework for mode-specific buffer indexes > > > > > > > > Does this mean that it can list the function names depending on > > > > the programming language mode ? > > > > > > That's what the language mode should provide, yes, but strictly > > > speaking it depends on the mode. > > > > > > Do you have a particular mode in mind? Its code can be examined. > > > > > > For example, java-ts-mode contains > > > > > > (setq-local treesit-simple-imenu-settings > > > '(("Class" "\\`class_declaration\\\\\\\\\\\\\\\\'" nil nil) ("Interface" "\\\\\\\\\\\\\\\\`interface_declaration\\'" nil > > > nil) > > > ("Enum" "\\`record_declaration\\\\\\\\\\\\\\\\'" nil nil) ("Method" "\\\\\\\\\\\\\\\\`method_declaration\\'" nil nil))) > > > > > > (and then there is glue in the generic treesitter code) > > > > > > Cheers, > > > > > > - Joel Have split the regexp strings this way, but getting into problems when using concat. (setq imenu-generic-expression `( ("Functions" ,(concat "^\\s-*" "(defun\\s-+\\([[:word:]-]+\\)") 1) ("Variables" ,(concat "^\\s-*" "(\\(defvar\\|defvar-local\\|defconst\\)" "\\s-+\\([[:word:]-]+\\)") 2))) ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-07-28 23:55 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-27 21:29 imenu framework Heime 2024-07-28 6:23 ` Joel Reicher 2024-07-28 17:18 ` Heime 2024-07-28 22:02 ` Heime 2024-07-28 23:55 ` Heime
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).