Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: Tera Term Language (TTL) |
Bram Moolenaar | 20aac6c | 2018-09-02 21:07:30 +0200 | [diff] [blame] | 3 | " Based on Tera Term Version 4.100 |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 4 | " Maintainer: Ken Takata |
| 5 | " URL: https://github.com/k-takata/vim-teraterm |
Bram Moolenaar | 20aac6c | 2018-09-02 21:07:30 +0200 | [diff] [blame] | 6 | " Last Change: 2018-08-31 |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 7 | " Filenames: *.ttl |
| 8 | " License: VIM License |
| 9 | |
| 10 | if exists("b:current_syntax") |
| 11 | finish |
| 12 | endif |
| 13 | |
| 14 | let s:save_cpo = &cpo |
| 15 | set cpo&vim |
| 16 | |
| 17 | syn case ignore |
| 18 | |
| 19 | syn region ttlComment start=";" end="$" contains=@Spell |
| 20 | syn region ttlComment start="/\*" end="\*/" contains=@Spell |
| 21 | syn region ttlFirstComment start="/\*" end="\*/" contained contains=@Spell |
| 22 | \ nextgroup=ttlStatement,ttlFirstComment |
| 23 | |
| 24 | syn match ttlCharacter "#\%(\d\+\|\$\x\+\)\>" |
| 25 | syn match ttlNumber "\%(\<\d\+\|\$\x\+\)\>" |
| 26 | syn match ttlString "'[^']*'" contains=@Spell |
| 27 | syn match ttlString '"[^"]*"' contains=@Spell |
| 28 | syn cluster ttlConstant contains=ttlCharacter,ttlNumber,ttlString |
| 29 | |
| 30 | syn match ttlLabel ":\s*\w\{1,32}\>" |
| 31 | |
| 32 | syn keyword ttlOperator and or xor not |
| 33 | |
| 34 | syn match ttlVar "\<groupmatchstr\d\>" |
| 35 | syn match ttlVar "\<param\d\>" |
Bram Moolenaar | 7571d55 | 2016-08-18 22:54:46 +0200 | [diff] [blame] | 36 | syn keyword ttlVar inputstr matchstr paramcnt params result timeout mtimeout |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 37 | |
| 38 | |
| 39 | syn match ttlLine nextgroup=ttlStatement "^" |
| 40 | syn match ttlStatement contained "\s*" |
| 41 | \ nextgroup=ttlIf,ttlElseIf,ttlConditional,ttlRepeat, |
| 42 | \ ttlFirstComment,ttlComment,ttlLabel,@ttlCommand |
| 43 | |
| 44 | syn cluster ttlCommand contains=ttlControlCommand,ttlCommunicationCommand, |
| 45 | \ ttlStringCommand,ttlFileCommand,ttlPasswordCommand, |
| 46 | \ ttlMiscCommand |
| 47 | |
| 48 | |
| 49 | syn keyword ttlIf contained nextgroup=ttlIfExpression if |
| 50 | syn keyword ttlElseIf contained nextgroup=ttlElseIfExpression elseif |
| 51 | |
| 52 | syn match ttlIfExpression contained "\s.*" |
| 53 | \ contains=@ttlConstant,ttlVar,ttlOperator,ttlComment,ttlThen, |
| 54 | \ @ttlCommand |
| 55 | syn match ttlElseIfExpression contained "\s.*" |
| 56 | \ contains=@ttlConstant,ttlVar,ttlOperator,ttlComment,ttlThen |
| 57 | |
| 58 | syn keyword ttlThen contained then |
| 59 | syn keyword ttlConditional contained else endif |
| 60 | |
| 61 | syn keyword ttlRepeat contained for next until enduntil while endwhile |
| 62 | syn match ttlRepeat contained |
| 63 | \ "\<\%(do\|loop\)\%(\s\+\%(while\|until\)\)\?\>" |
| 64 | syn keyword ttlControlCommand contained |
| 65 | \ break call continue end execcmnd exit goto include |
| 66 | \ mpause pause return |
| 67 | |
| 68 | |
| 69 | syn keyword ttlCommunicationCommand contained |
| 70 | \ bplusrecv bplussend callmenu changedir clearscreen |
| 71 | \ closett connect cygconnect disconnect dispstr |
| 72 | \ enablekeyb flushrecv gethostname getmodemstatus |
| 73 | \ gettitle kmtfinish kmtget kmtrecv kmtsend loadkeymap |
| 74 | \ logautoclosemode logclose loginfo logopen logpause |
| 75 | \ logrotate logstart logwrite quickvanrecv |
| 76 | \ quickvansend recvln restoresetup scprecv scpsend |
| 77 | \ send sendbreak sendbroadcast sendfile sendkcode |
Bram Moolenaar | 20aac6c | 2018-09-02 21:07:30 +0200 | [diff] [blame] | 78 | \ sendln sendlnbroadcast sendlnmulticast sendmulticast |
| 79 | \ setbaud setdebug setdtr setecho setflowctrl |
| 80 | \ setmulticastname setrts setspeed setsync settitle |
| 81 | \ showtt testlink unlink wait wait4all waitevent |
| 82 | \ waitln waitn waitrecv waitregex xmodemrecv |
| 83 | \ xmodemsend ymodemrecv ymodemsend zmodemrecv |
| 84 | \ zmodemsend |
Bram Moolenaar | f913281 | 2015-07-21 19:19:13 +0200 | [diff] [blame] | 85 | syn keyword ttlStringCommand contained |
| 86 | \ code2str expandenv int2str regexoption sprintf |
| 87 | \ sprintf2 str2code str2int strcompare strconcat |
| 88 | \ strcopy strinsert strjoin strlen strmatch strremove |
| 89 | \ strreplace strscan strspecial strsplit strtrim |
| 90 | \ tolower toupper |
| 91 | syn keyword ttlFileCommand contained |
| 92 | \ basename dirname fileclose fileconcat filecopy |
| 93 | \ filecreate filedelete filelock filemarkptr fileopen |
| 94 | \ filereadln fileread filerename filesearch fileseek |
| 95 | \ fileseekback filestat filestrseek filestrseek2 |
| 96 | \ filetruncate fileunlock filewrite filewriteln |
| 97 | \ findfirst findnext findclose foldercreate |
| 98 | \ folderdelete foldersearch getdir getfileattr makepath |
| 99 | \ setdir setfileattr |
| 100 | syn keyword ttlPasswordCommand contained |
| 101 | \ delpassword getpassword ispassword passwordbox |
| 102 | \ setpassword |
| 103 | syn keyword ttlMiscCommand contained |
| 104 | \ beep bringupbox checksum8 checksum8file checksum16 |
| 105 | \ checksum16file checksum32 checksum32file closesbox |
| 106 | \ clipb2var crc16 crc16file crc32 crc32file exec |
| 107 | \ dirnamebox filenamebox getdate getenv getipv4addr |
| 108 | \ getipv6addr getspecialfolder gettime getttdir getver |
| 109 | \ ifdefined inputbox intdim listbox messagebox random |
| 110 | \ rotateleft rotateright setdate setdlgpos setenv |
| 111 | \ setexitcode settime show statusbox strdim uptime |
| 112 | \ var2clipb yesnobox |
| 113 | |
| 114 | |
| 115 | hi def link ttlCharacter Character |
| 116 | hi def link ttlNumber Number |
| 117 | hi def link ttlComment Comment |
| 118 | hi def link ttlFirstComment Comment |
| 119 | hi def link ttlString String |
| 120 | hi def link ttlLabel Label |
| 121 | hi def link ttlIf Conditional |
| 122 | hi def link ttlElseIf Conditional |
| 123 | hi def link ttlThen Conditional |
| 124 | hi def link ttlConditional Conditional |
| 125 | hi def link ttlRepeat Repeat |
| 126 | hi def link ttlControlCommand Keyword |
| 127 | hi def link ttlVar Identifier |
| 128 | hi def link ttlOperator Operator |
| 129 | hi def link ttlCommunicationCommand Keyword |
| 130 | hi def link ttlStringCommand Keyword |
| 131 | hi def link ttlFileCommand Keyword |
| 132 | hi def link ttlPasswordCommand Keyword |
| 133 | hi def link ttlMiscCommand Keyword |
| 134 | |
| 135 | let b:current_syntax = "teraterm" |
| 136 | |
| 137 | let &cpo = s:save_cpo |
| 138 | unlet s:save_cpo |
| 139 | |
| 140 | " vim: ts=8 sw=2 sts=2 |