home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / ftplugin / c.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  2.0 KB  |  65 lines

  1. " Vim filetype plugin file
  2. " Language:    C
  3. " Maintainer:    Bram Moolenaar <Bram@vim.org>
  4. " Last Change:    2011 Aug 04
  5.  
  6. " Only do this when not done yet for this buffer
  7. if exists("b:did_ftplugin")
  8.   finish
  9. endif
  10.  
  11. " Don't load another plugin for this buffer
  12. let b:did_ftplugin = 1
  13.  
  14. " Using line continuation here.
  15. let s:cpo_save = &cpo
  16. set cpo-=C
  17.  
  18. let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif"
  19.  
  20. " Set 'formatoptions' to break comment lines but not other lines,
  21. " and insert the comment leader when hitting <CR> or using "o".
  22. setlocal fo-=t fo+=croql
  23.  
  24. " Set completion with CTRL-X CTRL-O to autoloaded function.
  25. if exists('&ofu')
  26.   setlocal ofu=ccomplete#Complete
  27. endif
  28.  
  29. " Set 'comments' to format dashed lists in comments.
  30. setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
  31.  
  32. " In VMS C keywords contain '$' characters.
  33. if has("vms")
  34.   setlocal iskeyword+=$
  35. endif
  36.  
  37. " When the matchit plugin is loaded, this makes the % command skip parens and
  38. " braces in comments.
  39. let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
  40. let b:match_skip = 's:comment\|string\|character'
  41.  
  42. " Win32 can filter files in the browse dialog
  43. if has("gui_win32") && !exists("b:browsefilter")
  44.   if &ft == "cpp"
  45.     let b:browsefilter = "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
  46.       \ "C Header Files (*.h)\t*.h\n" .
  47.       \ "C Source Files (*.c)\t*.c\n" .
  48.       \ "All Files (*.*)\t*.*\n"
  49.   elseif &ft == "ch"
  50.     let b:browsefilter = "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" .
  51.       \ "C Header Files (*.h)\t*.h\n" .
  52.       \ "C Source Files (*.c)\t*.c\n" .
  53.       \ "All Files (*.*)\t*.*\n"
  54.   else
  55.     let b:browsefilter = "C Source Files (*.c)\t*.c\n" .
  56.       \ "C Header Files (*.h)\t*.h\n" .
  57.       \ "Ch Source Files (*.ch *.chf)\t*.ch;*.chf\n" .
  58.       \ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
  59.       \ "All Files (*.*)\t*.*\n"
  60.   endif
  61. endif
  62.  
  63. let &cpo = s:cpo_save
  64. unlet s:cpo_save
  65.