Update runtime files.
This commit is contained in:
@ -1,7 +1,29 @@
|
||||
" Vim syntax file
|
||||
" Language: Intel hex MCS51
|
||||
" Maintainer: Sams Ricahrd <sams@ping.at>
|
||||
" Last Change: 2003 Apr 25
|
||||
" Language: Intel HEX
|
||||
" Maintainer: Markus Heidelberg <markus.heidelberg@web.de>
|
||||
" Previous version: Sams Ricahrd <sams@ping.at>
|
||||
" Last Change: 2015 Feb 24
|
||||
|
||||
" Each record (line) is built as follows:
|
||||
"
|
||||
" field digits states
|
||||
"
|
||||
" +----------+
|
||||
" | start | 1 (':') hexRecStart
|
||||
" +----------+
|
||||
" | count | 2 hexDataByteCount
|
||||
" +----------+
|
||||
" | address | 4 hexNoAddress, hexDataAddress, (hexAddressFieldUnknown)
|
||||
" +----------+
|
||||
" | type | 2 hexRecType, (hexRecTypeUnknown)
|
||||
" +----------+
|
||||
" | data | 0..510 hexDataOdd, hexDataEven, hexExtendedAddress, hexStartAddress, (hexDataFieldUnknown, hexDataUnexpected)
|
||||
" +----------+
|
||||
" | checksum | 2 hexChecksum
|
||||
" +----------+
|
||||
"
|
||||
" States in parentheses in the upper format description indicate that they
|
||||
" should not appear in a valid file.
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@ -11,21 +33,39 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn case ignore
|
||||
syn match hexRecStart "^:"
|
||||
|
||||
" storage types
|
||||
syn match hexDataByteCount "^:[0-9a-fA-F]\{2}" contains=hexRecStart nextgroup=hexAddress
|
||||
|
||||
syn match hexChecksum "[0-9a-fA-F]\{2}$"
|
||||
syn match hexAdress "^:[0-9a-fA-F]\{6}" contains=hexDataByteCount
|
||||
syn match hexRecType "^:[0-9a-fA-F]\{8}" contains=hexAdress
|
||||
syn match hexDataByteCount contained "^:[0-9a-fA-F]\{2}" contains=hexStart
|
||||
syn match hexStart contained "^:"
|
||||
syn match hexExtAdrRec "^:02000002[0-9a-fA-F]\{4}" contains=hexSpecRec
|
||||
syn match hexExtLinAdrRec "^:02000004[0-9a-fA-F]\{4}" contains=hexSpecRec
|
||||
syn match hexSpecRec contained "^:0[02]00000[124]" contains=hexStart
|
||||
syn match hexEOF "^:00000001" contains=hexStart
|
||||
syn match hexAddress "[0-9a-fA-F]\{4}" transparent contained nextgroup=hexRecTypeUnknown,hexRecType
|
||||
" The address field groups include the record type field in the last 2
|
||||
" characters, the proper match for highlighting follows below.
|
||||
syn match hexAddressFieldUnknown "^:[0-9a-fA-F]\{8}" contains=hexDataByteCount nextgroup=hexDataFieldUnknown,hexChecksum
|
||||
syn match hexDataAddress "^:[0-9a-fA-F]\{6}00" contains=hexDataByteCount nextgroup=hexDataOdd,hexChecksum
|
||||
syn match hexNoAddress "^:[0-9a-fA-F]\{6}01" contains=hexDataByteCount nextgroup=hexDataUnexpected,hexChecksum
|
||||
syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[24]" contains=hexDataByteCount nextgroup=hexExtendedAddress
|
||||
syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[35]" contains=hexDataByteCount nextgroup=hexStartAddress
|
||||
|
||||
syn case match
|
||||
syn match hexRecTypeUnknown "[0-9a-fA-F]\{2}" contained
|
||||
syn match hexRecType "0[0-5]" contained
|
||||
|
||||
syn match hexDataFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=hexDataFieldUnknown,hexChecksum
|
||||
" alternating highlight per byte for easier reading
|
||||
syn match hexDataOdd "[0-9a-fA-F]\{2}" contained nextgroup=hexDataEven,hexChecksum
|
||||
syn match hexDataEven "[0-9a-fA-F]\{2}" contained nextgroup=hexDataOdd,hexChecksum
|
||||
" data bytes which should not exist
|
||||
syn match hexDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=hexDataUnexpected,hexChecksum
|
||||
" Data digit pair regex usage also results in only highlighting the checksum
|
||||
" if the number of data characters is even.
|
||||
|
||||
" special data fields
|
||||
syn match hexExtendedAddress "[0-9a-fA-F]\{4}" contained nextgroup=hexDataUnexpected,hexChecksum
|
||||
syn match hexStartAddress "[0-9a-fA-F]\{8}" contained nextgroup=hexDataUnexpected,hexChecksum
|
||||
|
||||
syn match hexChecksum "[0-9a-fA-F]\{2}$" contained
|
||||
|
||||
" Folding Data Records below an Extended Segment/Linear Address Record
|
||||
syn region hexExtAdrBlock start="^:[0-9a-fA-F]\{7}[24]" skip="^:[0-9a-fA-F]\{7}0" end="^:"me=s-1 fold transparent
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
@ -38,16 +78,21 @@ if version >= 508 || !exists("did_hex_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" The default methods for highlighting. Can be overridden later
|
||||
HiLink hexStart SpecialKey
|
||||
HiLink hexDataByteCount Constant
|
||||
HiLink hexAdress Comment
|
||||
HiLink hexRecType WarningMsg
|
||||
HiLink hexChecksum Search
|
||||
HiLink hexExtAdrRec hexAdress
|
||||
HiLink hexEOF hexSpecRec
|
||||
HiLink hexExtLinAdrRec hexAdress
|
||||
HiLink hexSpecRec DiffAdd
|
||||
" The default methods for highlighting. Can be overridden later
|
||||
HiLink hexRecStart hexRecType
|
||||
HiLink hexDataByteCount Constant
|
||||
hi def hexAddressFieldUnknown term=italic cterm=italic gui=italic
|
||||
HiLink hexDataAddress Comment
|
||||
HiLink hexNoAddress DiffAdd
|
||||
HiLink hexRecTypeUnknown hexRecType
|
||||
HiLink hexRecType WarningMsg
|
||||
hi def hexDataFieldUnknown term=italic cterm=italic gui=italic
|
||||
hi def hexDataOdd term=bold cterm=bold gui=bold
|
||||
hi def hexDataEven term=NONE cterm=NONE gui=NONE
|
||||
HiLink hexDataUnexpected Error
|
||||
HiLink hexExtendedAddress hexDataAddress
|
||||
HiLink hexStartAddress hexDataAddress
|
||||
HiLink hexChecksum DiffChange
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user