home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / make.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  3.6 KB  |  103 lines

  1. " Vim syntax file
  2. " Language:    Makefile
  3. " Maintainer:    Claudio Fleiner <claudio@fleiner.com>
  4. " URL:        http://www.fleiner.com/vim/syntax/make.vim
  5. " Last change:    1998 Jul 22
  6.  
  7. " Remove any old syntax stuff hanging around
  8. syn clear
  9.  
  10. " This file makes use of the highlighting "Function", which is not defined
  11. " in the normal syntax.vim file yet.
  12.  
  13.  
  14. " some directives
  15. syn match makePreCondit    "^\s*\(ifeq\>\|else\>\|endif\>\|define\>\|ifneq\>\|ifdef\>\|ifndef\)"
  16. syn match makeInclude    "^\s*include"
  17. syn match makeStatement    "^\s*vpath"
  18. syn match makeOverride    "^\s*override"
  19. hi link makeOverride makeStatement
  20.  
  21.  
  22. " make targets
  23. syn match makeSpecTarget    "^\.SUFFIXES"
  24. syn match makeSpecTarget    "^\.PHONY"
  25. syn match makeSpecTarget    "^\.DEFAULT"
  26. syn match makeSpecTarget    "^\.PRECIOUS"
  27. syn match makeSpecTarget    "^\.IGNORE"
  28. syn match makeSpecTarget    "^\.SILENT"
  29. syn match makeSpecTarget    "^\.EXPORT_ALL_VARIABLES"
  30. syn match makeSpecTarget    "^\.KEEP_STATE"
  31. syn match makeImplicit            "^\.\w*\.\w*\s*:[^=]"me=e-2
  32. syn match makeImplicit            "^\.\w*\.\w*\s*:$"me=e-1
  33. syn match makeTarget        "^\w[A-Za-z0-9_./\t ]*:[^=]"me=e-2
  34. syn match makeTarget        "^\w[A-Za-z0-9_./\t ]*:$"me=e-1
  35.  
  36. " Statements / Functions (GNU make)
  37. syn match makeStatement contained "(subst"ms=s+1
  38. syn match makeStatement contained "(addprefix"ms=s+1
  39. syn match makeStatement contained "(addsuffix"ms=s+1
  40. syn match makeStatement contained "(basename"ms=s+1
  41. syn match makeStatement contained "(dir"ms=s+1
  42. syn match makeStatement contained "(filter"ms=s+1
  43. syn match makeStatement contained "(filter-out"ms=s+1
  44. syn match makeStatement contained "(findstring"ms=s+1
  45. syn match makeStatement contained "(firstword"ms=s+1
  46. syn match makeStatement contained "(foreach"ms=s+1
  47. syn match makeStatement contained "(join"ms=s+1
  48. syn match makeStatement contained "(notdir"ms=s+1
  49. syn match makeStatement contained "(origin"ms=s+1
  50. syn match makeStatement contained "(patsubst"ms=s+1
  51. syn match makeStatement contained "(shell"ms=s+1
  52. syn match makeStatement contained "(sort"ms=s+1
  53. syn match makeStatement contained "(strip"ms=s+1
  54. syn match makeStatement contained "(suffix"ms=s+1
  55. syn match makeStatement contained "(wildcard"ms=s+1
  56. syn match makeStatement contained "(word"ms=s+1
  57. syn match makeStatement contained "(words"ms=s+1
  58.  
  59. " some special characters
  60. syn match makeSpecial    "^\s*[@-][@-]*"
  61. syn match makeNextLine    "\\$"
  62.  
  63. " identifiers
  64. syn match makeIdent        "\$([^)]*)" contains=makeStatement
  65. syn match makeIdent        "\$\$[A-Za-z0-9_]*"
  66. syn match makeIdent        "\$[^({]"
  67. syn match makeIdent        "\${[^}]*}"
  68. syn match makeIdent        "[A-Za-z][A-Za-z0-9_]*[ \t]*[:+?!]="me=e-2
  69. syn match makeIdent        "[A-Za-z][A-Za-z0-9_]*[ \t]*="me=e-1
  70. syn match makeIdent        "%"
  71.  
  72. " Comment
  73. syn match  makeComment    "#.*$"
  74.  
  75. " match escaped quotes, $ and any other escaped character
  76. " The escaped char is not highlightet currently
  77. syn match makeEscapedChar    "\\."
  78.  
  79. syn region  makeDString      start=+"+  skip=+\\"+  end=+"+  contains=makeIdent
  80. syn region  makeSString      start=+'+  skip=+\\'+  end=+'+  contains=makeIdent
  81. syn region  makeBString      start=+`+  skip=+\\`+  end=+`+  contains=makeIdent,makeSString,makeDString,makeNextLine
  82.  
  83. if !exists("did_makefile_syntax_inits")
  84.   let did_makefile_syntax_inits = 1
  85.   hi link makeNextLine    makeSpecial
  86.   hi link makeSpecTarget    Statement
  87.   hi link makeImplicit    Function
  88.   hi link makeTarget    Function
  89.   hi link makeInclude    Include
  90.   hi link makePreCondit    PreCondit
  91.   hi link makeStatement    Statement
  92.   hi link makeIdent    Identifier
  93.   hi link makeSpecial    Special
  94.   hi link makeComment    Comment
  95.   hi link makeDString    String
  96.   hi link makeSString    String
  97.   hi link makeBString    Function
  98. endif
  99.  
  100. let b:current_syntax = "make"
  101.  
  102. " vim: ts=8
  103.