trasys.vim 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. " Vim syntax file
  2. " Language: TRASYS input file
  3. " Maintainer: Adrian Nagle, anagle@ball.com
  4. " Last Change: 2003 May 11
  5. " Filenames: *.inp
  6. " URL: http://www.naglenet.org/vim/syntax/trasys.vim
  7. " MAIN URL: http://www.naglenet.org/vim/
  8. " quit when a syntax file was already loaded
  9. if exists("b:current_syntax")
  10. finish
  11. endif
  12. " Force free-form fortran format
  13. let fortran_free_source=1
  14. " Load FORTRAN syntax file
  15. runtime! syntax/fortran.vim
  16. unlet b:current_syntax
  17. " Ignore case
  18. syn case ignore
  19. " Define keywords for TRASYS
  20. syn keyword trasysOptions model rsrec info maxfl nogo dmpdoc
  21. syn keyword trasysOptions rsi rti rso rto bcdou cmerg emerg
  22. syn keyword trasysOptions user1 nnmin erplot
  23. syn keyword trasysSurface icsn tx ty tz rotx roty rotz inc bcsn
  24. syn keyword trasysSurface nnx nny nnz nnax nnr nnth unnx
  25. syn keyword trasysSurface unny unnz unnax unnr unnth type idupsf
  26. syn keyword trasysSurface imagsf act active com shade bshade axmin
  27. syn keyword trasysSurface axmax zmin zmax rmin rmax thmin thmin
  28. syn keyword trasysSurface thmax alpha emiss trani trans spri sprs
  29. syn keyword trasysSurface refno posit com dupbcs dimensions
  30. syn keyword trasysSurface dimension position prop surfn
  31. syn keyword trasysSurfaceType rect trap disk cyl cone sphere parab
  32. syn keyword trasysSurfaceType box5 box6 shpero tor ogiv elem tape poly
  33. syn keyword trasysSurfaceArgs ff di top bottom in out both no only
  34. syn keyword trasysArgs fig smn nodea zero only ir sol
  35. syn keyword trasysArgs both wband stepn initl
  36. syn keyword trasysOperations orbgen build
  37. "syn keyword trasysSubRoutine call
  38. syn keyword trasysSubRoutine chgblk ndata ndatas odata odatas
  39. syn keyword trasysSubRoutine pldta ffdata cmdata adsurf rbdata
  40. syn keyword trasysSubRoutine rtdata pffshd orbit1 orbit2 orient
  41. syn keyword trasysSubRoutine didt1 didt1s didt2 didt2s spin
  42. syn keyword trasysSubRoutine spinav dicomp distab drdata gbdata
  43. syn keyword trasysSubRoutine gbaprx rkdata rcdata aqdata stfaq
  44. syn keyword trasysSubRoutine qodata qoinit modar modpr modtr
  45. syn keyword trasysSubRoutine modprs modshd moddat rstoff rston
  46. syn keyword trasysSubRoutine rsmerg ffread diread ffusr1 diusr1
  47. syn keyword trasysSubRoutine surfp didt3 didt3s romain stfrc
  48. syn keyword trasysSubRoutine rornt rocstr romove flxdata title
  49. syn keyword trassyPrcsrSegm nplot oplot plot cmcal ffcal rbcal
  50. syn keyword trassyPrcsrSegm rtcal dical drcal sfcal gbcal rccal
  51. syn keyword trassyPrcsrSegm rkcal aqcal qocal
  52. " Define matches for TRASYS
  53. syn match trasysOptions "list source"
  54. syn match trasysOptions "save source"
  55. syn match trasysOptions "no print"
  56. "syn match trasysSurface "^K *.* [^$]"
  57. "syn match trasysSurface "^D *[0-9]*\.[0-9]\+"
  58. "syn match trasysSurface "^I *.*[0-9]\+\.\="
  59. "syn match trasysSurface "^N *[0-9]\+"
  60. "syn match trasysSurface "^M *[a-z[A-Z0-9]\+"
  61. "syn match trasysSurface "^B[C][S] *[a-zA-Z0-9]*"
  62. "syn match trasysSurface "^S *SURFN.*[0-9]"
  63. syn match trasysSurface "P[0-9]* *="he=e-1
  64. syn match trasysIdentifier "^L "he=e-1
  65. syn match trasysIdentifier "^K "he=e-1
  66. syn match trasysIdentifier "^D "he=e-1
  67. syn match trasysIdentifier "^I "he=e-1
  68. syn match trasysIdentifier "^N "he=e-1
  69. syn match trasysIdentifier "^M "he=e-1
  70. syn match trasysIdentifier "^B[C][S]"
  71. syn match trasysIdentifier "^S "he=e-1
  72. syn match trasysComment "^C.*$"
  73. syn match trasysComment "^R.*$"
  74. syn match trasysComment "\$.*$"
  75. syn match trasysHeader "^header[^,]*"
  76. syn match trasysMacro "^FAC"
  77. syn match trasysInteger "-\=\<[0-9]*\>"
  78. syn match trasysFloat "-\=\<[0-9]*\.[0-9]*"
  79. syn match trasysScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
  80. syn match trasysBlank "' \+'"hs=s+1,he=e-1
  81. syn match trasysEndData "^END OF DATA"
  82. if exists("thermal_todo")
  83. execute 'syn match trasysTodo ' . '"^'.thermal_todo.'.*$"'
  84. else
  85. syn match trasysTodo "^?.*$"
  86. endif
  87. " Define regions for TRASYS
  88. syn region trasysComment matchgroup=trasysHeader start="^HEADER DOCUMENTATION DATA" end="^HEADER[^,]*"
  89. " Define synchronizing patterns for TRASYS
  90. syn sync maxlines=500
  91. syn sync match trasysSync grouphere trasysComment "^HEADER DOCUMENTATION DATA"
  92. " Define the default highlighting
  93. " Only when an item doesn't have highlighting yet
  94. hi def link trasysOptions Special
  95. hi def link trasysSurface Special
  96. hi def link trasysSurfaceType Constant
  97. hi def link trasysSurfaceArgs Constant
  98. hi def link trasysArgs Constant
  99. hi def link trasysOperations Statement
  100. hi def link trasysSubRoutine Statement
  101. hi def link trassyPrcsrSegm PreProc
  102. hi def link trasysIdentifier Identifier
  103. hi def link trasysComment Comment
  104. hi def link trasysHeader Typedef
  105. hi def link trasysMacro Macro
  106. hi def link trasysInteger Number
  107. hi def link trasysFloat Float
  108. hi def link trasysScientific Float
  109. hi def link trasysBlank SpecialChar
  110. hi def link trasysEndData Macro
  111. hi def link trasysTodo Todo
  112. let b:current_syntax = "trasys"
  113. " vim: ts=8 sw=2