codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: NASTRAN input/DMAP3" Maintainer: Tom Kowalski <trk@schaefferas.com>4" Last change: April 27, 20015" Thanks to the authors and maintainers of fortran.vim.6" Since DMAP shares some traits with fortran, this syntax file7" is based on the fortran.vim syntax file.8"----------------------------------------------------------------------9" quit when a syntax file was already loaded10if exists("b:current_syntax")11 finish12endif13" DMAP is not case dependent14syn case ignore15"16"--------------------DMAP SYNTAX---------------------------------------17"18" -------Executive Modules and Statements19"20syn keyword nastranDmapexecmod call dbview delete end equiv equivx exit21syn keyword nastranDmapexecmod file message purge purgex return subdmap22syn keyword nastranDmapType type23syn keyword nastranDmapLabel go to goto24syn keyword nastranDmapRepeat if else elseif endif then25syn keyword nastranDmapRepeat do while26syn region nastranDmapString start=+"+ end=+"+ oneline27syn region nastranDmapString start=+'+ end=+'+ oneline28" If you don't like initial tabs in dmap (or at all)29"syn match nastranDmapIniTab "^\t.*$"30"syn match nastranDmapTab "\t"31 32" Any integer33syn match nastranDmapNumber "-\=\<[0-9]\+\>"34" floating point number, with dot, optional exponent35syn match nastranDmapFloat "\<[0-9]\+\.[0-9]*\([edED][-+]\=[0-9]\+\)\=\>"36" floating point number, starting with a dot, optional exponent37syn match nastranDmapFloat "\.[0-9]\+\([edED][-+]\=[0-9]\+\)\=\>"38" floating point number, without dot, with exponent39syn match nastranDmapFloat "\<[0-9]\+[edED][-+]\=[0-9]\+\>"40 41syn match nastranDmapLogical "\(true\|false\)"42 43syn match nastranDmapPreCondit "^#define\>"44syn match nastranDmapPreCondit "^#include\>"45"46" -------Comments may be contained in another line.47"48syn match nastranDmapComment "^[\$].*$"49syn match nastranDmapComment "\$.*$"50syn match nastranDmapComment "^[\$].*$" contained51syn match nastranDmapComment "\$.*$" contained52" Treat all past 72nd column as a comment. Do not work with tabs!53" Breaks down when 72-73rd column is in another match (eg number or keyword)54syn match nastranDmapComment "^.\{-72}.*$"lc=72 contained55 56"57" -------Utility Modules58"59syn keyword nastranDmapUtilmod append copy dbc dbdict dbdir dmin drms160syn keyword nastranDmapUtilmod dtiin eltprt ifp ifp1 inputt2 inputt4 lamx61syn keyword nastranDmapUtilmod matgen matgpr matmod matpch matprn matprt62syn keyword nastranDmapUtilmod modtrl mtrxin ofp output2 output4 param63syn keyword nastranDmapUtilmod paraml paramr prtparam pvt scalar64syn keyword nastranDmapUtilmod seqp setval tabedit tabprt tabpt vec vecplot65syn keyword nastranDmapUtilmod xsort66"67" -------Matrix Modules68"69syn keyword nastranDmapMatmod add add5 cead dcmp decomp diagonal fbs merge70syn keyword nastranDmapMatmod mpyad norm read reigl smpyad solve solvit71syn keyword nastranDmapMatmod trnsp umerge umerge1 upartn dmiin partn72syn region nastranDmapMatmod start=+^ *[Dd][Mm][Ii]+ end=+[\/]+73"74" -------Implicit Functions75"76syn keyword nastranDmapImplicit abs acos acosh andl asin asinh atan atan277syn keyword nastranDmapImplicit atanh atanh2 char clen clock cmplx concat178syn keyword nastranDmapImplicit concat2 concat3 conjg cos cosh dble diagoff79syn keyword nastranDmapImplicit diagon dim dlablank dlxblank dprod eqvl exp80syn keyword nastranDmapImplicit getdiag getsys ichar imag impl index indexstr81syn keyword nastranDmapImplicit int itol leq lge lgt lle llt lne log log1082syn keyword nastranDmapImplicit logx ltoi mcgetsys mcputsys max min mod neqvl83syn keyword nastranDmapImplicit nint noop normal notl numeq numge numgt numle84syn keyword nastranDmapImplicit numlt numne orl pi precison putdiag putsys85syn keyword nastranDmapImplicit rand rdiagon real rtimtogo setcore sign sin86syn keyword nastranDmapImplicit sinh sngl sprod sqrt substrin tan tanh87syn keyword nastranDmapImplicit timetogo wlen xorl88"89"90"--------------------INPUT FILE SYNTAX---------------------------------------91"92"93" -------Nastran Statement94"95syn keyword nastranNastranCard nastran96"97" -------The File Management Section (FMS)98"99syn region nastranFMSCard start=+^ *[Aa][Cc][Qq][Uu][Ii]+ end=+$+ oneline100syn region nastranFMSCard start=+^ *[Aa][Ss][Ss][Ii][Gg]+ end=+$+ oneline101syn region nastranFMSCard start=+^ *[Cc][oO][Nn][Nn][Ee]+ end=+$+ oneline102syn region nastranFMSCard start=+^ *[Dd][Bb][Cc][Ll][Ee]+ end=+$+ oneline103syn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Cc]+ end=+$+ oneline104syn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Rr]+ end=+$+ oneline105syn region nastranFMSCard start=+^ *[Dd][Bb][Ff][Ii][Xx]+ end=+$+ oneline106syn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Aa]+ end=+$+ oneline107syn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Cc]+ end=+$+ oneline108syn region nastranFMSCard start=+^ *[Dd][Bb][Ss][Ee][Tt]+ end=+$+ oneline109syn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Nn][Ll]+ end=+$+ oneline110syn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Pp][Dd]+ end=+$+ oneline111syn region nastranFMSCard start=+^ *[Dd][Ee][Ff][Ii][Nn]+ end=+$+ oneline112syn region nastranFMSCard start=+^ *[Ee][Nn][Dd][Jj][Oo]+ end=+$+ oneline113syn region nastranFMSCard start=+^ *[Ee][Xx][Pp][Aa][Nn]+ end=+$+ oneline114syn region nastranFMSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+ oneline115syn region nastranFMSCard start=+^ *[Ii][Nn][Ii][Tt]+ end=+$+ oneline116syn region nastranFMSCard start=+^ *[Pp][Rr][Oo][Jj]+ end=+$+ oneline117syn region nastranFMSCard start=+^ *[Rr][Ee][Ss][Tt]+ end=+$+ oneline118syn match nastranDmapUtilmod "^ *[Rr][Ee][Ss][Tt][Aa].*,.*," contains=nastranDmapComment119"120" -------Executive Control Section121"122syn region nastranECSCard start=+^ *[Aa][Ll][Tt][Ee][Rr]+ end=+$+ oneline123syn region nastranECSCard start=+^ *[Aa][Pp][Pp]+ end=+$+ oneline124syn region nastranECSCard start=+^ *[Cc][Oo][Mm][Pp][Ii]+ end=+$+ oneline125syn region nastranECSCard start=+^ *[Dd][Ii][Aa][Gg] + end=+$+ oneline126syn region nastranECSCard start=+^ *[Ee][Cc][Hh][Oo]+ end=+$+ oneline127syn region nastranECSCard start=+^ *[Ee][Nn][Dd][Aa][Ll]+ end=+$+ oneline128syn region nastranECSCard start=+^ *[Ii][Dd]+ end=+$+ oneline129syn region nastranECSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+ oneline130syn region nastranECSCard start=+^ *[Ll][Ii][Nn][Kk]+ end=+$+ oneline131syn region nastranECSCard start=+^ *[Mm][Aa][Ll][Tt][Ee]+ end=+$+ oneline132syn region nastranECSCard start=+^ *[Ss][Oo][Ll] + end=+$+ oneline133syn region nastranECSCard start=+^ *[Tt][Ii][Mm][Ee]+ end=+$+ oneline134"135" -------Delimiters136"137syn match nastranDelimiter "[Cc][Ee][Nn][Dd]" contained138syn match nastranDelimiter "[Bb][Ee][Gg][Ii][Nn]" contained139syn match nastranDelimiter " *[Bb][Uu][Ll][Kk]" contained140syn match nastranDelimiter "[Ee][Nn][Dd] *[dD][Aa][Tt][Aa]" contained141"142" -------Case Control section143"144syn region nastranCC start=+^ *[Cc][Ee][Nn][Dd]+ end=+^ *[Bb][Ee][Gg][Ii][Nn]+ contains=nastranDelimiter,nastranBulkData,nastranDmapComment145 146"147" -------Bulk Data section148"149syn region nastranBulkData start=+ *[Bb][Uu][Ll][Kk] *$+ end=+^ [Ee][Nn][Dd] *[Dd]+ contains=nastranDelimiter,nastranDmapComment150"151" -------The following cards may appear in multiple sections of the file152"153syn keyword nastranUtilCard ECHOON ECHOOFF INCLUDE PARAM154 155 156" The default methods for highlighting. Can be overridden later157hi def link nastranDmapexecmod Statement158hi def link nastranDmapType Type159hi def link nastranDmapPreCondit Error160hi def link nastranDmapUtilmod PreProc161hi def link nastranDmapMatmod nastranDmapUtilmod162hi def link nastranDmapString String163hi def link nastranDmapNumber Constant164hi def link nastranDmapFloat nastranDmapNumber165hi def link nastranDmapInitTab nastranDmapNumber166hi def link nastranDmapTab nastranDmapNumber167hi def link nastranDmapLogical nastranDmapExecmod168hi def link nastranDmapImplicit Identifier169hi def link nastranDmapComment Comment170hi def link nastranDmapRepeat nastranDmapexecmod171hi def link nastranNastranCard nastranDmapPreCondit172hi def link nastranECSCard nastranDmapUtilmod173hi def link nastranFMSCard nastranNastranCard174hi def link nastranCC nastranDmapexecmod175hi def link nastranDelimiter Special176hi def link nastranBulkData nastranDmapType177hi def link nastranUtilCard nastranDmapexecmod178 179let b:current_syntax = "nastran"180 181"EOF vim: ts=8 noet tw=120 sw=8 sts=0182 