neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

tak.vim (2920B)


      1 " Vim syntax file
      2 " Language:     TAK2, TAK3, TAK2000 thermal modeling input file
      3 " Maintainer:   Adrian Nagle, anagle@ball.com
      4 " Last Change:  2003 May 11
      5 " Filenames:    *.tak
      6 " URL:		http://www.naglenet.org/vim/syntax/tak.vim
      7 " MAIN URL:     http://www.naglenet.org/vim/
      8 
      9 
     10 
     11 " quit when a syntax file was already loaded
     12 if exists("b:current_syntax")
     13  finish
     14 endif
     15 
     16 
     17 
     18 " Ignore case
     19 syn case ignore
     20 
     21 
     22 
     23 "
     24 "
     25 " Begin syntax definitions for tak input file.
     26 "
     27 
     28 " Force free-form fortran format
     29 let fortran_free_source=1
     30 
     31 " Load FORTRAN syntax file
     32 runtime! syntax/fortran.vim
     33 unlet b:current_syntax
     34 
     35 
     36 
     37 " Define keywords for TAK and TAKOUT
     38 syn keyword takOptions  AUTODAMP CPRINT CSGDUMP GPRINT HPRINT LODTMP
     39 syn keyword takOptions  LOGIC LPRINT NCVPRINT PLOTQ QPRINT QDUMP
     40 syn keyword takOptions  SUMMARY SOLRTN UID DICTIONARIES
     41 
     42 syn keyword takRoutine  SSITER FWDWRD FWDBCK BCKWRD
     43 
     44 syn keyword takControl  ABSZRO BACKUP DAMP DTIMEI DTIMEL DTIMEH IFC
     45 syn keyword takControl  MAXTEMP NLOOPS NLOOPT NODELIST OUTPUT PLOT
     46 syn keyword takControl  SCALE SIGMA SSCRIT TIMEND TIMEN TIMEO TRCRIT
     47 syn keyword takControl  PLOT
     48 
     49 syn keyword takSolids   PLATE CYL
     50 syn keyword takSolidsArg   ID MATNAM NTYPE TEMP XL YL ZL ISTRN ISTRG NNX
     51 syn keyword takSolidsArg   NNY NNZ INCX INCY INCZ IAK IAC DIFF ARITH BOUN
     52 syn keyword takSolidsArg   RMIN RMAX AXMAX NNR NNTHETA INCR INCTHETA END
     53 
     54 syn case ignore
     55 
     56 syn keyword takMacro    fac pstart pstop
     57 syn keyword takMacro    takcommon fstart fstop
     58 
     59 syn keyword takIdentifier  flq flx gen ncv per sim siv stf stv tvd tvs
     60 syn keyword takIdentifier  tvt pro thm
     61 
     62 
     63 
     64 " Define matches for TAK
     65 syn match  takFortran     "^F[0-9 ]"me=e-1
     66 syn match  takMotran      "^M[0-9 ]"me=e-1
     67 
     68 syn match  takComment     "^C.*$"
     69 syn match  takComment     "^R.*$"
     70 syn match  takComment     "\$.*$"
     71 
     72 syn match  takHeader      "^header[^,]*"
     73 
     74 syn match  takIncludeFile "include \+[^ ]\+"hs=s+8 contains=fortranInclude
     75 
     76 syn match  takInteger     "-\=\<[0-9]*\>"
     77 syn match  takFloat       "-\=\<[0-9]*\.[0-9]*"
     78 syn match  takScientific  "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>"
     79 
     80 syn match  takEndData     "END OF DATA"
     81 
     82 if exists("thermal_todo")
     83  execute 'syn match  takTodo ' . '"^'.thermal_todo.'.*$"'
     84 else
     85  syn match  takTodo	    "^?.*$"
     86 endif
     87 
     88 
     89 
     90 " Define the default highlighting
     91 " Only when an item doesn't have highlighting yet
     92 
     93 hi def link takMacro		Macro
     94 hi def link takOptions		Special
     95 hi def link takRoutine		Type
     96 hi def link takControl		Special
     97 hi def link takSolids		Special
     98 hi def link takSolidsArg		Statement
     99 hi def link takIdentifier		Identifier
    100 
    101 hi def link takFortran		PreProc
    102 hi def link takMotran		PreProc
    103 
    104 hi def link takComment		Comment
    105 hi def link takHeader		Typedef
    106 hi def link takIncludeFile		Type
    107 hi def link takInteger		Number
    108 hi def link takFloat		Float
    109 hi def link takScientific		Float
    110 
    111 hi def link takEndData		Macro
    112 
    113 hi def link takTodo		Todo
    114 
    115 
    116 
    117 let b:current_syntax = "tak"
    118 
    119 " vim: ts=8 sw=2