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 / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / tsscl.vim < prev    next >
Encoding:
Text File  |  2003-05-11  |  5.4 KB  |  218 lines

  1. " Vim syntax file
  2. " Language:     TSS (Thermal Synthesizer System) Command Line
  3. " Maintainer:   Adrian Nagle, anagle@ball.com
  4. " Last Change:  2003 May 11
  5. " Filenames:    *.tsscl
  6. " URL:        http://www.naglenet.org/vim/syntax/tsscl.vim
  7. " MAIN URL:     http://www.naglenet.org/vim/
  8.  
  9.  
  10.  
  11. " For version 5.x: Clear all syntax items
  12. " For version 6.x: Quit when a syntax file was already loaded
  13. if version < 600
  14.   syntax clear
  15. elseif exists("b:current_syntax")
  16.   finish
  17. endif
  18.  
  19.  
  20.  
  21. " Ignore case
  22. syn case ignore
  23.  
  24.  
  25.  
  26. "
  27. "
  28. " Begin syntax definitions for tss geomtery file.
  29. "
  30.  
  31. " Load TSS geometry syntax file
  32. "source $VIM/myvim/tssgm.vim
  33. "source $VIMRUNTIME/syntax/c.vim
  34.  
  35. " Define keywords for TSS
  36. syn keyword tssclCommand  begin radk list heatrates attr draw
  37.  
  38. syn keyword tssclKeyword   cells rays error nodes levels objects cpu
  39. syn keyword tssclKeyword   units length positions energy time unit solar
  40. syn keyword tssclKeyword   solar_constant albedo planet_power
  41.  
  42. syn keyword tssclEnd    exit
  43.  
  44. syn keyword tssclUnits  cm feet meters inches
  45. syn keyword tssclUnits  Celsius Kelvin Fahrenheit Rankine
  46.  
  47.  
  48.  
  49. " Define matches for TSS
  50. syn match  tssclString    /"[^"]\+"/ contains=ALLBUT,tssInteger,tssclKeyword,tssclCommand,tssclEnd,tssclUnits
  51.  
  52. syn match  tssclComment     "#.*$"
  53.  
  54. "  rational and logical operators
  55. "  <       Less than
  56. "  >       Greater than
  57. "  <=      Less than or equal
  58. "  >=      Greater than or equal
  59. "  == or = Equal to
  60. "  !=      Not equal to
  61. "  && or & Logical AND
  62. "  || or | Logical OR
  63. "  !       Logical NOT
  64. "
  65. " algebraic operators:
  66. "  ^ or ** Exponentation
  67. "  *       Multiplication
  68. "  /       Division
  69. "  %       Remainder
  70. "  +       Addition
  71. "  -       Subtraction
  72. "
  73. syn match  tssclOper      "||\||\|&&\|&\|!=\|!\|>=\|<=\|>\|<\|+\|-\|^\|\*\*\|\*\|/\|%\|==\|=\|\." skipwhite
  74.  
  75. " CLI Directive Commands, with arguments
  76. "
  77. " BASIC COMMAND LIST
  78. " *ADD input_source
  79. " *ARITHMETIC { [ON] | OFF }
  80. " *CLOSE unit_number
  81. " *CPU
  82. " *DEFINE
  83. " *ECHO[/qualifiers] { [ON] | OFF }
  84. " *ELSE [IF { 0 | 1 } ]
  85. " *END { IF | WHILE }
  86. " *EXIT
  87. " *IF { 0 | 1 }
  88. " *LIST/n list variable
  89. " *OPEN[/r | /r+ | /w | /w+ ] unit_number file_name
  90. " *PROMPT prompt_string sybol_name
  91. " *READ/unit=unit_number[/LOCAL | /GLOBAL ] sym1 [sym2, [sym3 ...]]
  92. " *REWIND
  93. " *STOP
  94. " *STRCMP string_1 string_2 difference
  95. " *SYSTEM command
  96. " *UNDEFINE[/LOCAL][/GLOBAL] symbol_name
  97. " *WHILE { 0 | 1 }
  98. " *WRITE[/unit=unit_number] output text
  99. "
  100. syn match  tssclDirective "\*ADD"
  101. syn match  tssclDirective "\*ARITHMETIC \+\(ON\|OFF\)"
  102. syn match  tssclDirective "\*CLOSE"
  103. syn match  tssclDirective "\*CPU"
  104. syn match  tssclDirective "\*DEFINE"
  105. syn match  tssclDirective "\*ECHO"
  106. syn match  tssclConditional "\*ELSE"
  107. syn match  tssclConditional "\*END \+\(IF\|WHILE\)"
  108. syn match  tssclDirective "\*EXIT"
  109. syn match  tssclConditional "\*IF"
  110. syn match  tssclDirective "\*LIST"
  111. syn match  tssclDirective "\*OPEN"
  112. syn match  tssclDirective "\*PROMPT"
  113. syn match  tssclDirective "\*READ"
  114. syn match  tssclDirective "\*REWIND"
  115. syn match  tssclDirective "\*STOP"
  116. syn match  tssclDirective "\*STRCMP"
  117. syn match  tssclDirective "\*SYSTEM"
  118. syn match  tssclDirective "\*UNDEFINE"
  119. syn match  tssclConditional "\*WHILE"
  120. syn match  tssclDirective "\*WRITE"
  121.  
  122. syn match  tssclContChar  "-$"
  123.  
  124. " C library functoins
  125. " Bessel functions (jn, yn)
  126. " Error and complementary error fuctions (erf, erfc)
  127. " Exponential functions (exp)
  128. " Logrithm (log, log10)
  129. " Power (pow)
  130. " Square root (sqrt)
  131. " Floor (floor)
  132. " Ceiling (ceil)
  133. " Floating point remainder (fmod)
  134. " Floating point absolute value (fabs)
  135. " Gamma (gamma)
  136. " Euclidean distance function (hypot)
  137. " Hperbolic functions (sinh, cosh, tanh)
  138. " Trigometric functions in radians (sin, cos, tan, asin, acos, atan, atan2)
  139. " Trigometric functions in degrees (sind, cosd, tand, asind, acosd, atand,
  140. "    atan2d)
  141. "
  142. " local varialbles: cl_arg1, cl_arg2, etc. (cl_arg is an array of arguments)
  143. " cl_args is the number of arguments
  144. "
  145. "
  146. " I/O: *PROMPT, *WRITE, *READ
  147. "
  148. " Conditional branching:
  149. " IF, ELSE IF, END
  150. " *IF value       *IF I==10
  151. " *ELSE IF value  *ELSE IF I<10
  152. " *ELSE          *ELSE
  153. " *ENDIF      *ENDIF
  154. "
  155. "
  156. " Iterative looping:
  157. " WHILE
  158. " *WHILE test
  159. " .....
  160. " *END WHILE
  161. "
  162. "
  163. " EXAMPLE:
  164. " *DEFINE I = 1
  165. " *WHILE (I <= 10)
  166. "    *WRITE I = 'I'
  167. "    *DEFINE I = (I + 1)
  168. " *END WHILE
  169. "
  170.  
  171. syn match  tssclQualifier "/[^/ ]\+"hs=s+1
  172. syn match  tssclSymbol    "'\S\+'"
  173. "syn match  tssclSymbol2   " \S\+ " contained
  174.  
  175. syn match  tssclInteger     "-\=\<[0-9]*\>"
  176. syn match  tssclFloat       "-\=\<[0-9]*\.[0-9]*"
  177. syn match  tssclScientific  "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
  178.  
  179.  
  180.  
  181. " Define the default highlighting
  182. " For version 5.7 and earlier: only when not done already
  183. " For version 5.8 and later: only when an item doesn't have highlighting yet
  184. if version >= 508 || !exists("did_tsscl_syntax_inits")
  185.   if version < 508
  186.     let did_tsscl_syntax_inits = 1
  187.     command -nargs=+ HiLink hi link <args>
  188.   else
  189.     command -nargs=+ HiLink hi def link <args>
  190.   endif
  191.  
  192.   HiLink tssclCommand        Statement
  193.   HiLink tssclKeyword        Special
  194.   HiLink tssclEnd        Macro
  195.   HiLink tssclUnits        Special
  196.  
  197.   HiLink tssclComment        Comment
  198.   HiLink tssclDirective        Statement
  199.   HiLink tssclConditional    Conditional
  200.   HiLink tssclContChar        Macro
  201.   HiLink tssclQualifier        Typedef
  202.   HiLink tssclSymbol        Identifier
  203.   HiLink tssclSymbol2        Symbol
  204.   HiLink tssclString        String
  205.   HiLink tssclOper        Operator
  206.  
  207.   HiLink tssclInteger        Number
  208.   HiLink tssclFloat        Number
  209.   HiLink tssclScientific    Number
  210.  
  211.   delcommand HiLink
  212. endif
  213.  
  214.  
  215. let b:current_syntax = "tsscl"
  216.  
  217. " vim: ts=8 sw=2
  218.