updated for version 7.0001
This commit is contained in:
217
runtime/syntax/tsscl.vim
Normal file
217
runtime/syntax/tsscl.vim
Normal file
@ -0,0 +1,217 @@
|
||||
" Vim syntax file
|
||||
" Language: TSS (Thermal Synthesizer System) Command Line
|
||||
" Maintainer: Adrian Nagle, anagle@ball.com
|
||||
" Last Change: 2003 May 11
|
||||
" Filenames: *.tsscl
|
||||
" URL: http://www.naglenet.org/vim/syntax/tsscl.vim
|
||||
" MAIN URL: http://www.naglenet.org/vim/
|
||||
|
||||
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
|
||||
|
||||
" Ignore case
|
||||
syn case ignore
|
||||
|
||||
|
||||
|
||||
"
|
||||
"
|
||||
" Begin syntax definitions for tss geomtery file.
|
||||
"
|
||||
|
||||
" Load TSS geometry syntax file
|
||||
"source $VIM/myvim/tssgm.vim
|
||||
"source $VIMRUNTIME/syntax/c.vim
|
||||
|
||||
" Define keywords for TSS
|
||||
syn keyword tssclCommand begin radk list heatrates attr draw
|
||||
|
||||
syn keyword tssclKeyword cells rays error nodes levels objects cpu
|
||||
syn keyword tssclKeyword units length positions energy time unit solar
|
||||
syn keyword tssclKeyword solar_constant albedo planet_power
|
||||
|
||||
syn keyword tssclEnd exit
|
||||
|
||||
syn keyword tssclUnits cm feet meters inches
|
||||
syn keyword tssclUnits Celsius Kelvin Fahrenheit Rankine
|
||||
|
||||
|
||||
|
||||
" Define matches for TSS
|
||||
syn match tssclString /"[^"]\+"/ contains=ALLBUT,tssInteger,tssclKeyword,tssclCommand,tssclEnd,tssclUnits
|
||||
|
||||
syn match tssclComment "#.*$"
|
||||
|
||||
" rational and logical operators
|
||||
" < Less than
|
||||
" > Greater than
|
||||
" <= Less than or equal
|
||||
" >= Greater than or equal
|
||||
" == or = Equal to
|
||||
" != Not equal to
|
||||
" && or & Logical AND
|
||||
" || or | Logical OR
|
||||
" ! Logical NOT
|
||||
"
|
||||
" algebraic operators:
|
||||
" ^ or ** Exponentation
|
||||
" * Multiplication
|
||||
" / Division
|
||||
" % Remainder
|
||||
" + Addition
|
||||
" - Subtraction
|
||||
"
|
||||
syn match tssclOper "||\||\|&&\|&\|!=\|!\|>=\|<=\|>\|<\|+\|-\|^\|\*\*\|\*\|/\|%\|==\|=\|\." skipwhite
|
||||
|
||||
" CLI Directive Commands, with arguments
|
||||
"
|
||||
" BASIC COMMAND LIST
|
||||
" *ADD input_source
|
||||
" *ARITHMETIC { [ON] | OFF }
|
||||
" *CLOSE unit_number
|
||||
" *CPU
|
||||
" *DEFINE
|
||||
" *ECHO[/qualifiers] { [ON] | OFF }
|
||||
" *ELSE [IF { 0 | 1 } ]
|
||||
" *END { IF | WHILE }
|
||||
" *EXIT
|
||||
" *IF { 0 | 1 }
|
||||
" *LIST/n list variable
|
||||
" *OPEN[/r | /r+ | /w | /w+ ] unit_number file_name
|
||||
" *PROMPT prompt_string sybol_name
|
||||
" *READ/unit=unit_number[/LOCAL | /GLOBAL ] sym1 [sym2, [sym3 ...]]
|
||||
" *REWIND
|
||||
" *STOP
|
||||
" *STRCMP string_1 string_2 difference
|
||||
" *SYSTEM command
|
||||
" *UNDEFINE[/LOCAL][/GLOBAL] symbol_name
|
||||
" *WHILE { 0 | 1 }
|
||||
" *WRITE[/unit=unit_number] output text
|
||||
"
|
||||
syn match tssclDirective "\*ADD"
|
||||
syn match tssclDirective "\*ARITHMETIC \+\(ON\|OFF\)"
|
||||
syn match tssclDirective "\*CLOSE"
|
||||
syn match tssclDirective "\*CPU"
|
||||
syn match tssclDirective "\*DEFINE"
|
||||
syn match tssclDirective "\*ECHO"
|
||||
syn match tssclConditional "\*ELSE"
|
||||
syn match tssclConditional "\*END \+\(IF\|WHILE\)"
|
||||
syn match tssclDirective "\*EXIT"
|
||||
syn match tssclConditional "\*IF"
|
||||
syn match tssclDirective "\*LIST"
|
||||
syn match tssclDirective "\*OPEN"
|
||||
syn match tssclDirective "\*PROMPT"
|
||||
syn match tssclDirective "\*READ"
|
||||
syn match tssclDirective "\*REWIND"
|
||||
syn match tssclDirective "\*STOP"
|
||||
syn match tssclDirective "\*STRCMP"
|
||||
syn match tssclDirective "\*SYSTEM"
|
||||
syn match tssclDirective "\*UNDEFINE"
|
||||
syn match tssclConditional "\*WHILE"
|
||||
syn match tssclDirective "\*WRITE"
|
||||
|
||||
syn match tssclContChar "-$"
|
||||
|
||||
" C library functoins
|
||||
" Bessel functions (jn, yn)
|
||||
" Error and complementary error fuctions (erf, erfc)
|
||||
" Exponential functions (exp)
|
||||
" Logrithm (log, log10)
|
||||
" Power (pow)
|
||||
" Square root (sqrt)
|
||||
" Floor (floor)
|
||||
" Ceiling (ceil)
|
||||
" Floating point remainder (fmod)
|
||||
" Floating point absolute value (fabs)
|
||||
" Gamma (gamma)
|
||||
" Euclidean distance function (hypot)
|
||||
" Hperbolic functions (sinh, cosh, tanh)
|
||||
" Trigometric functions in radians (sin, cos, tan, asin, acos, atan, atan2)
|
||||
" Trigometric functions in degrees (sind, cosd, tand, asind, acosd, atand,
|
||||
" atan2d)
|
||||
"
|
||||
" local varialbles: cl_arg1, cl_arg2, etc. (cl_arg is an array of arguments)
|
||||
" cl_args is the number of arguments
|
||||
"
|
||||
"
|
||||
" I/O: *PROMPT, *WRITE, *READ
|
||||
"
|
||||
" Conditional branching:
|
||||
" IF, ELSE IF, END
|
||||
" *IF value *IF I==10
|
||||
" *ELSE IF value *ELSE IF I<10
|
||||
" *ELSE *ELSE
|
||||
" *ENDIF *ENDIF
|
||||
"
|
||||
"
|
||||
" Iterative looping:
|
||||
" WHILE
|
||||
" *WHILE test
|
||||
" .....
|
||||
" *END WHILE
|
||||
"
|
||||
"
|
||||
" EXAMPLE:
|
||||
" *DEFINE I = 1
|
||||
" *WHILE (I <= 10)
|
||||
" *WRITE I = 'I'
|
||||
" *DEFINE I = (I + 1)
|
||||
" *END WHILE
|
||||
"
|
||||
|
||||
syn match tssclQualifier "/[^/ ]\+"hs=s+1
|
||||
syn match tssclSymbol "'\S\+'"
|
||||
"syn match tssclSymbol2 " \S\+ " contained
|
||||
|
||||
syn match tssclInteger "-\=\<[0-9]*\>"
|
||||
syn match tssclFloat "-\=\<[0-9]*\.[0-9]*"
|
||||
syn match tssclScientific "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
|
||||
|
||||
|
||||
|
||||
" Define the default highlighting
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_tsscl_syntax_inits")
|
||||
if version < 508
|
||||
let did_tsscl_syntax_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink tssclCommand Statement
|
||||
HiLink tssclKeyword Special
|
||||
HiLink tssclEnd Macro
|
||||
HiLink tssclUnits Special
|
||||
|
||||
HiLink tssclComment Comment
|
||||
HiLink tssclDirective Statement
|
||||
HiLink tssclConditional Conditional
|
||||
HiLink tssclContChar Macro
|
||||
HiLink tssclQualifier Typedef
|
||||
HiLink tssclSymbol Identifier
|
||||
HiLink tssclSymbol2 Symbol
|
||||
HiLink tssclString String
|
||||
HiLink tssclOper Operator
|
||||
|
||||
HiLink tssclInteger Number
|
||||
HiLink tssclFloat Number
|
||||
HiLink tssclScientific Number
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
let b:current_syntax = "tsscl"
|
||||
|
||||
" vim: ts=8 sw=2
|
||||
Reference in New Issue
Block a user