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 / mac / vim55rt.sit / runtime / syntax / make.vim < prev    next >
Encoding:
Text File  |  1999-09-25  |  4.2 KB  |  119 lines  |  [TEXT/VIM!]

  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:    1999 June 16
  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\>\|endef\>\|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. " Microsoft Makefile specials
  22. syn case ignore
  23. syn match makeInclude    "^!\s*include"
  24. syn match makePreCondit "!\s*\(cmdswitches\>\|error\>\|message\>\|include\>\|if\>\|ifdef\>\|ifndef\>\|else\>\|elseif\>\|else if\>\|else\s*ifdef\>\|else\s*ifndef\>\|endif\>\|undef\>\)"
  25. syn case match
  26.  
  27.  
  28. " make targets
  29. syn match makeSpecTarget    "^\.SUFFIXES"
  30. syn match makeSpecTarget    "^\.PHONY"
  31. syn match makeSpecTarget    "^\.DEFAULT"
  32. syn match makeSpecTarget    "^\.PRECIOUS"
  33. syn match makeSpecTarget    "^\.IGNORE"
  34. syn match makeSpecTarget    "^\.SILENT"
  35. syn match makeSpecTarget    "^\.EXPORT_ALL_VARIABLES"
  36. syn match makeSpecTarget    "^\.KEEP_STATE"
  37. syn match makeImplicit            "^\.\w\+\.\w\+\s*:[^=]"me=e-2
  38. syn match makeImplicit            "^\.\w\+\.\w\+\s*:$"me=e-1
  39. syn match makeTarget        "^\w[A-Za-z0-9_./\t -]*:[^=]"me=e-2
  40. syn match makeTarget        "^\w[A-Za-z0-9_./\t -]*:$"me=e-1
  41.  
  42. " Statements / Functions (GNU make)
  43. syn match makeStatement contained "(subst"ms=s+1
  44. syn match makeStatement contained "(addprefix"ms=s+1
  45. syn match makeStatement contained "(addsuffix"ms=s+1
  46. syn match makeStatement contained "(basename"ms=s+1
  47. syn match makeStatement contained "(dir"ms=s+1
  48. syn match makeStatement contained "(filter"ms=s+1
  49. syn match makeStatement contained "(filter-out"ms=s+1
  50. syn match makeStatement contained "(findstring"ms=s+1
  51. syn match makeStatement contained "(firstword"ms=s+1
  52. syn match makeStatement contained "(foreach"ms=s+1
  53. syn match makeStatement contained "(join"ms=s+1
  54. syn match makeStatement contained "(notdir"ms=s+1
  55. syn match makeStatement contained "(origin"ms=s+1
  56. syn match makeStatement contained "(patsubst"ms=s+1
  57. syn match makeStatement contained "(shell"ms=s+1
  58. syn match makeStatement contained "(sort"ms=s+1
  59. syn match makeStatement contained "(strip"ms=s+1
  60. syn match makeStatement contained "(suffix"ms=s+1
  61. syn match makeStatement contained "(wildcard"ms=s+1
  62. syn match makeStatement contained "(word"ms=s+1
  63. syn match makeStatement contained "(words"ms=s+1
  64.  
  65. " some special characters
  66. syn match makeSpecial    "^\s*[@-]\+"
  67. syn match makeNextLine    "\\$"
  68.  
  69. " identifiers
  70. syn match makeIdent    "\$([^)]*)" contains=makeStatement
  71. syn match makeIdent    "\$\$\w*"
  72. syn match makeIdent    "\$[^({]"
  73. syn match makeIdent    "\${[^}]*}"
  74. syn match makeIdent     "^\s*\a\w*\s*[:+?!]="me=e-2
  75. syn match makeIdent    "^\s*\a\w*\s*="me=e-1
  76. syn match makeIdent    "%"
  77.  
  78. " Errors
  79. syn match makeError     "^ \+\t"
  80. syn match makeError     "^ \{8\}[^ ]"me=e-1
  81. syn region makeIgnore    start="\\$" end="^." end="^$" contains=ALLBUT,makeError
  82.  
  83. " Comment
  84. syn match  makeComment    "#.*$"
  85.  
  86. " match escaped quotes and any other escaped character
  87. " except for $, as a backslash in front of a $ does
  88. " not make it a standard character, but instead it will
  89. " still act as the beginning of a variable
  90. " The escaped char is not highlightet currently
  91. syn match makeEscapedChar    "\\[^$]"
  92.  
  93.  
  94. syn region  makeDString start=+"+  skip=+\\"+  end=+"+  contains=makeIdent
  95. syn region  makeSString start=+'+  skip=+\\'+  end=+'+  contains=makeIdent
  96. syn region  makeBString start=+`+  skip=+\\`+  end=+`+  contains=makeIdent,makeSString,makeDString,makeNextLine
  97.  
  98. if !exists("did_makefile_syntax_inits")
  99.   let did_makefile_syntax_inits = 1
  100.   hi link makeNextLine    makeSpecial
  101.   hi link makeSpecTarget    Statement
  102.   hi link makeImplicit    Function
  103.   hi link makeTarget    Function
  104.   hi link makeInclude    Include
  105.   hi link makePreCondit    PreCondit
  106.   hi link makeStatement    Statement
  107.   hi link makeIdent    Identifier
  108.   hi link makeSpecial    Special
  109.   hi link makeComment    Comment
  110.   hi link makeDString    String
  111.   hi link makeSString    String
  112.   hi link makeBString    Function
  113.   hi link makeError     Error
  114. endif
  115.  
  116. let b:current_syntax = "make"
  117.  
  118. " vim: ts=8
  119.