neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

lnk.vim (1963B)


      1 " Vim syntax file
      2 " Language:	TI linker command file
      3 " Document:	https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html
      4 " Document:	https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html
      5 " Maintainer:	Wu, Zhenyu <wuzhenyu@ustc.edu>
      6 " Last Change:	2024 Dec 31
      7 
      8 if exists("b:current_syntax")
      9  finish
     10 endif
     11 
     12 runtime! syntax/cmacro.vim
     13 
     14 syn case ignore
     15 syn match lnkNumber		"0x[0-9a-f]\+"
     16 " Linker command files are ASCII files that contain one or more of the following:
     17 " Input filenames, which specify object files, archive libraries, or other command files.
     18 " Linker options, which can be used in the command file in the same manner that they are used on the command line
     19 syn match   lnkOption		"^[-+][-_a-zA-Z#@]\+"
     20 syn match   lnkOption		"^--[^ \t$=`'"|);]\+"
     21 syn match   lnkFile		'[^ =]\+\%(\.\S\+\)\+\>'
     22 syn match   lnkLibFile		'[^ =]\+\.lib\>'
     23 " The MEMORY and SECTIONS linker directives. The MEMORY directive defines the target memory configuration (see Section 8.5.4). The SECTIONS directive controls how sections are built and allocated (see Section 8.5.5.)
     24 syn keyword lnkKeyword	ADDRESS_MASK f LOAD ORIGIN START ALGORITHM FILL LOAD_END PAGE TABLE ALIGN GROUP LOAD_SIZE PALIGN TYPE ATTR HAMMING_MASK LOAD_START PARITY_MASK UNION BLOCK HIGH MEMORY RUN UNORDERED COMPRESSION INPUT_PAGE MIRRORING RUN_END VFILL COPY INPUT_RANGE NOINIT RUN_SIZE DSECT l NOLOAD RUN_START ECC LEN o SECTIONS END LENGTH ORG SIZE
     25 syn region  lnkLibrary		start=+<+ end=+>+
     26 syn match   lnkAttrib		'\<[RWXI]\+\>'
     27 syn match   lnkSections      	'\<\.\k\+'
     28 " Assignment statements, which define and assign values to global symbols
     29 syn case match
     30 
     31 hi def link lnkNumber		Number
     32 hi def link lnkOption		Special
     33 hi def link lnkKeyword		Keyword
     34 hi def link lnkLibrary		String
     35 hi def link lnkFile		String
     36 hi def link lnkLibFile		Special
     37 hi def link lnkAttrib		Type
     38 hi def link lnkSections		Macro
     39 
     40 let b:current_syntax = "lnk"