12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- " Vim syntax file
- " Language: AYacc
- " Maintainer: Mathieu Clabaut <mathieu.clabaut@free.fr>
- " LastChange: 2011 Dec 25
- " Original: Yacc, maintained by Dr. Charles E. Campbell, Jr.
- " Comment: Replaced sourcing c.vim file by ada.vim and rename yacc*
- " in ayacc*
- " quit when a syntax file was already loaded
- if exists("b:current_syntax")
- finish
- endif
- " Read the Ada syntax to start with
- runtime! syntax/ada.vim
- unlet b:current_syntax
- let s:cpo_save = &cpo
- set cpo&vim
- " Clusters
- syn cluster ayaccActionGroup contains=ayaccDelim,cInParen,cTodo,cIncluded,ayaccDelim,ayaccCurlyError,ayaccUnionCurly,ayaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError
- syn cluster ayaccUnionGroup contains=ayaccKey,cComment,ayaccCurly,cType,cStructure,cStorageClass,ayaccUnionCurly
- " Yacc stuff
- syn match ayaccDelim "^[ \t]*[:|;]"
- syn match ayaccOper "@\d\+"
- syn match ayaccKey "^[ \t]*%\(token\|type\|left\|right\|start\|ident\)\>"
- syn match ayaccKey "[ \t]%\(prec\|expect\|nonassoc\)\>"
- syn match ayaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+"
- syn keyword ayaccKeyActn yyerrok yyclearin
- syn match ayaccUnionStart "^%union" skipwhite skipnl nextgroup=ayaccUnion
- syn region ayaccUnion contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup
- syn region ayaccUnionCurly contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup
- syn match ayaccBrkt contained "[<>]"
- syn match ayaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=ayaccBrkt
- syn match ayaccDefinition "^[A-Za-z][A-Za-z0-9_]*[ \t]*:"
- " special Yacc separators
- syn match ayaccSectionSep "^[ \t]*%%"
- syn match ayaccSep "^[ \t]*%{"
- syn match ayaccSep "^[ \t]*%}"
- " I'd really like to highlight just the outer {}. Any suggestions???
- syn match ayaccCurlyError "[{}]"
- syn region ayaccAction matchgroup=ayaccCurly start="{" end="}" contains=ALLBUT,@ayaccActionGroup
- " Internal ayacc highlighting links
- hi def link ayaccBrkt ayaccStmt
- hi def link ayaccKey ayaccStmt
- hi def link ayaccOper ayaccStmt
- hi def link ayaccUnionStart ayaccKey
- " External ayacc highlighting links
- hi def link ayaccCurly Delimiter
- hi def link ayaccCurlyError Error
- hi def link ayaccDefinition Function
- hi def link ayaccDelim Function
- hi def link ayaccKeyActn Special
- hi def link ayaccSectionSep Todo
- hi def link ayaccSep Delimiter
- hi def link ayaccStmt Statement
- hi def link ayaccType Type
- " since Bram doesn't like my Delimiter :|
- hi def link Delimiter Type
- let b:current_syntax = "ayacc"
- let &cpo = s:cpo_save
- unlet s:cpo_save
- " vim: ts=15
|