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