1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: CUPL simulation 3071d4279SBram Moolenaar" Maintainer: John Cook <[email protected]> 4071d4279SBram Moolenaar" Last Change: 2001 Apr 25 5071d4279SBram Moolenaar 689bcfda6SBram Moolenaar" quit when a syntax file was already loaded 789bcfda6SBram Moolenaarif exists("b:current_syntax") 8071d4279SBram Moolenaar finish 9071d4279SBram Moolenaarendif 10071d4279SBram Moolenaar 11071d4279SBram Moolenaar" Read the CUPL syntax to start with 12071d4279SBram Moolenaarruntime! syntax/cupl.vim 13071d4279SBram Moolenaarunlet b:current_syntax 14071d4279SBram Moolenaar 15071d4279SBram Moolenaar" omit definition-specific stuff 16071d4279SBram Moolenaarsyn clear cuplStatement 17071d4279SBram Moolenaarsyn clear cuplFunction 18071d4279SBram Moolenaarsyn clear cuplLogicalOperator 19071d4279SBram Moolenaarsyn clear cuplArithmeticOperator 20071d4279SBram Moolenaarsyn clear cuplAssignmentOperator 21071d4279SBram Moolenaarsyn clear cuplEqualityOperator 22071d4279SBram Moolenaarsyn clear cuplTruthTableOperator 23071d4279SBram Moolenaarsyn clear cuplExtension 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" simulation order statement 26071d4279SBram Moolenaarsyn match cuplsimOrder "order:" nextgroup=cuplsimOrderSpec skipempty 27071d4279SBram Moolenaarsyn region cuplsimOrderSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimOrderFormat,cuplBitVector,cuplSpecialChar,cuplLogicalOperator,cuplCommaOperator contained 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" simulation base statement 30071d4279SBram Moolenaarsyn match cuplsimBase "base:" nextgroup=cuplsimBaseSpec skipempty 31071d4279SBram Moolenaarsyn region cuplsimBaseSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimBaseType contained 32071d4279SBram Moolenaarsyn keyword cuplsimBaseType octal decimal hex contained 33071d4279SBram Moolenaar 34071d4279SBram Moolenaar" simulation vectors statement 35071d4279SBram Moolenaarsyn match cuplsimVectors "vectors:" 36071d4279SBram Moolenaar 37071d4279SBram Moolenaar" simulator format control 38071d4279SBram Moolenaarsyn match cuplsimOrderFormat "%\d\+\>" contained 39071d4279SBram Moolenaar 40071d4279SBram Moolenaar" simulator control 41071d4279SBram Moolenaarsyn match cuplsimStimulus "[10ckpx]\+" 42071d4279SBram Moolenaarsyn match cuplsimStimulus +'\(\x\|x\)\+'+ 43071d4279SBram Moolenaarsyn match cuplsimOutput "[lhznx*]\+" 44071d4279SBram Moolenaarsyn match cuplsimOutput +"\x\+"+ 45071d4279SBram Moolenaar 46071d4279SBram Moolenaarsyn sync minlines=1 47071d4279SBram Moolenaar 48071d4279SBram Moolenaar" Define the default highlighting. 4989bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 50071d4279SBram Moolenaar 51071d4279SBram Moolenaar" append to the highlighting links in cupl.vim 52071d4279SBram Moolenaar" The default highlighting. 53*f37506f6SBram Moolenaarhi def link cuplsimOrder cuplStatement 54*f37506f6SBram Moolenaarhi def link cuplsimBase cuplStatement 55*f37506f6SBram Moolenaarhi def link cuplsimBaseType cuplStatement 56*f37506f6SBram Moolenaarhi def link cuplsimVectors cuplStatement 57*f37506f6SBram Moolenaarhi def link cuplsimStimulus cuplNumber 58*f37506f6SBram Moolenaarhi def link cuplsimOutput cuplNumber 59*f37506f6SBram Moolenaarhi def link cuplsimOrderFormat cuplNumber 60071d4279SBram Moolenaar 61071d4279SBram Moolenaar 62071d4279SBram Moolenaarlet b:current_syntax = "cuplsim" 63071d4279SBram Moolenaar" vim:ts=8 64