12

Is there ready Emacs code/package to automatically set indent-tabs-mode according to the file being visited? That is, if the currently visited file uses tabs for indentation, indent-tabs-mode should be set buffer-locally to true. Correspondingly if spaces are used, indent-tabs-mode should be set to false. The purpose of this is to automatically detect and use the tab mode of an existing project (without needing Emacs-specific file variable annotations), to stay consistent with the tab style of existing code.

An even more advanced version of this detection might accomodate for the fact that a single file might have mixed tabs and spaces. In this case a sensible heuristic could be to use the tab mode on the previous line when indenting, instead of deciding upon a tab mode global to the entire file.

Markus Miller
  • 3,695
  • 2
  • 29
  • 33

1 Answers1

7

You might also be interested in dtrt-indent, which detects the offset when spaces are used for indentation in addition to determining if tabs are used.

http://savannah.nongnu.org/projects/dtrt-indent/

Kirk Kelsey
  • 4,259
  • 1
  • 23
  • 26
  • 1
    Emacs24 now comes with M-x c-guess included. Which seems to guess the indent correctly, but it didn't enable tabs vs spaces. – maxy Aug 02 '14 at 19:27