1" Vim syntax file 2" Language: ld(1) script 3" Previous Maintainer: Nikolai Weibull <[email protected]> 4" Latest Revision: 2006-04-19 5 6if exists("b:current_syntax") 7 finish 8endif 9 10let s:cpo_save = &cpo 11set cpo&vim 12 13syn keyword ldTodo contained TODO FIXME XXX NOTE 14 15syn region ldComment start='/\*' end='\*/' contains=ldTodo,@Spell 16 17syn region ldFileName start=+"+ end=+"+ 18 19syn keyword ldPreProc SECTIONS MEMORY OVERLAY PHDRS VERSION INCLUDE 20syn match ldPreProc '\<VERS_\d\+\.\d\+' 21 22syn keyword ldFunction ABSOLUTE ADDR ALIGN BLOCK DATA_SEGMENT_ALIGN 23 \ DATA_SEGMENT_END DATA_SEGMENT_RELRO_END DEFINED 24 \ LOADADDR MAX MIN NEXT SIZEOF SIZEOF_HEADERS 25 \ sizeof_headers 26 27syn keyword ldKeyword ENTRY INPUT GROUP OUTPUT 28 \ SEARCH_DIR STARTUP OUTPUT_FORMAT TARGET 29 \ ASSERT EXTERN FORCE_COMMON_ALLOCATION 30 \ INHIBIT_COMMON_ALLOCATION NOCROSSREFS OUTPUT_ARCH 31 \ PROVIDE EXCLUDE_FILE SORT KEEP FILL 32 \ CREATE_OBJECT_SYMBOLS CONSTRUCTORS SUBALIGN 33 \ FILEHDR AT __asm__ ABSOLUTE 34 35syn keyword ldDataType BYTE SHORT LONG QUAD SQUAD 36syn keyword ldOutputType NOLOAD DSECT COPY INFO OVERLAY 37syn keyword ldPTType PT_NULL PT_LOAD PT_DYNAMIC PT_INTERP 38 \ PT_NOTE PT_SHLIB PT_PHDR 39 40syn keyword ldSpecial COMMON 41syn match ldSpecial '/DISCARD/' 42 43syn keyword ldIdentifier ORIGIN LENGTH 44 45syn match ldSpecSections '\.' 46syn match ldSections '\.\S\+' 47syn match ldSpecSections '\.\%(text\|data\|bss\|symver\)\>' 48 49syn match ldNumber display '\<0[xX]\x\+\>' 50syn match ldNumber display '\d\+[KM]\>' contains=ldNumberMult 51syn match ldNumberMult display '\(\d\+\)\@<=[KM]\>' 52syn match ldOctal contained display '\<0\o\+\>' 53 \ contains=ldOctalZero 54syn match ldOctalZero contained display '\<0' 55syn match ldOctalError contained display '\<0\o*[89]\d*\>' 56 57 58hi def link ldTodo Todo 59hi def link ldComment Comment 60hi def link ldFileName String 61hi def link ldPreProc PreProc 62hi def link ldFunction Identifier 63hi def link ldKeyword Keyword 64hi def link ldType Type 65hi def link ldDataType ldType 66hi def link ldOutputType ldType 67hi def link ldPTType ldType 68hi def link ldSpecial Special 69hi def link ldIdentifier Identifier 70hi def link ldSections Constant 71hi def link ldSpecSections Special 72hi def link ldNumber Number 73hi def link ldNumberMult PreProc 74hi def link ldOctal ldNumber 75hi def link ldOctalZero PreProc 76hi def link ldOctalError Error 77 78let b:current_syntax = "ld" 79 80let &cpo = s:cpo_save 81unlet s:cpo_save 82