" Vim syntax file
" Language: ld(1) script
" Maintainer: Nikolai Weibull
" Latest Revision: 2006-04-19
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword ldTodo contained TODO FIXME XXX NOTE
syn region ldComment start='/\*' end='\*/' contains=ldTodo,@Spell
syn region ldFileName start=+"+ end=+"+
syn keyword ldPreProc SECTIONS MEMORY OVERLAY PHDRS VERSION INCLUDE
syn match ldPreProc '\'
syn match ldNumber display '\<0[xX]\x\+\>'
syn match ldNumber display '\d\+[KM]\>' contains=ldNumberMult
syn match ldNumberMult display '[KM]\>'
syn match ldOctal contained display '\<0\o\+\>'
\ contains=ldOctalZero
syn match ldOctalZero contained display '\<0'
syn match ldOctalError contained display '\<0\o*[89]\d*\>'
hi def link ldTodo Todo
hi def link ldComment Comment
hi def link ldFileName String
hi def link ldPreProc PreProc
hi def link ldFunction Identifier
hi def link ldKeyword Keyword
hi def link ldType Type
hi def link ldDataType ldType
hi def link ldOutputType ldType
hi def link ldPTType ldType
hi def link ldSpecial Special
hi def link ldIdentifier Identifier
hi def link ldSections Constant
hi def link ldSpecSections Special
hi def link ldNumber Number
hi def link ldNumberMult PreProc
hi def link ldOctal ldNumber
hi def link ldOctalZero PreProc
hi def link ldOctalError Error
let b:current_syntax = "ld"
let &cpo = s:cpo_save
unlet s:cpo_save