mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
175 lines
5.3 KiB
VimL
175 lines
5.3 KiB
VimL
" Vim syntax file
|
|
" Language: ABEL
|
|
" Maintainer: John Cook <johncook3@gmail.com>
|
|
" Last Change: 2011 Dec 27
|
|
|
|
" 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
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
" this language is oblivious to case
|
|
syn case ignore
|
|
|
|
" A bunch of keywords
|
|
syn keyword abelHeader module title device options
|
|
syn keyword abelSection declarations equations test_vectors end
|
|
syn keyword abelDeclaration state truth_table state_diagram property
|
|
syn keyword abelType pin node attribute constant macro library
|
|
|
|
syn keyword abelTypeId com reg neg pos buffer dc reg_d reg_t contained
|
|
syn keyword abelTypeId reg_sr reg_jk reg_g retain xor invert contained
|
|
|
|
syn keyword abelStatement when then else if with endwith case endcase
|
|
syn keyword abelStatement fuses expr trace
|
|
|
|
" option to omit obsolete statements
|
|
if exists("abel_obsolete_ok")
|
|
syn keyword abelStatement enable flag in
|
|
else
|
|
syn keyword abelError enable flag in
|
|
endif
|
|
|
|
" directives
|
|
syn match abelDirective "@alternate"
|
|
syn match abelDirective "@standard"
|
|
syn match abelDirective "@const"
|
|
syn match abelDirective "@dcset"
|
|
syn match abelDirective "@include"
|
|
syn match abelDirective "@page"
|
|
syn match abelDirective "@radix"
|
|
syn match abelDirective "@repeat"
|
|
syn match abelDirective "@irp"
|
|
syn match abelDirective "@expr"
|
|
syn match abelDirective "@if"
|
|
syn match abelDirective "@ifb"
|
|
syn match abelDirective "@ifnb"
|
|
syn match abelDirective "@ifdef"
|
|
syn match abelDirective "@ifndef"
|
|
syn match abelDirective "@ifiden"
|
|
syn match abelDirective "@ifniden"
|
|
|
|
syn keyword abelTodo contained TODO XXX FIXME
|
|
|
|
" wrap up type identifiers to differentiate them from normal strings
|
|
syn region abelSpecifier start='istype' end=';' contains=abelTypeIdChar,abelTypeId,abelTypeIdEnd keepend
|
|
syn match abelTypeIdChar "[,']" contained
|
|
syn match abelTypeIdEnd ";" contained
|
|
|
|
" string contstants and special characters within them
|
|
syn match abelSpecial contained "\\['\\]"
|
|
syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial
|
|
|
|
" valid integer number formats (decimal, binary, octal, hex)
|
|
syn match abelNumber "\<[-+]\=[0-9]\+\>"
|
|
syn match abelNumber "\^d[0-9]\+\>"
|
|
syn match abelNumber "\^b[01]\+\>"
|
|
syn match abelNumber "\^o[0-7]\+\>"
|
|
syn match abelNumber "\^h[0-9a-f]\+\>"
|
|
|
|
" special characters
|
|
" (define these after abelOperator so ?= overrides ?)
|
|
syn match abelSpecialChar "[\[\](){},;:?]"
|
|
|
|
" operators
|
|
syn match abelLogicalOperator "[!#&$]"
|
|
syn match abelRangeOperator "\.\."
|
|
syn match abelAlternateOperator "[/*+]"
|
|
syn match abelAlternateOperator ":[+*]:"
|
|
syn match abelArithmeticOperator "[-%]"
|
|
syn match abelArithmeticOperator "<<"
|
|
syn match abelArithmeticOperator ">>"
|
|
syn match abelRelationalOperator "[<>!=]="
|
|
syn match abelRelationalOperator "[<>]"
|
|
syn match abelAssignmentOperator "[:?]\=="
|
|
syn match abelAssignmentOperator "?:="
|
|
syn match abelTruthTableOperator "->"
|
|
|
|
" signal extensions
|
|
syn match abelExtension "\.aclr\>"
|
|
syn match abelExtension "\.aset\>"
|
|
syn match abelExtension "\.clk\>"
|
|
syn match abelExtension "\.clr\>"
|
|
syn match abelExtension "\.com\>"
|
|
syn match abelExtension "\.fb\>"
|
|
syn match abelExtension "\.[co]e\>"
|
|
syn match abelExtension "\.l[eh]\>"
|
|
syn match abelExtension "\.fc\>"
|
|
syn match abelExtension "\.pin\>"
|
|
syn match abelExtension "\.set\>"
|
|
syn match abelExtension "\.[djksrtq]\>"
|
|
syn match abelExtension "\.pr\>"
|
|
syn match abelExtension "\.re\>"
|
|
syn match abelExtension "\.a[pr]\>"
|
|
syn match abelExtension "\.s[pr]\>"
|
|
|
|
" special constants
|
|
syn match abelConstant "\.[ckudfpxz]\."
|
|
syn match abelConstant "\.sv[2-9]\."
|
|
|
|
" one-line comments
|
|
syn region abelComment start=+"+ end=+"\|$+ contains=abelNumber,abelTodo
|
|
" option to prevent C++ style comments
|
|
if !exists("abel_cpp_comments_illegal")
|
|
syn region abelComment start=+//+ end=+$+ contains=abelNumber,abelTodo
|
|
endif
|
|
|
|
syn sync minlines=1
|
|
|
|
" 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_abel_syn_inits")
|
|
if version < 508
|
|
let did_abel_syn_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
" The default highlighting.
|
|
HiLink abelHeader abelStatement
|
|
HiLink abelSection abelStatement
|
|
HiLink abelDeclaration abelStatement
|
|
HiLink abelLogicalOperator abelOperator
|
|
HiLink abelRangeOperator abelOperator
|
|
HiLink abelAlternateOperator abelOperator
|
|
HiLink abelArithmeticOperator abelOperator
|
|
HiLink abelRelationalOperator abelOperator
|
|
HiLink abelAssignmentOperator abelOperator
|
|
HiLink abelTruthTableOperator abelOperator
|
|
HiLink abelSpecifier abelStatement
|
|
HiLink abelOperator abelStatement
|
|
HiLink abelStatement Statement
|
|
HiLink abelIdentifier Identifier
|
|
HiLink abelTypeId abelType
|
|
HiLink abelTypeIdChar abelType
|
|
HiLink abelType Type
|
|
HiLink abelNumber abelString
|
|
HiLink abelString String
|
|
HiLink abelConstant Constant
|
|
HiLink abelComment Comment
|
|
HiLink abelExtension abelSpecial
|
|
HiLink abelSpecialChar abelSpecial
|
|
HiLink abelTypeIdEnd abelSpecial
|
|
HiLink abelSpecial Special
|
|
HiLink abelDirective PreProc
|
|
HiLink abelTodo Todo
|
|
HiLink abelError Error
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "abel"
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
|
|
" vim:ts=8
|