Close list item tag, to conform with the style in this file. It's optional
[oota-llvm.git] / utils / vim / vimrc
index 4be2b7f7934bd7c58daad5ee0beb801384d53130..7b1fd872b274c9cae5916ece46e5b18997dc873f 100644 (file)
@@ -22,9 +22,16 @@ set expandtab
 highlight WhitespaceEOL ctermbg=DarkYellow guibg=DarkYellow
 match WhitespaceEOL /\s\+$/
 
+" Enable filetype detection
+filetype on
+
 " Optional
 " C/C++ programming helpers
-set cindent
+augroup csrc
+  au!
+  autocmd FileType *      set nocindent smartindent
+  autocmd FileType c,cpp  set cindent
+augroup END
 " Set a few indentation parameters. See the VIM help for cinoptions-values for
 " details.  These aren't absolute rules; they're just an approximation of
 " common style in LLVM source.
@@ -35,9 +42,6 @@ set smarttab
 " Highlight syntax in programming languages
 syntax on
 
-" Enable filetype detection
-filetype on
-
 " LLVM Makefiles can have names such as Makefile.rules or TEST.nightly.Makefile,
 " so it's important to categorize them as such.
 augroup filetype
@@ -50,7 +54,19 @@ autocmd FileType make set noexpandtab
 " Useful macros for cleaning up code to conform to LLVM coding guidelines
 
 " Delete trailing whitespace and tabs at the end of each line
-command! DeleteTrailingWs :%s/[\ \t]\+$//
+command! DeleteTrailingWs :%s/\s\+$//
 
 " Convert all tab characters to two spaces
 command! Untab :%s/\t/  /g
+
+" Enable syntax highlighting for LLVM files. To use, copy
+" utils/vim/llvm.vim to ~/.vim/syntax .
+augroup filetype
+  au! BufRead,BufNewFile *.ll     set filetype=llvm
+augroup END
+
+" Enable syntax highlighting for tablegen files. To use, copy
+" utils/vim/tablegen.vim to ~/.vim/syntax .
+augroup filetype
+  au! BufRead,BufNewFile *.td     set filetype=tablegen
+augroup END