passwd.vim 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. " Vim syntax file
  2. " Language: passwd(5) password file
  3. " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision: 2006-10-03
  5. if exists("b:current_syntax")
  6. finish
  7. endif
  8. let s:cpo_save = &cpo
  9. set cpo&vim
  10. syn match passwdBegin display '^' nextgroup=passwdAccount
  11. syn match passwdAccount contained display '[^:]\+'
  12. \ nextgroup=passwdPasswordColon
  13. syn match passwdPasswordColon contained display ':'
  14. \ nextgroup=passwdPassword,passwdShadow
  15. syn match passwdPassword contained display '[^:]\+'
  16. \ nextgroup=passwdUIDColon
  17. syn match passwdShadow contained display '[x*!]'
  18. \ nextgroup=passwdUIDColon
  19. syn match passwdUIDColon contained display ':' nextgroup=passwdUID
  20. syn match passwdUID contained display '\d\{0,10}'
  21. \ nextgroup=passwdGIDColon
  22. syn match passwdGIDColon contained display ':' nextgroup=passwdGID
  23. syn match passwdGID contained display '\d\{0,10}'
  24. \ nextgroup=passwdGecosColon
  25. syn match passwdGecosColon contained display ':' nextgroup=passwdGecos
  26. syn match passwdGecos contained display '[^:]*'
  27. \ nextgroup=passwdDirColon
  28. syn match passwdDirColon contained display ':' nextgroup=passwdDir
  29. syn match passwdDir contained display '/[^:]*'
  30. \ nextgroup=passwdShellColon
  31. syn match passwdShellColon contained display ':'
  32. \ nextgroup=passwdShell
  33. syn match passwdShell contained display '.*'
  34. hi def link passwdColon Normal
  35. hi def link passwdAccount Identifier
  36. hi def link passwdPasswordColon passwdColon
  37. hi def link passwdPassword Number
  38. hi def link passwdShadow Special
  39. hi def link passwdUIDColon passwdColon
  40. hi def link passwdUID Number
  41. hi def link passwdGIDColon passwdColon
  42. hi def link passwdGID Number
  43. hi def link passwdGecosColon passwdColon
  44. hi def link passwdGecos Comment
  45. hi def link passwdDirColon passwdColon
  46. hi def link passwdDir Type
  47. hi def link passwdShellColon passwdColon
  48. hi def link passwdShell Operator
  49. let b:current_syntax = "passwd"
  50. let &cpo = s:cpo_save
  51. unlet s:cpo_save