How do I apply a set of formatting rules to an existing source file in emacs?
Specifically I have an assembly (*.s) file, but I would like a generic command for all types of files.
I am trying to use M-x c-set-style with gnu style, but I am getting an error:
Buffer *.s is not a CC Mode buffer (c-set-style)
Open the file and then indent it by indenting the entire region:
Now, it looks like you’re trying to apply C indentation to a buffer that’s not in C mode. To get it into C mode
Or
c++-mode, or whatever mode you want. But, since it’s assembler code, you probably want assembler mode (which Emacs will do by default for .s files). In which case, the indentation command above (C-M-\is also known asM-x indent-region) should work for you.Note: the command sequence at the top can be rolled into a single command like this:
And, if you want to learn how to associate major-modes with files based on extensions, check out the documentation for auto-mode-alist. To be fair, it’s not necessarily extension based, just regular expressions matched against the filename.