Emacs smart tabs - indent with tabs, align with spaces!
Emacs Lisp
Pull request Compare This branch is 1 commit ahead, 23 commits behind jcsalomon:master.
Latest commit 35a4726 Dec 2, 2012 Daniel Dehennin Fix problem with "smart-tabs-mode-map" variable name
* smart-tabs-mode.el: Rename to a more accurate name

Fixes: #16
Failed to load latest commit information.


Smart Tabs

Indent with tabs; align with spaces “Tabs.” “Spaces.” “Both.”

See EmacsWiki › SmartTabs for details about the idea this package enables.


// Tab size: 4                // Tab size: 2
if(foo) {                     if(foo) {
--->char quux[4] = {0, 1,     ->char quux[4] = {0, 1,     // "0" and "2"
--->................2, 3};    ->................2, 3};    // remain aligned
}                             }

Tabs are only used at the beginning of lines. Everything else, like ASCII art and tables, should be formatted with spaces.

Tabs are only used for expressing the indentation level. One tab per “block” – any remaining whitespace is spaces only.