nastran.vim 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. " Vim syntax file
  2. " Language: NASTRAN input/DMAP
  3. " Maintainer: Tom Kowalski <trk@schaefferas.com>
  4. " Last change: April 27, 2001
  5. " Thanks to the authors and maintainers of fortran.vim.
  6. " Since DMAP shares some traits with fortran, this syntax file
  7. " is based on the fortran.vim syntax file.
  8. "----------------------------------------------------------------------
  9. " quit when a syntax file was already loaded
  10. if exists("b:current_syntax")
  11. finish
  12. endif
  13. " DMAP is not case dependent
  14. syn case ignore
  15. "
  16. "--------------------DMAP SYNTAX---------------------------------------
  17. "
  18. " -------Executive Modules and Statements
  19. "
  20. syn keyword nastranDmapexecmod call dbview delete end equiv equivx exit
  21. syn keyword nastranDmapexecmod file message purge purgex return subdmap
  22. syn keyword nastranDmapType type
  23. syn keyword nastranDmapLabel go to goto
  24. syn keyword nastranDmapRepeat if else elseif endif then
  25. syn keyword nastranDmapRepeat do while
  26. syn region nastranDmapString start=+"+ end=+"+ oneline
  27. syn region nastranDmapString start=+'+ end=+'+ oneline
  28. " If you don't like initial tabs in dmap (or at all)
  29. "syn match nastranDmapIniTab "^\t.*$"
  30. "syn match nastranDmapTab "\t"
  31. " Any integer
  32. syn match nastranDmapNumber "-\=\<[0-9]\+\>"
  33. " floating point number, with dot, optional exponent
  34. syn match nastranDmapFloat "\<[0-9]\+\.[0-9]*\([edED][-+]\=[0-9]\+\)\=\>"
  35. " floating point number, starting with a dot, optional exponent
  36. syn match nastranDmapFloat "\.[0-9]\+\([edED][-+]\=[0-9]\+\)\=\>"
  37. " floating point number, without dot, with exponent
  38. syn match nastranDmapFloat "\<[0-9]\+[edED][-+]\=[0-9]\+\>"
  39. syn match nastranDmapLogical "\(true\|false\)"
  40. syn match nastranDmapPreCondit "^#define\>"
  41. syn match nastranDmapPreCondit "^#include\>"
  42. "
  43. " -------Comments may be contained in another line.
  44. "
  45. syn match nastranDmapComment "^[\$].*$"
  46. syn match nastranDmapComment "\$.*$"
  47. syn match nastranDmapComment "^[\$].*$" contained
  48. syn match nastranDmapComment "\$.*$" contained
  49. " Treat all past 72nd column as a comment. Do not work with tabs!
  50. " Breaks down when 72-73rd column is in another match (eg number or keyword)
  51. syn match nastranDmapComment "^.\{-72}.*$"lc=72 contained
  52. "
  53. " -------Utility Modules
  54. "
  55. syn keyword nastranDmapUtilmod append copy dbc dbdict dbdir dmin drms1
  56. syn keyword nastranDmapUtilmod dtiin eltprt ifp ifp1 inputt2 inputt4 lamx
  57. syn keyword nastranDmapUtilmod matgen matgpr matmod matpch matprn matprt
  58. syn keyword nastranDmapUtilmod modtrl mtrxin ofp output2 output4 param
  59. syn keyword nastranDmapUtilmod paraml paramr prtparam pvt scalar
  60. syn keyword nastranDmapUtilmod seqp setval tabedit tabprt tabpt vec vecplot
  61. syn keyword nastranDmapUtilmod xsort
  62. "
  63. " -------Matrix Modules
  64. "
  65. syn keyword nastranDmapMatmod add add5 cead dcmp decomp diagonal fbs merge
  66. syn keyword nastranDmapMatmod mpyad norm read reigl smpyad solve solvit
  67. syn keyword nastranDmapMatmod trnsp umerge umerge1 upartn dmiin partn
  68. syn region nastranDmapMatmod start=+^ *[Dd][Mm][Ii]+ end=+[\/]+
  69. "
  70. " -------Implicit Functions
  71. "
  72. syn keyword nastranDmapImplicit abs acos acosh andl asin asinh atan atan2
  73. syn keyword nastranDmapImplicit atanh atanh2 char clen clock cmplx concat1
  74. syn keyword nastranDmapImplicit concat2 concat3 conjg cos cosh dble diagoff
  75. syn keyword nastranDmapImplicit diagon dim dlablank dlxblank dprod eqvl exp
  76. syn keyword nastranDmapImplicit getdiag getsys ichar imag impl index indexstr
  77. syn keyword nastranDmapImplicit int itol leq lge lgt lle llt lne log log10
  78. syn keyword nastranDmapImplicit logx ltoi mcgetsys mcputsys max min mod neqvl
  79. syn keyword nastranDmapImplicit nint noop normal notl numeq numge numgt numle
  80. syn keyword nastranDmapImplicit numlt numne orl pi precison putdiag putsys
  81. syn keyword nastranDmapImplicit rand rdiagon real rtimtogo setcore sign sin
  82. syn keyword nastranDmapImplicit sinh sngl sprod sqrt substrin tan tanh
  83. syn keyword nastranDmapImplicit timetogo wlen xorl
  84. "
  85. "
  86. "--------------------INPUT FILE SYNTAX---------------------------------------
  87. "
  88. "
  89. " -------Nastran Statement
  90. "
  91. syn keyword nastranNastranCard nastran
  92. "
  93. " -------The File Management Section (FMS)
  94. "
  95. syn region nastranFMSCard start=+^ *[Aa][Cc][Qq][Uu][Ii]+ end=+$+ oneline
  96. syn region nastranFMSCard start=+^ *[Aa][Ss][Ss][Ii][Gg]+ end=+$+ oneline
  97. syn region nastranFMSCard start=+^ *[Cc][oO][Nn][Nn][Ee]+ end=+$+ oneline
  98. syn region nastranFMSCard start=+^ *[Dd][Bb][Cc][Ll][Ee]+ end=+$+ oneline
  99. syn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Cc]+ end=+$+ oneline
  100. syn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Rr]+ end=+$+ oneline
  101. syn region nastranFMSCard start=+^ *[Dd][Bb][Ff][Ii][Xx]+ end=+$+ oneline
  102. syn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Aa]+ end=+$+ oneline
  103. syn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Cc]+ end=+$+ oneline
  104. syn region nastranFMSCard start=+^ *[Dd][Bb][Ss][Ee][Tt]+ end=+$+ oneline
  105. syn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Nn][Ll]+ end=+$+ oneline
  106. syn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Pp][Dd]+ end=+$+ oneline
  107. syn region nastranFMSCard start=+^ *[Dd][Ee][Ff][Ii][Nn]+ end=+$+ oneline
  108. syn region nastranFMSCard start=+^ *[Ee][Nn][Dd][Jj][Oo]+ end=+$+ oneline
  109. syn region nastranFMSCard start=+^ *[Ee][Xx][Pp][Aa][Nn]+ end=+$+ oneline
  110. syn region nastranFMSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+ oneline
  111. syn region nastranFMSCard start=+^ *[Ii][Nn][Ii][Tt]+ end=+$+ oneline
  112. syn region nastranFMSCard start=+^ *[Pp][Rr][Oo][Jj]+ end=+$+ oneline
  113. syn region nastranFMSCard start=+^ *[Rr][Ee][Ss][Tt]+ end=+$+ oneline
  114. syn match nastranDmapUtilmod "^ *[Rr][Ee][Ss][Tt][Aa].*,.*," contains=nastranDmapComment
  115. "
  116. " -------Executive Control Section
  117. "
  118. syn region nastranECSCard start=+^ *[Aa][Ll][Tt][Ee][Rr]+ end=+$+ oneline
  119. syn region nastranECSCard start=+^ *[Aa][Pp][Pp]+ end=+$+ oneline
  120. syn region nastranECSCard start=+^ *[Cc][Oo][Mm][Pp][Ii]+ end=+$+ oneline
  121. syn region nastranECSCard start=+^ *[Dd][Ii][Aa][Gg] + end=+$+ oneline
  122. syn region nastranECSCard start=+^ *[Ee][Cc][Hh][Oo]+ end=+$+ oneline
  123. syn region nastranECSCard start=+^ *[Ee][Nn][Dd][Aa][Ll]+ end=+$+ oneline
  124. syn region nastranECSCard start=+^ *[Ii][Dd]+ end=+$+ oneline
  125. syn region nastranECSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+ oneline
  126. syn region nastranECSCard start=+^ *[Ll][Ii][Nn][Kk]+ end=+$+ oneline
  127. syn region nastranECSCard start=+^ *[Mm][Aa][Ll][Tt][Ee]+ end=+$+ oneline
  128. syn region nastranECSCard start=+^ *[Ss][Oo][Ll] + end=+$+ oneline
  129. syn region nastranECSCard start=+^ *[Tt][Ii][Mm][Ee]+ end=+$+ oneline
  130. "
  131. " -------Delimiters
  132. "
  133. syn match nastranDelimiter "[Cc][Ee][Nn][Dd]" contained
  134. syn match nastranDelimiter "[Bb][Ee][Gg][Ii][Nn]" contained
  135. syn match nastranDelimiter " *[Bb][Uu][Ll][Kk]" contained
  136. syn match nastranDelimiter "[Ee][Nn][Dd] *[dD][Aa][Tt][Aa]" contained
  137. "
  138. " -------Case Control section
  139. "
  140. syn region nastranCC start=+^ *[Cc][Ee][Nn][Dd]+ end=+^ *[Bb][Ee][Gg][Ii][Nn]+ contains=nastranDelimiter,nastranBulkData,nastranDmapComment
  141. "
  142. " -------Bulk Data section
  143. "
  144. syn region nastranBulkData start=+ *[Bb][Uu][Ll][Kk] *$+ end=+^ [Ee][Nn][Dd] *[Dd]+ contains=nastranDelimiter,nastranDmapComment
  145. "
  146. " -------The following cards may appear in multiple sections of the file
  147. "
  148. syn keyword nastranUtilCard ECHOON ECHOOFF INCLUDE PARAM
  149. " The default methods for highlighting. Can be overridden later
  150. hi def link nastranDmapexecmod Statement
  151. hi def link nastranDmapType Type
  152. hi def link nastranDmapPreCondit Error
  153. hi def link nastranDmapUtilmod PreProc
  154. hi def link nastranDmapMatmod nastranDmapUtilmod
  155. hi def link nastranDmapString String
  156. hi def link nastranDmapNumber Constant
  157. hi def link nastranDmapFloat nastranDmapNumber
  158. hi def link nastranDmapInitTab nastranDmapNumber
  159. hi def link nastranDmapTab nastranDmapNumber
  160. hi def link nastranDmapLogical nastranDmapExecmod
  161. hi def link nastranDmapImplicit Identifier
  162. hi def link nastranDmapComment Comment
  163. hi def link nastranDmapRepeat nastranDmapexecmod
  164. hi def link nastranNastranCard nastranDmapPreCondit
  165. hi def link nastranECSCard nastranDmapUtilmod
  166. hi def link nastranFMSCard nastranNastranCard
  167. hi def link nastranCC nastranDmapexecmod
  168. hi def link nastranDelimiter Special
  169. hi def link nastranBulkData nastranDmapType
  170. hi def link nastranUtilCard nastranDmapexecmod
  171. let b:current_syntax = "nastran"
  172. "EOF vim: ts=8 noet tw=120 sw=8 sts=0