1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: RPL/2 3071d4279SBram Moolenaar" Version: 0.15.15 against RPL/2 version 4.00pre7i 4b8ff1fb5SBram Moolenaar" Last Change: 2012 Feb 03 by Thilo Six 5*cb80aa2dSBram Moolenaar" Maintainer: Joël BERTRAND <[email protected]> 6071d4279SBram Moolenaar" URL: http://www.makalis.fr/~bertrand/rpl2/download/vim/indent/rpl.vim 7071d4279SBram Moolenaar" Credits: Nothing 8071d4279SBram Moolenaar 989bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1089bcfda6SBram Moolenaarif exists("b:current_syntax") 11071d4279SBram Moolenaar finish 12071d4279SBram Moolenaarendif 13071d4279SBram Moolenaar 14b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo 15b8ff1fb5SBram Moolenaarset cpo&vim 16b8ff1fb5SBram Moolenaar 17071d4279SBram Moolenaar" Keyword characters (not used) 18071d4279SBram Moolenaar" set iskeyword=33-127 19071d4279SBram Moolenaar 20071d4279SBram Moolenaar" Case sensitive 21071d4279SBram Moolenaarsyntax case match 22071d4279SBram Moolenaar 23071d4279SBram Moolenaar" Constants 24071d4279SBram Moolenaarsyntax match rplConstant "\(^\|\s\+\)\(e\|i\)\ze\($\|\s\+\)" 25071d4279SBram Moolenaar 26071d4279SBram Moolenaar" Any binary number 27071d4279SBram Moolenaarsyntax match rplBinaryError "\(^\|\s\+\)#\s*\S\+b\ze" 28071d4279SBram Moolenaarsyntax match rplBinary "\(^\|\s\+\)#\s*[01]\+b\ze\($\|\s\+\)" 29071d4279SBram Moolenaarsyntax match rplOctalError "\(^\|\s\+\)#\s*\S\+o\ze" 30071d4279SBram Moolenaarsyntax match rplOctal "\(^\|\s\+\)#\s*\o\+o\ze\($\|\s\+\)" 31071d4279SBram Moolenaarsyntax match rplDecimalError "\(^\|\s\+\)#\s*\S\+d\ze" 32071d4279SBram Moolenaarsyntax match rplDecimal "\(^\|\s\+\)#\s*\d\+d\ze\($\|\s\+\)" 33071d4279SBram Moolenaarsyntax match rplHexadecimalError "\(^\|\s\+\)#\s*\S\+h\ze" 34071d4279SBram Moolenaarsyntax match rplHexadecimal "\(^\|\s\+\)#\s*\x\+h\ze\($\|\s\+\)" 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" Case unsensitive 37071d4279SBram Moolenaarsyntax case ignore 38071d4279SBram Moolenaar 39071d4279SBram Moolenaarsyntax match rplControl "\(^\|\s\+\)abort\ze\($\|\s\+\)" 40071d4279SBram Moolenaarsyntax match rplControl "\(^\|\s\+\)kill\ze\($\|\s\+\)" 41071d4279SBram Moolenaarsyntax match rplControl "\(^\|\s\+\)cont\ze\($\|\s\+\)" 42071d4279SBram Moolenaarsyntax match rplControl "\(^\|\s\+\)halt\ze\($\|\s\+\)" 43071d4279SBram Moolenaarsyntax match rplControl "\(^\|\s\+\)cmlf\ze\($\|\s\+\)" 44071d4279SBram Moolenaarsyntax match rplControl "\(^\|\s\+\)sst\ze\($\|\s\+\)" 45071d4279SBram Moolenaar 46071d4279SBram Moolenaarsyntax match rplConstant "\(^\|\s\+\)pi\ze\($\|\s\+\)" 47071d4279SBram Moolenaar 48071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)return\ze\($\|\s\+\)" 49071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)last\ze\($\|\s\+\)" 50071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)syzeval\ze\($\|\s\+\)" 51071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)wait\ze\($\|\s\+\)" 52071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)type\ze\($\|\s\+\)" 53071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)kind\ze\($\|\s\+\)" 54071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)eval\ze\($\|\s\+\)" 55071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)use\ze\($\|\s\+\)" 56071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)remove\ze\($\|\s\+\)" 57071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)external\ze\($\|\s\+\)" 58071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)dup\([2n]\|\)\ze\($\|\s\+\)" 59071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)drop\([2n]\|\)\ze\($\|\s\+\)" 60071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)depth\ze\($\|\s\+\)" 61071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)roll\(d\|\)\ze\($\|\s\+\)" 62071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)pick\ze\($\|\s\+\)" 63071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)rot\ze\($\|\s\+\)" 64071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)swap\ze\($\|\s\+\)" 65071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)over\ze\($\|\s\+\)" 66071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)clear\ze\($\|\s\+\)" 67071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)warranty\ze\($\|\s\+\)" 68071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)copyright\ze\($\|\s\+\)" 69071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)convert\ze\($\|\s\+\)" 70071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)date\ze\($\|\s\+\)" 71071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)time\ze\($\|\s\+\)" 72071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)mem\ze\($\|\s\+\)" 73071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)clmf\ze\($\|\s\+\)" 74071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)->num\ze\($\|\s\+\)" 75071d4279SBram Moolenaarsyntax match rplStatement "\(^\|\s\+\)help\ze\($\|\s\+\)" 76071d4279SBram Moolenaar 77071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)get\(i\|r\|c\|\)\ze\($\|\s\+\)" 78071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)put\(i\|r\|c\|\)\ze\($\|\s\+\)" 79071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)rcl\ze\($\|\s\+\)" 80071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)purge\ze\($\|\s\+\)" 81071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)sinv\ze\($\|\s\+\)" 82071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)sneg\ze\($\|\s\+\)" 83071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)sconj\ze\($\|\s\+\)" 84071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)steq\ze\($\|\s\+\)" 85071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)rceq\ze\($\|\s\+\)" 86071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)vars\ze\($\|\s\+\)" 87071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)clusr\ze\($\|\s\+\)" 88071d4279SBram Moolenaarsyntax match rplStorage "\(^\|\s\+\)sto\([+-/\*]\|\)\ze\($\|\s\+\)" 89071d4279SBram Moolenaar 90071d4279SBram Moolenaarsyntax match rplAlgConditional "\(^\|\s\+\)ift\(e\|\)\ze\($\|\s\+\)" 91071d4279SBram Moolenaar 92071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)and\ze\($\|\s\+\)" 93071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)\(x\|\)or\ze\($\|\s\+\)" 94071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)not\ze\($\|\s\+\)" 95071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)same\ze\($\|\s\+\)" 96071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)==\ze\($\|\s\+\)" 97071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)<=\ze\($\|\s\+\)" 98071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)=<\ze\($\|\s\+\)" 99071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)=>\ze\($\|\s\+\)" 100071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)>=\ze\($\|\s\+\)" 101071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)<>\ze\($\|\s\+\)" 102071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)>\ze\($\|\s\+\)" 103071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)<\ze\($\|\s\+\)" 104071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)[+-]\ze\($\|\s\+\)" 105071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)[/\*]\ze\($\|\s\+\)" 106071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)\^\ze\($\|\s\+\)" 107071d4279SBram Moolenaarsyntax match rplOperator "\(^\|\s\+\)\*\*\ze\($\|\s\+\)" 108071d4279SBram Moolenaar 109071d4279SBram Moolenaarsyntax match rplBoolean "\(^\|\s\+\)true\ze\($\|\s\+\)" 110071d4279SBram Moolenaarsyntax match rplBoolean "\(^\|\s\+\)false\ze\($\|\s\+\)" 111071d4279SBram Moolenaar 112071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)store\ze\($\|\s\+\)" 113071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)recall\ze\($\|\s\+\)" 114071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\(\|wf\|un\)lock\ze\($\|\s\+\)" 115071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)open\ze\($\|\s\+\)" 116071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)close\ze\($\|\s\+\)" 117071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)delete\ze\($\|\s\+\)" 118071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)create\ze\($\|\s\+\)" 119071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)format\ze\($\|\s\+\)" 120071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)rewind\ze\($\|\s\+\)" 121071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)backspace\ze\($\|\s\+\)" 122071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\(\|re\)write\ze\($\|\s\+\)" 123071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)read\ze\($\|\s\+\)" 124071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)inquire\ze\($\|\s\+\)" 125071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)sync\ze\($\|\s\+\)" 126071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)append\ze\($\|\s\+\)" 127071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)suppress\ze\($\|\s\+\)" 128071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)seek\ze\($\|\s\+\)" 129071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)pr\(1\|int\|st\|stc\|lcd\|var\|usr\|md\)\ze\($\|\s\+\)" 130071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)paper\ze\($\|\s\+\)" 131071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)cr\($\|\s\+\)" 132071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)erase\ze\($\|\s\+\)" 133071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)disp\ze\($\|\s\+\)" 134071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)input\ze\($\|\s\+\)" 135071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)prompt\ze\($\|\s\+\)" 136071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)key\ze\($\|\s\+\)" 137071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)cllcd\ze\($\|\s\+\)" 138071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\(\|re\)draw\ze\($\|\s\+\)" 139071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)drax\ze\($\|\s\+\)" 140071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)indep\ze\($\|\s\+\)" 141071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)depnd\ze\($\|\s\+\)" 142071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)res\ze\($\|\s\+\)" 143071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)axes\ze\($\|\s\+\)" 144071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)label\ze\($\|\s\+\)" 145071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)pmin\ze\($\|\s\+\)" 146071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)pmax\ze\($\|\s\+\)" 147071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)centr\ze\($\|\s\+\)" 148071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)persist\ze\($\|\s\+\)" 149071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)title\ze\($\|\s\+\)" 150071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\(slice\|auto\|log\|\)scale\ze\($\|\s\+\)" 151071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)eyept\ze\($\|\s\+\)" 152071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\(p\|s\)par\ze\($\|\s\+\)" 153071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)function\ze\($\|\s\+\)" 154071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)polar\ze\($\|\s\+\)" 155071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)scatter\ze\($\|\s\+\)" 156071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)plotter\ze\($\|\s\+\)" 157071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)wireframe\ze\($\|\s\+\)" 158071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)parametric\ze\($\|\s\+\)" 159071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)slice\ze\($\|\s\+\)" 160071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\*w\ze\($\|\s\+\)" 161071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\*h\ze\($\|\s\+\)" 162071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\*d\ze\($\|\s\+\)" 163071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)\*s\ze\($\|\s\+\)" 164071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)->lcd\ze\($\|\s\+\)" 165071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)lcd->\ze\($\|\s\+\)" 166071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)edit\ze\($\|\s\+\)" 167071d4279SBram Moolenaarsyntax match rplReadWrite "\(^\|\s\+\)visit\ze\($\|\s\+\)" 168071d4279SBram Moolenaar 169071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)abs\ze\($\|\s\+\)" 170071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)arg\ze\($\|\s\+\)" 171071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)conj\ze\($\|\s\+\)" 172071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)re\ze\($\|\s\+\)" 173071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)im\ze\($\|\s\+\)" 174071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)mant\ze\($\|\s\+\)" 175071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)xpon\ze\($\|\s\+\)" 176071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)ceil\ze\($\|\s\+\)" 177071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)fact\ze\($\|\s\+\)" 178071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)fp\ze\($\|\s\+\)" 179071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)floor\ze\($\|\s\+\)" 180071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)inv\ze\($\|\s\+\)" 181071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)ip\ze\($\|\s\+\)" 182071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)max\ze\($\|\s\+\)" 183071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)min\ze\($\|\s\+\)" 184071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)mod\ze\($\|\s\+\)" 185071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)neg\ze\($\|\s\+\)" 186071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)relax\ze\($\|\s\+\)" 187071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)sign\ze\($\|\s\+\)" 188071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)sq\(\|rt\)\ze\($\|\s\+\)" 189071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)xroot\ze\($\|\s\+\)" 190071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)cos\ze\($\|\s\+\)" 191071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)sin\ze\($\|\s\+\)" 192071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)tan\ze\($\|\s\+\)" 193071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)tg\ze\($\|\s\+\)" 194071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)a\(\|rc\)cos\ze\($\|\s\+\)" 195071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)a\(\|rc\)sin\ze\($\|\s\+\)" 196071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)atan\ze\($\|\s\+\)" 197071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)arctg\ze\($\|\s\+\)" 198071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|a\)cosh\ze\($\|\s\+\)" 199071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|a\)sinh\ze\($\|\s\+\)" 200071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|a\)tanh\ze\($\|\s\+\)" 201071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|arg\)th\ze\($\|\s\+\)" 202071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)arg[cst]h\ze\($\|\s\+\)" 203071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|a\)log\ze\($\|\s\+\)" 204071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)ln\(\|1\)\ze\($\|\s\+\)" 205071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)exp\(\|m\)\ze\($\|\s\+\)" 206071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)trn\ze\($\|\s\+\)" 207071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)con\ze\($\|\s\+\)" 208071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)idn\ze\($\|\s\+\)" 209071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)rdm\ze\($\|\s\+\)" 210071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)rsd\ze\($\|\s\+\)" 211071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)cnrm\ze\($\|\s\+\)" 212071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)cross\ze\($\|\s\+\)" 213071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)d[eo]t\ze\($\|\s\+\)" 214071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)[cr]swp\ze\($\|\s\+\)" 215071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)rci\(j\|\)\ze\($\|\s\+\)" 216071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(in\|de\)cr\ze\($\|\s\+\)" 217071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)bessel\ze\($\|\s\+\)" 218071d4279SBram Moolenaar 219071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|g\)egvl\ze\($\|\s\+\)" 220071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|g\)\(\|l\|r\)egv\ze\($\|\s\+\)" 221071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)rnrm\ze\($\|\s\+\)" 222071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(std\|fix\|sci\|eng\)\ze\($\|\s\+\)" 223071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(rad\|deg\)\ze\($\|\s\+\)" 224071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|n\)rand\ze\($\|\s\+\)" 225071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)rdz\ze\($\|\s\+\)" 226071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|i\)fft\ze\($\|\s\+\)" 227071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(dec\|bin\|oct\|hex\)\ze\($\|\s\+\)" 228071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)rclf\ze\($\|\s\+\)" 229071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)stof\ze\($\|\s\+\)" 230071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)[cs]f\ze\($\|\s\+\)" 231071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)chr\ze\($\|\s\+\)" 232071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)num\ze\($\|\s\+\)" 233071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)pos\ze\($\|\s\+\)" 234071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)sub\ze\($\|\s\+\)" 235071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)size\ze\($\|\s\+\)" 236071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(st\|rc\)ws\ze\($\|\s\+\)" 237071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(r\|s\)\(r\|l\)\(\|b\)\ze\($\|\s\+\)" 238071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)as\(r\|l\)\ze\($\|\s\+\)" 239071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(int\|der\)\ze\($\|\s\+\)" 240071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)stos\ze\($\|\s\+\)" 241071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|r\)cls\ze\($\|\s\+\)" 242071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)drws\ze\($\|\s\+\)" 243071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)scls\ze\($\|\s\+\)" 244071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)ns\ze\($\|\s\+\)" 245071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)tot\ze\($\|\s\+\)" 246071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)mean\ze\($\|\s\+\)" 247071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|p\)sdev\ze\($\|\s\+\)" 248071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|p\)var\ze\($\|\s\+\)" 249071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)maxs\ze\($\|\s\+\)" 250071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)mins\ze\($\|\s\+\)" 251071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|p\)cov\ze\($\|\s\+\)" 252071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)cols\ze\($\|\s\+\)" 253071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)s\(x\(\|y\|2\)\|y\(\|2\)\)\ze\($\|\s\+\)" 254071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(x\|y\)col\ze\($\|\s\+\)" 255071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)corr\ze\($\|\s\+\)" 256071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)utp[cfnt]\ze\($\|\s\+\)" 257071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)comb\ze\($\|\s\+\)" 258071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)perm\ze\($\|\s\+\)" 259071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)\(\|p\)lu\ze\($\|\s\+\)" 260071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)[lu]chol\ze\($\|\s\+\)" 261071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)schur\ze\($\|\s\+\)" 262071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)%\ze\($\|\s\+\)" 263071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)%ch\ze\($\|\s\+\)" 264071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)%t\ze\($\|\s\+\)" 265071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)hms->\ze\($\|\s\+\)" 266071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)->hms\ze\($\|\s\+\)" 267071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)hms+\ze\($\|\s\+\)" 268071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)hms-\ze\($\|\s\+\)" 269071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)d->r\ze\($\|\s\+\)" 270071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)r->d\ze\($\|\s\+\)" 271071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)b->r\ze\($\|\s\+\)" 272071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)r->b\ze\($\|\s\+\)" 273071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)c->r\ze\($\|\s\+\)" 274071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)r->c\ze\($\|\s\+\)" 275071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)r->p\ze\($\|\s\+\)" 276071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)p->r\ze\($\|\s\+\)" 277071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)str->\ze\($\|\s\+\)" 278071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)->str\ze\($\|\s\+\)" 279071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)array->\ze\($\|\s\+\)" 280071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)->array\ze\($\|\s\+\)" 281071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)list->\ze\($\|\s\+\)" 282071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)->list\ze\($\|\s\+\)" 283071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)s+\ze\($\|\s\+\)" 284071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)s-\ze\($\|\s\+\)" 285071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)col-\ze\($\|\s\+\)" 286071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)col+\ze\($\|\s\+\)" 287071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)row-\ze\($\|\s\+\)" 288071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)row+\ze\($\|\s\+\)" 289071d4279SBram Moolenaarsyntax match rplIntrinsic "\(^\|\s\+\)->q\ze\($\|\s\+\)" 290071d4279SBram Moolenaar 291071d4279SBram Moolenaarsyntax match rplObsolete "\(^\|\s\+\)arry->\ze\($\|\s\+\)"hs=e-5 292071d4279SBram Moolenaarsyntax match rplObsolete "\(^\|\s\+\)->arry\ze\($\|\s\+\)"hs=e-5 293071d4279SBram Moolenaar 294071d4279SBram Moolenaar" Conditional structures 295071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)case\ze\($\|\s\+\)"hs=e-3 296071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)then\ze\($\|\s\+\)"hs=e-3 297071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)else\ze\($\|\s\+\)"hs=e-3 298071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)elseif\ze\($\|\s\+\)"hs=e-5 299071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)end\ze\($\|\s\+\)"hs=e-2 300071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)\(step\|next\)\ze\($\|\s\+\)"hs=e-3 301071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)until\ze\($\|\s\+\)"hs=e-4 302071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)repeat\ze\($\|\s\+\)"hs=e-5 303071d4279SBram Moolenaarsyntax match rplConditionalError "\(^\|\s\+\)default\ze\($\|\s\+\)"hs=e-6 304071d4279SBram Moolenaar 305071d4279SBram Moolenaar" FOR/(CYCLE)/(EXIT)/NEXT 306071d4279SBram Moolenaar" FOR/(CYCLE)/(EXIT)/STEP 307071d4279SBram Moolenaar" START/(CYCLE)/(EXIT)/NEXT 308071d4279SBram Moolenaar" START/(CYCLE)/(EXIT)/STEP 309071d4279SBram Moolenaarsyntax match rplCycle "\(^\|\s\+\)\(cycle\|exit\)\ze\($\|\s\+\)" 310071d4279SBram Moolenaarsyntax region rplForNext matchgroup=rplRepeat start="\(^\|\s\+\)\(for\|start\)\ze\($\|\s\+\)" end="\(^\|\s\+\)\(next\|step\)\ze\($\|\s\+\)" contains=ALL keepend extend 311071d4279SBram Moolenaar 312071d4279SBram Moolenaar" ELSEIF/END 313071d4279SBram Moolenaarsyntax region rplElseifEnd matchgroup=rplConditional start="\(^\|\s\+\)elseif\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contained contains=ALLBUT,rplElseEnd keepend 314071d4279SBram Moolenaar 315071d4279SBram Moolenaar" ELSE/END 316071d4279SBram Moolenaarsyntax region rplElseEnd matchgroup=rplConditional start="\(^\|\s\+\)else\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contained contains=ALLBUT,rplElseEnd,rplThenEnd,rplElseifEnd keepend 317071d4279SBram Moolenaar 318071d4279SBram Moolenaar" THEN/END 319071d4279SBram Moolenaarsyntax region rplThenEnd matchgroup=rplConditional start="\(^\|\s\+\)then\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contained containedin=rplIfEnd contains=ALLBUT,rplThenEnd keepend 320071d4279SBram Moolenaar 321071d4279SBram Moolenaar" IF/END 322071d4279SBram Moolenaarsyntax region rplIfEnd matchgroup=rplConditional start="\(^\|\s\+\)if\(err\|\)\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplElseEnd,rplElseifEnd keepend extend 323071d4279SBram Moolenaar" if end is accepted ! 324071d4279SBram Moolenaar" select end too ! 325071d4279SBram Moolenaar 326071d4279SBram Moolenaar" CASE/THEN 327071d4279SBram Moolenaarsyntax region rplCaseThen matchgroup=rplConditional start="\(^\|\s\+\)case\ze\($\|\s\+\)" end="\(^\|\s\+\)then\ze\($\|\s\+\)" contains=ALLBUT,rplCaseThen,rplCaseEnd,rplThenEnd keepend extend contained containedin=rplCaseEnd 328071d4279SBram Moolenaar 329071d4279SBram Moolenaar" CASE/END 330071d4279SBram Moolenaarsyntax region rplCaseEnd matchgroup=rplConditional start="\(^\|\s\+\)case\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplCaseEnd,rplThenEnd,rplElseEnd keepend extend contained containedin=rplSelectEnd 331071d4279SBram Moolenaar 332071d4279SBram Moolenaar" DEFAULT/END 333071d4279SBram Moolenaarsyntax region rplDefaultEnd matchgroup=rplConditional start="\(^\|\s\+\)default\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplDefaultEnd keepend contained containedin=rplSelectEnd 334071d4279SBram Moolenaar 335071d4279SBram Moolenaar" SELECT/END 336071d4279SBram Moolenaarsyntax region rplSelectEnd matchgroup=rplConditional start="\(^\|\s\+\)select\ze\($\|\s\+\)" end="\(^\|\s\+\)end\ze\($\|\s\+\)" contains=ALLBUT,rplThenEnd keepend extend 337071d4279SBram Moolenaar" select end is accepted ! 338071d4279SBram Moolenaar 339071d4279SBram Moolenaar" DO/UNTIL/END 340071d4279SBram Moolenaarsyntax region rplUntilEnd matchgroup=rplConditional start="\(^\|\s\+\)until\ze\($\|\s\+\)" end="\(^\|\s\+\)\zsend\ze\($\|\s\+\)" contains=ALLBUT,rplUntilEnd contained containedin=rplDoUntil extend keepend 341071d4279SBram Moolenaarsyntax region rplDoUntil matchgroup=rplConditional start="\(^\|\s\+\)do\ze\($\|\s\+\)" end="\(^\|\s\+\)until\ze\($\|\s\+\)" contains=ALL keepend extend 342071d4279SBram Moolenaar 343071d4279SBram Moolenaar" WHILE/REPEAT/END 344071d4279SBram Moolenaarsyntax region rplRepeatEnd matchgroup=rplConditional start="\(^\|\s\+\)repeat\ze\($\|\s\+\)" end="\(^\|\s\+\)\zsend\ze\($\|\s\+\)" contains=ALLBUT,rplRepeatEnd contained containedin=rplWhileRepeat extend keepend 345071d4279SBram Moolenaarsyntax region rplWhileRepeat matchgroup=rplConditional start="\(^\|\s\+\)while\ze\($\|\s\+\)" end="\(^\|\s\+\)repeat\ze\($\|\s\+\)" contains=ALL keepend extend 346071d4279SBram Moolenaar 347071d4279SBram Moolenaar" Comments 348071d4279SBram Moolenaarsyntax match rplCommentError "\*/" 349071d4279SBram Moolenaarsyntax region rplCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1 350071d4279SBram Moolenaarsyntax region rplCommentLine start="\(^\|\s\+\)//\ze" skip="\\$" end="$" contains=NONE keepend extend 351071d4279SBram Moolenaarsyntax region rplComment start="\(^\|\s\+\)/\*\ze" end="\*/" contains=rplCommentString keepend extend 352071d4279SBram Moolenaar 353071d4279SBram Moolenaar" Catch errors caused by too many right parentheses 354071d4279SBram Moolenaarsyntax region rplParen transparent start="(" end=")" contains=ALLBUT,rplParenError,rplComplex,rplIncluded keepend extend 355071d4279SBram Moolenaarsyntax match rplParenError ")" 356071d4279SBram Moolenaar 357071d4279SBram Moolenaar" Subroutines 358071d4279SBram Moolenaar" Catch errors caused by too many right '>>' 359071d4279SBram Moolenaarsyntax match rplSubError "\(^\|\s\+\)>>\ze\($\|\s\+\)"hs=e-1 360071d4279SBram Moolenaarsyntax region rplSub matchgroup=rplSubDelimitor start="\(^\|\s\+\)<<\ze\($\|\s\+\)" end="\(^\|\s\+\)>>\ze\($\|\s\+\)" contains=ALLBUT,rplSubError,rplIncluded,rplDefaultEnd,rplStorageSub keepend extend 361071d4279SBram Moolenaar 362071d4279SBram Moolenaar" Expressions 363071d4279SBram Moolenaarsyntax region rplExpr start="\(^\|\s\+\)'" end="'\ze\($\|\s\+\)" contains=rplParen,rplParenError 364071d4279SBram Moolenaar 365071d4279SBram Moolenaar" Local variables 366071d4279SBram Moolenaarsyntax match rplStorageError "\(^\|\s\+\)->\ze\($\|\s\+\)"hs=e-1 367071d4279SBram Moolenaarsyntax region rplStorageSub matchgroup=rplStorage start="\(^\|\s\+\)<<\ze\($\|\s\+\)" end="\(^\|\s\+\)>>\ze\($\|\s\+\)" contains=ALLBUT,rplSubError,rplIncluded,rplDefaultEnd,rplStorageExpr contained containedin=rplLocalStorage keepend extend 368071d4279SBram Moolenaarsyntax region rplStorageExpr matchgroup=rplStorage start="\(^\|\s\+\)'" end="'\ze\($\|\s\+\)" contains=rplParen,rplParenError extend contained containedin=rplLocalStorage 369071d4279SBram Moolenaarsyntax region rplLocalStorage matchgroup=rplStorage start="\(^\|\s\+\)->\ze\($\|\s\+\)" end="\(^\|\s\+\)\(<<\ze\($\|\s\+\)\|'\)" contains=rplStorageSub,rplStorageExpr,rplComment,rplCommentLine keepend extend 370071d4279SBram Moolenaar 371071d4279SBram Moolenaar" Catch errors caused by too many right brackets 372071d4279SBram Moolenaarsyntax match rplArrayError "\]" 373071d4279SBram Moolenaarsyntax match rplArray "\]" contained containedin=rplArray 374071d4279SBram Moolenaarsyntax region rplArray matchgroup=rplArray start="\[" end="\]" contains=ALLBUT,rplArrayError keepend extend 375071d4279SBram Moolenaar 376071d4279SBram Moolenaar" Catch errors caused by too many right '}' 377071d4279SBram Moolenaarsyntax match rplListError "}" 378071d4279SBram Moolenaarsyntax match rplList "}" contained containedin=rplList 379071d4279SBram Moolenaarsyntax region rplList matchgroup=rplList start="{" end="}" contains=ALLBUT,rplListError,rplIncluded keepend extend 380071d4279SBram Moolenaar 381071d4279SBram Moolenaar" cpp is used by RPL/2 382071d4279SBram Moolenaarsyntax match rplPreProc "\_^#\s*\(define\|undef\)\>" 383071d4279SBram Moolenaarsyntax match rplPreProc "\_^#\s*\(warning\|error\)\>" 384071d4279SBram Moolenaarsyntax match rplPreCondit "\_^#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" 385071d4279SBram Moolenaarsyntax match rplIncluded contained "\<<\s*\S*\s*>\>" 386071d4279SBram Moolenaarsyntax match rplInclude "\_^#\s*include\>\s*["<]" contains=rplIncluded,rplString 387071d4279SBram Moolenaar"syntax match rplExecPath "\%^\_^#!\s*\S*" 388071d4279SBram Moolenaarsyntax match rplExecPath "\%^\_^#!\p*\_$" 389071d4279SBram Moolenaar 390071d4279SBram Moolenaar" Any integer 391071d4279SBram Moolenaarsyntax match rplInteger "\(^\|\s\+\)[-+]\=\d\+\ze\($\|\s\+\)" 392071d4279SBram Moolenaar 393071d4279SBram Moolenaar" Floating point number 394071d4279SBram Moolenaar" [S][ip].[fp] 395071d4279SBram Moolenaarsyntax match rplFloat "\(^\|\s\+\)[-+]\=\(\d*\)\=[\.,]\(\d*\)\=\ze\($\|\s\+\)" contains=ALLBUT,rplPoint,rplSign 396071d4279SBram Moolenaar" [S]ip[.fp]E[S]exp 397071d4279SBram Moolenaarsyntax match rplFloat "\(^\|\s\+\)[-+]\=\d\+\([\.,]\d*\)\=[eE]\([-+]\)\=\d\+\ze\($\|\s\+\)" contains=ALLBUT,rplPoint,rplSign 398071d4279SBram Moolenaar" [S].fpE[S]exp 399071d4279SBram Moolenaarsyntax match rplFloat "\(^\|\s\+\)[-+]\=\(\d*\)\=[\.,]\d\+[eE]\([-+]\)\=\d\+\ze\($\|\s\+\)" contains=ALLBUT,rplPoint,rplSign 400071d4279SBram Moolenaarsyntax match rplPoint "\<[\.,]\>" 401071d4279SBram Moolenaarsyntax match rplSign "\<[+-]\>" 402071d4279SBram Moolenaar 403071d4279SBram Moolenaar" Complex number 404071d4279SBram Moolenaar" (x,y) 405071d4279SBram Moolenaarsyntax match rplComplex "\(^\|\s\+\)([-+]\=\(\d*\)\=\.\=\d*\([eE][-+]\=\d\+\)\=\s*,\s*[-+]\=\(\d*\)\=\.\=\d*\([eE][-+]\=\d\+\)\=)\ze\($\|\s\+\)" 406071d4279SBram Moolenaar" (x.y) 407071d4279SBram Moolenaarsyntax match rplComplex "\(^\|\s\+\)([-+]\=\(\d*\)\=,\=\d*\([eE][-+]\=\d\+\)\=\s*\.\s*[-+]\=\(\d*\)\=,\=\d*\([eE][-+]\=\d\+\)\=)\ze\($\|\s\+\)" 408071d4279SBram Moolenaar 409071d4279SBram Moolenaar" Strings 410071d4279SBram Moolenaarsyntax match rplStringGuilles "\\\"" 411071d4279SBram Moolenaarsyntax match rplStringAntislash "\\\\" 412071d4279SBram Moolenaarsyntax region rplString start=+\(^\|\s\+\)"+ end=+"\ze\($\|\s\+\)+ contains=rplStringGuilles,rplStringAntislash 413071d4279SBram Moolenaar 414071d4279SBram Moolenaarsyntax match rplTab "\t" transparent 415071d4279SBram Moolenaar 416071d4279SBram Moolenaar" Define the default highlighting. 41789bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 418071d4279SBram Moolenaar 419071d4279SBram Moolenaar" The default highlighting. 420071d4279SBram Moolenaar 421f37506f6SBram Moolenaarhi def link rplControl Statement 422f37506f6SBram Moolenaarhi def link rplStatement Statement 423f37506f6SBram Moolenaarhi def link rplAlgConditional Conditional 424f37506f6SBram Moolenaarhi def link rplConditional Repeat 425f37506f6SBram Moolenaarhi def link rplConditionalError Error 426f37506f6SBram Moolenaarhi def link rplRepeat Repeat 427f37506f6SBram Moolenaarhi def link rplCycle Repeat 428f37506f6SBram Moolenaarhi def link rplUntil Repeat 429f37506f6SBram Moolenaarhi def link rplIntrinsic Special 430f37506f6SBram Moolenaarhi def link rplStorage StorageClass 431f37506f6SBram Moolenaarhi def link rplStorageExpr StorageClass 432f37506f6SBram Moolenaarhi def link rplStorageError Error 433f37506f6SBram Moolenaarhi def link rplReadWrite rplIntrinsic 434071d4279SBram Moolenaar 435f37506f6SBram Moolenaarhi def link rplOperator Operator 436071d4279SBram Moolenaar 437f37506f6SBram Moolenaarhi def link rplList Special 438f37506f6SBram Moolenaarhi def link rplArray Special 439f37506f6SBram Moolenaarhi def link rplConstant Identifier 440f37506f6SBram Moolenaarhi def link rplExpr Type 441071d4279SBram Moolenaar 442f37506f6SBram Moolenaarhi def link rplString String 443f37506f6SBram Moolenaarhi def link rplStringGuilles String 444f37506f6SBram Moolenaarhi def link rplStringAntislash String 445071d4279SBram Moolenaar 446f37506f6SBram Moolenaarhi def link rplBinary Boolean 447f37506f6SBram Moolenaarhi def link rplOctal Boolean 448f37506f6SBram Moolenaarhi def link rplDecimal Boolean 449f37506f6SBram Moolenaarhi def link rplHexadecimal Boolean 450f37506f6SBram Moolenaarhi def link rplInteger Number 451f37506f6SBram Moolenaarhi def link rplFloat Float 452f37506f6SBram Moolenaarhi def link rplComplex Float 453f37506f6SBram Moolenaarhi def link rplBoolean Identifier 454071d4279SBram Moolenaar 455f37506f6SBram Moolenaarhi def link rplObsolete Todo 456071d4279SBram Moolenaar 457f37506f6SBram Moolenaarhi def link rplPreCondit PreCondit 458f37506f6SBram Moolenaarhi def link rplInclude Include 459f37506f6SBram Moolenaarhi def link rplIncluded rplString 460f37506f6SBram Moolenaarhi def link rplInclude Include 461f37506f6SBram Moolenaarhi def link rplExecPath Include 462f37506f6SBram Moolenaarhi def link rplPreProc PreProc 463f37506f6SBram Moolenaarhi def link rplComment Comment 464f37506f6SBram Moolenaarhi def link rplCommentLine Comment 465f37506f6SBram Moolenaarhi def link rplCommentString Comment 466f37506f6SBram Moolenaarhi def link rplSubDelimitor rplStorage 467f37506f6SBram Moolenaarhi def link rplCommentError Error 468f37506f6SBram Moolenaarhi def link rplParenError Error 469f37506f6SBram Moolenaarhi def link rplSubError Error 470f37506f6SBram Moolenaarhi def link rplArrayError Error 471f37506f6SBram Moolenaarhi def link rplListError Error 472f37506f6SBram Moolenaarhi def link rplTab Error 473f37506f6SBram Moolenaarhi def link rplBinaryError Error 474f37506f6SBram Moolenaarhi def link rplOctalError Error 475f37506f6SBram Moolenaarhi def link rplDecimalError Error 476f37506f6SBram Moolenaarhi def link rplHexadecimalError Error 477071d4279SBram Moolenaar 478071d4279SBram Moolenaar 479071d4279SBram Moolenaarlet b:current_syntax = "rpl" 480071d4279SBram Moolenaar 481b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save 482b8ff1fb5SBram Moolenaarunlet s:cpo_save 483071d4279SBram Moolenaar" vim: ts=8 tw=132 484