diff runtime/syntax/ld.vim @ 372:a698eb686ded

updated for version 7.0096
author vimboss
date Tue, 28 Jun 2005 23:23:32 +0000
parents
children f14cbd913415
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/ld.vim
@@ -0,0 +1,81 @@
+" Vim syntax file
+" Language:         ld(1) script
+" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision:  2005-06-28
+
+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
+syn match   ldPreProc       '\<VERS_\d\+\.\d\+'
+
+syn keyword ldFunction      ABSOLUTE ADDR ALIGN BLOCK DATA_SEGMENT_ALIGN
+                            \ DATA_SEGMENT_END DATA_SEGMENT_RELRO_END DEFINED
+                            \ LOADADDR MAX MIN NEXT SIZEOF SIZEOF_HEADERS
+                            \ sizeof_headers
+
+syn keyword ldKeyword       ENTRY INCLUDE INPUT GROUP OUTPUT
+                            \ SEARCH_DIR STARTUP OUTPUT_FORMAT TARGET
+                            \ ASSERT EXTERN FORCE_COMMON_ALLOCATION
+                            \ INHIBIT_COMMON_ALLOCATION NOCROSSREFS OUTPUT_ARCH
+                            \ PROVIDE EXCLUDE_FILE SORT KEEP FILL
+                            \ CREATE_OBJECT_SYMBOLS CONSTRUCTORS SUBALIGN
+                            \ FILEHDR AT __asm__ ABSOLUTE
+
+syn keyword ldDataType      BYTE SHORT LONG QUAD SQUAD
+syn keyword ldOutputType    NOLOAD DSECT COPY INFO OVERLAY
+syn keyword ldPTType        PT_NULL PT_LOAD PT_DYNAMIC PT_INTERP
+                            \ PT_NOTE PT_SHLIB PT_PHDR
+
+syn keyword ldSpecial       COMMON
+syn match   ldSpecial       '/DISCARD/'
+
+syn keyword ldIdentifier    ORIGIN LENGTH
+
+syn match   ldSpecSections  '\.'
+syn match   ldSections      '\.\S\+'
+syn match   ldSpecSections  '\.\%(text\|data\|bss\|symver\)\>'
+
+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