mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
210 lines
7.1 KiB
VimL
210 lines
7.1 KiB
VimL
|
" Vim syntax file
|
||
|
" Language: tf
|
||
|
" Maintainer: Lutz Eymers <ixtab@polzin.com>
|
||
|
" URL: http://www.isp.de/data/tf.vim
|
||
|
" Email: send syntax_vim.tgz
|
||
|
" Last Change: 2001 May 10
|
||
|
"
|
||
|
" Options lite_minlines = x to sync at least x lines backwards
|
||
|
|
||
|
" Remove any old syntax stuff hanging around
|
||
|
|
||
|
" For version 5.x: Clear all syntax items
|
||
|
" For version 6.x: Quit when a syntax file was already loaded
|
||
|
if version < 600
|
||
|
syntax clear
|
||
|
elseif exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
syn case match
|
||
|
|
||
|
if !exists("main_syntax")
|
||
|
let main_syntax = 'tf'
|
||
|
endif
|
||
|
|
||
|
" Special global variables
|
||
|
syn keyword tfVar HOME LANG MAIL SHELL TERM TFHELP TFLIBDIR TFLIBRARY TZ contained
|
||
|
syn keyword tfVar background backslash contained
|
||
|
syn keyword tfVar bamf bg_output borg clearfull cleardone clock connect contained
|
||
|
syn keyword tfVar emulation end_color gag gethostbyname gpri hook hilite contained
|
||
|
syn keyword tfVar hiliteattr histsize hpri insert isize istrip kecho contained
|
||
|
syn keyword tfVar kprefix login lp lpquote maildelay matching max_iter contained
|
||
|
syn keyword tfVar max_recur mecho more mprefix oldslash promt_sec contained
|
||
|
syn keyword tfVar prompt_usec proxy_host proxy_port ptime qecho qprefix contained
|
||
|
syn keyword tfVar quite quitdone redef refreshtime scroll shpause snarf sockmload contained
|
||
|
syn keyword tfVar start_color tabsize telopt sub time_format visual contained
|
||
|
syn keyword tfVar watch_dog watchname wordpunct wrap wraplog wrapsize contained
|
||
|
syn keyword tfVar wrapspace contained
|
||
|
|
||
|
" Worldvar
|
||
|
syn keyword tfWorld world_name world_character world_password world_host contained
|
||
|
syn keyword tfWorld world_port world_mfile world_type contained
|
||
|
|
||
|
" Number
|
||
|
syn match tfNumber "-\=\<\d\+\>"
|
||
|
|
||
|
" Float
|
||
|
syn match tfFloat "\(-\=\<\d+\|-\=\)\.\d\+\>"
|
||
|
|
||
|
" Operator
|
||
|
syn match tfOperator "[-+=?:&|!]"
|
||
|
syn match tfOperator "/[^*~@]"he=e-1
|
||
|
syn match tfOperator ":="
|
||
|
syn match tfOperator "[^/%]\*"hs=s+1
|
||
|
syn match tfOperator "$\+[([{]"he=e-1,me=e-1
|
||
|
syn match tfOperator "\^\[\+"he=s+1 contains=tfSpecialCharEsc
|
||
|
|
||
|
" Relational
|
||
|
syn match tfRelation "&&"
|
||
|
syn match tfRelation "||"
|
||
|
syn match tfRelation "[<>/!=]="
|
||
|
syn match tfRelation "[<>]"
|
||
|
syn match tfRelation "[!=]\~"
|
||
|
syn match tfRelation "[=!]/"
|
||
|
|
||
|
|
||
|
" Readonly Var
|
||
|
syn match tfReadonly "[#*]" contained
|
||
|
syn match tfReadonly "\<-\=L\=\d\{-}\>" contained
|
||
|
syn match tfReadonly "\<P\(\d\+\|R\|L\)\>" contained
|
||
|
syn match tfReadonly "\<R\>" contained
|
||
|
|
||
|
" Identifier
|
||
|
syn match tfIdentifier "%\+[a-zA-Z_#*-0-9]\w*" contains=tfVar,tfReadonly
|
||
|
syn match tfIdentifier "%\+[{]"he=e-1,me=e-1
|
||
|
syn match tfIdentifier "\$\+{[a-zA-Z_#*-0-9]\w*}" contains=tfWorld
|
||
|
|
||
|
" Function names
|
||
|
syn keyword tfFunctions ascii char columns echo filename ftime fwrite getopts
|
||
|
syn keyword tfFunctions getpid idle kbdel kbgoto kbhead kblen kbmatch kbpoint
|
||
|
syn keyword tfFunctions kbtail kbwordleft kbwordright keycode lines mod
|
||
|
syn keyword tfFunctions moresize pad rand read regmatch send strcat strchr
|
||
|
syn keyword tfFunctions strcmp strlen strncmp strrchr strrep strstr substr
|
||
|
syn keyword tfFunctions systype time tolower toupper
|
||
|
|
||
|
syn keyword tfStatement addworld bamf beep bind break cat changes connect contained
|
||
|
syn keyword tfStatement dc def dokey echo edit escape eval export expr fg for contained
|
||
|
syn keyword tfStatement gag getfile grab help hilite histsize hook if input contained
|
||
|
syn keyword tfStatement kill lcd let list listsockets listworlds load contained
|
||
|
syn keyword tfStatement localecho log nohilite not partial paste ps purge contained
|
||
|
syn keyword tfStatement purgeworld putfile quit quote recall recordline save contained
|
||
|
syn keyword tfStatement saveworld send sh shift sub substitute contained
|
||
|
syn keyword tfStatement suspend telnet test time toggle trig trigger unbind contained
|
||
|
syn keyword tfStatement undef undefn undeft unhook untrig unworld contained
|
||
|
syn keyword tfStatement version watchdog watchname while world contained
|
||
|
|
||
|
" Hooks
|
||
|
syn keyword tfHook ACTIVITY BACKGROUND BAMF CONFAIL CONFLICT CONNECT DISCONNECT
|
||
|
syn keyword tfHook KILL LOAD LOADFAIL LOG LOGIN MAIL MORE PENDING PENDING
|
||
|
syn keyword tfHook PROCESS PROMPT PROXY REDEF RESIZE RESUME SEND SHADOW SHELL
|
||
|
syn keyword tfHook SIGHUP SIGTERM SIGUSR1 SIGUSR2 WORLD
|
||
|
|
||
|
" Conditional
|
||
|
syn keyword tfConditional if endif then else elseif contained
|
||
|
|
||
|
" Repeat
|
||
|
syn keyword tfRepeat while do done repeat for contained
|
||
|
|
||
|
" Statement
|
||
|
syn keyword tfStatement break quit contained
|
||
|
|
||
|
" Include
|
||
|
syn keyword tfInclude require load save loaded contained
|
||
|
|
||
|
" Define
|
||
|
syn keyword tfDefine bind unbind def undef undefn undefn purge hook unhook trig untrig contained
|
||
|
syn keyword tfDefine set unset setenv contained
|
||
|
|
||
|
" Todo
|
||
|
syn keyword tfTodo TODO Todo todo contained
|
||
|
|
||
|
" SpecialChar
|
||
|
syn match tfSpecialChar "\\[abcfnrtyv\\]" contained
|
||
|
syn match tfSpecialChar "\\\d\{3}" contained contains=tfOctalError
|
||
|
syn match tfSpecialChar "\\x[0-9a-fA-F]\{2}" contained
|
||
|
syn match tfSpecialCharEsc "\[\+" contained
|
||
|
|
||
|
syn match tfOctalError "[89]" contained
|
||
|
|
||
|
" Comment
|
||
|
syn region tfComment start="^;" end="$" contains=tfTodo
|
||
|
|
||
|
" String
|
||
|
syn region tfString oneline matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=tfIdentifier,tfSpecialChar,tfEscape
|
||
|
syn region tfString matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=tfIdentifier,tfSpecialChar,tfEscape
|
||
|
|
||
|
syn match tfParentError "[)}\]]"
|
||
|
|
||
|
" Parents
|
||
|
syn region tfParent matchgroup=Delimiter start="(" end=")" contains=ALLBUT,tfReadonly
|
||
|
syn region tfParent matchgroup=Delimiter start="\[" end="\]" contains=ALL
|
||
|
syn region tfParent matchgroup=Delimiter start="{" end="}" contains=ALL
|
||
|
|
||
|
syn match tfEndCommand "%%\{-};"
|
||
|
syn match tfJoinLines "\\$"
|
||
|
|
||
|
" Types
|
||
|
|
||
|
syn match tfType "/[a-zA-Z_~@][a-zA-Z0-9_]*" contains=tfConditional,tfRepeat,tfStatement,tfInclude,tfDefine,tfStatement
|
||
|
|
||
|
" Catch /quote .. '
|
||
|
syn match tfQuotes "/quote .\{-}'" contains=ALLBUT,tfString
|
||
|
" Catch $(/escape )
|
||
|
syn match tfEscape "(/escape .*)"
|
||
|
|
||
|
" sync
|
||
|
if exists("tf_minlines")
|
||
|
exec "syn sync minlines=" . tf_minlines
|
||
|
else
|
||
|
syn sync minlines=100
|
||
|
endif
|
||
|
|
||
|
" Define the default highlighting.
|
||
|
" For version 5.7 and earlier: only when not done already
|
||
|
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||
|
if version >= 508 || !exists("did_tf_syn_inits")
|
||
|
if version < 508
|
||
|
let did_tf_syn_inits = 1
|
||
|
command -nargs=+ HiLink hi link <args>
|
||
|
else
|
||
|
command -nargs=+ HiLink hi def link <args>
|
||
|
endif
|
||
|
|
||
|
HiLink tfComment Comment
|
||
|
HiLink tfString String
|
||
|
HiLink tfNumber Number
|
||
|
HiLink tfFloat Float
|
||
|
HiLink tfIdentifier Identifier
|
||
|
HiLink tfVar Identifier
|
||
|
HiLink tfWorld Identifier
|
||
|
HiLink tfReadonly Identifier
|
||
|
HiLink tfHook Identifier
|
||
|
HiLink tfFunctions Function
|
||
|
HiLink tfRepeat Repeat
|
||
|
HiLink tfConditional Conditional
|
||
|
HiLink tfLabel Label
|
||
|
HiLink tfStatement Statement
|
||
|
HiLink tfType Type
|
||
|
HiLink tfInclude Include
|
||
|
HiLink tfDefine Define
|
||
|
HiLink tfSpecialChar SpecialChar
|
||
|
HiLink tfSpecialCharEsc SpecialChar
|
||
|
HiLink tfParentError Error
|
||
|
HiLink tfTodo Todo
|
||
|
HiLink tfEndCommand Delimiter
|
||
|
HiLink tfJoinLines Delimiter
|
||
|
HiLink tfOperator Operator
|
||
|
HiLink tfRelation Operator
|
||
|
|
||
|
delcommand HiLink
|
||
|
endif
|
||
|
|
||
|
let b:current_syntax = "tf"
|
||
|
|
||
|
if main_syntax == 'tf'
|
||
|
unlet main_syntax
|
||
|
endif
|
||
|
|
||
|
" vim: ts=8
|