mode-minder: list all your major and minor modes reddit / emacs ---------------------------------------------------------------------- JDRiverRun · 2022-09-15 01:01 [mode-minder](https://github.com/jdtsmith/mode-minder) I kept looking for a list of major-mode hierarchies, so I could decide, for example, which hooks to tie into (`prog-mode`, I'm looking at you). I couldn't find such a list, so decided to write a little tool that builds the hierarchy of major modes, and threw in standalone and minor modes too, along with help links, a docstring, and a flag indicating the origin of the package. More than 700 modes here, with some interesting finds. `special- mode`? Who knew? ---------------------------------------------------------------------- whudwl · 2022-09-15 01:17 looks very useful. thanks for sharing. ---------------------------------------------------------------------- CairnThePerson · 2022-09-15 05:47 Thanks so much for this! ---------------------------------------------------------------------- grimscythe_ · 2022-09-15 08:04 This is very nice. Thank you! ---------------------------------------------------------------------- akirakom · 2022-09-15 09:38 Just info: For the UI, you could use `hierarchy.el` which is now built into Emacs. Looks useful anyway, good work. ---------------------------------------------------------------------- matzebond · 2022-09-15 10:48 Is there a similar package for showing the hierarchy/inheritance of keymaps? ---------------------------------------------------------------------- Vaddi3 · 2022-09-15 11:03 This is very useful to better understand the connection between all the TeX and LaTeX modes that come with Emacs, together with the ones provided by AUCTeX. ---------------------------------------------------------------------- arthurno1 · 2022-09-15 12:54 Indeed, quite useful. Thanks! ---------------------------------------------------------------------- paretoOptimalDev · 2022-09-15 13:27 Wow, maybe this one should be upstreamed? ---------------------------------------------------------------------- JDRiverRun · 2022-09-15 14:25 Thanks. Interestingly, this revealed that some builtins do not register autoloads for their modes; `hierarchy.el` is among them. I haven't found a good way to identify installed libraries on the load-path which provide major/minor modes, but which do *not* include autoloads for them. Searching for *all library files* and loading them is way too heavy, crashing Emacs. ---------------------------------------------------------------------- akirakom · 2022-09-15 14:43 Indeed, to discover all installed major modes, you will have to load all installed libraries (or statically analyze code?), which is impractical. Some major modes are too trivial, so use of `mapatoms` would be usually sufficient. If you want to build a comprehensive database of major modes, I would suggest collaborating with [EmacsMirror](https://github.com/emacsmirror/epkgs)! ---------------------------------------------------------------------- JDRiverRun · 2022-09-15 15:34 Updated to list *aliases* to modes in parentheses and tweak the styling.