Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Emacs code to automatically set indent-tabs-mode according to existing code

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.

like image 813
Markus Miller Avatar asked Sep 16 '10 11:09

Markus Miller


1 Answers

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/

like image 121
Kirk Kelsey Avatar answered Nov 09 '22 12:11

Kirk Kelsey