I am most sure that I am not using correct terms while asking this question because I don't even know what the correct terms are. Maybe you can help as you read my question.
I have encountered so many hooks in Emacs for different types buffers. Like ielm-mode-hook, term-mode-hook, text-mode-hook, prog-mode-hook. Sure there must be many more.
While disabling or enabling some features using these hooks I am never sure if I have enabled or disabled it on all the hooks.
Like I want to add line numbers to any "text non-I/O" buffers. By this mean only buffers where I write text or code but do not run REPL or any interactive tools. Are text-mode-hook and prog-mode-hook enough? Am I missing some other hooks?
What if I want to add some function to "interactive I/O" buffers like REPLs, terminals, or other interactive tools? Like if I have line numbers enabled by default but I want to disable them in interactive buffers like this, is it enough to hook that function to term-mode-hook and ielm-mode-hook? Am I missing any other hooks?
Is there a full list of hooks somewhere? At least the built-in ones? Is there some categorizing of those hooks like these ones are just for writing text and these ones are for interactive buffers?