blob: eef74f26fcbd3c61fdfde8df6d855eb7f9cf2b4b [file] [log] [blame]
" Vim syntax file
" Language: Screen Virtual Terminal Emulator/Manager Configuration File
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/syntax/pcp/screen/
" Latest Revision: 2004-05-22
" arch-tag: 6a97fb8f-fc88-497f-9c55-e946734ba034
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" comments
syn region screenComment matchgroup=screenComment start="#" end="$" contains=screenTodo
" todo
syn keyword screenTodo contained TODO FIXME XXX NOTE
" string (can contain variables)
syn region screenString matchgroup=screenString start='"' skip='\\"' end='"\|$' contains=screenVariable,screenSpecial
" literal string
syn region screenLiteral matchgroup=screenLiteral start="'" skip="\\'" end="'\|$"
" environment variables
syn match screenVariable contained "$\(\h\w*\|{\h\w*}\)"
" booleans
syn keyword screenBoolean on off
" numbers
syn match screenNumbers "\<\d\+\>"
" specials
syn match screenSpecials contained "%\([%aAdDhlmMstuwWyY?:{]\|[0-9]*n\|0?cC\)"
" commands
syn keyword screenCommands acladd aclchg acldel aclgrp aclumask activity addacl allpartial at attrcolor
syn keyword screenCommands autodetach bell_msg bind bindkey bufferfile caption chacl chdir clear colon
syn keyword screenCommands command compacthist console copy copy_regcrlf debug detach digraph dinfo crlf
syn keyword screenCommands displays dumptermcap echo exec fit focus height help history
syn keyword screenCommands info kill lastmsg license lockscreen markkeys meta msgminwait msgwait
syn keyword screenCommands multiuser nethack next nonblock number only other partial_state
syn keyword screenCommands password paste pastefont pow_break pow_detach_msg prev printcmd process
syn keyword screenCommands quit readbuf readreg redisplay register remove removebuf reset resize screen
syn keyword screenCommands select sessionname setenv shelltitle silencewait verbose
syn keyword screenCommands sleep sorendition split startup_message stuff su suspend time
syn keyword screenCommands title umask version wall width writebuf xoff xon defmode hardstatus
syn keyword screenCommands altscreen break breaktype copy_reg defbreaktype defencoding deflog encoding
syn keyword screenCommands eval ignorecase ins_reg maxwin partial pow_detach setsid source unsetenv
syn keyword screenCommands windowlist windows
syn match screenCommands "\<\(def\)\=\(autonuke\|bce\|c1\|charset\|escape\|flow\|kanji\|login\|monitor\|hstatus\|obuflimit\)\>"
syn match screenCommands "\<\(def\)\=\(scrollback\|shell\|silence\|slowpaste\|utf8\|wrap\|writelock\|zombie\|gr\)\>"
syn match screenCommands "\<hard\(copy\(_append\|dir\)\=\|status\)\>"
syn match screenCommands "\<log\(file\|in\|tstamp\)\=\>"
syn match screenCommands "\<map\(default\|notnext\|timeout\)\>"
syn match screenCommands "\<term\(cap\|info\|capinfo\)\=\>"
syn match screenCommands "\<vbell\(_msg\|wait\)\=\>"
if exists("screen_minlines")
let b:screen_minlines = screen_minlines
else
let b:screen_minlines = 10
endif
exec "syn sync minlines=" . b:screen_minlines
" 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_screen_syn_inits")
if version < 508
let did_screen_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink screenComment Comment
HiLink screenTodo Todo
HiLink screenString String
HiLink screenLiteral String
HiLink screenVariable Identifier
HiLink screenBoolean Boolean
HiLink screenNumbers Number
HiLink screenSpecials Special
HiLink screenCommands Keyword
delcommand HiLink
endif
let b:current_syntax = "screen"
" vim: set sts=2 sw=2: