Commit 8807e1b4 authored by Brett Cannon's avatar Brett Cannon

Blocked revisions 76154 via svnmerge

........
  r76154 | brett.cannon | 2009-11-08 13:35:28 -0800 (Sun, 08 Nov 2009) | 4 lines

  Properly detect whether a C file is using tabs or spaces for Vim.

  Closes issue #5611. Thanks Kirk McDonald and Johannes Hoff.
........
parent 5ebe7862
...@@ -15,35 +15,32 @@ ...@@ -15,35 +15,32 @@
" Only basic settings needed to enforce the style guidelines are set. " Only basic settings needed to enforce the style guidelines are set.
" Some suggested options are listed but commented out at the end of this file. " Some suggested options are listed but commented out at the end of this file.
" Number of spaces to use for an indent.
" This will affect Ctrl-T and 'autoindent'.
" Python: 4 spaces
" C: 4 spaces
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead *.c,*.h set shiftwidth=8
au BufNewFile *.c,*.h set shiftwidth=4
" Number of spaces that a pre-existing tab is equal to. " Number of spaces that a pre-existing tab is equal to.
" For the amount of space used for a new tab use shiftwidth. " For the amount of space used for a new tab use shiftwidth.
" Python: 8
" C: 8
au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8 au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8
" Replace tabs with the equivalent number of spaces. " What to use for an indent.
" Also have an autocmd for Makefiles since they require hard tabs. " This will affect Ctrl-T and 'autoindent'.
" Python: yes " Python: 4 spaces
" C: yes " C: tabs (pre-existing files) or 4 spaces (new files)
" Makefile: no au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set expandtab au BufRead,BufNewFile *.py,*.pyw set expandtab
fu Select_c_style()
if search('^\t', 'n', 150)
set shiftwidth=8
set noexpandtab
el
set shiftwidth=4
set expandtab
en
endf
au BufRead,BufNewFile *.c,*.h call Select_c_style()
au BufRead,BufNewFile Makefile* set noexpandtab au BufRead,BufNewFile Makefile* set noexpandtab
" Use the below highlight group when displaying bad whitespace is desired " Use the below highlight group when displaying bad whitespace is desired.
highlight BadWhitespace ctermbg=red guibg=red highlight BadWhitespace ctermbg=red guibg=red
" Display tabs at the beginning of a line in Python mode as bad. " Display tabs at the beginning of a line in Python mode as bad.
" Should be done for C code, but not until all code has been moved to 4-space
" indents.
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
" Make trailing whitespace be flagged as bad. " Make trailing whitespace be flagged as bad.
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment