0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 9.1.0972: filetype: TI linker map files are not recognized

Problem:  filetype: TI linker map files are not recognized
Solution: detect TI linker map files as lnkmap filetype
          (Wu, Zhenyu)

References:
https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html

closes: #16324

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Wu, Zhenyu
2024-12-29 15:28:46 +01:00
committed by Christian Brabandt
parent f0ab3e4e41
commit 5113831d16
5 changed files with 77 additions and 2 deletions

35
runtime/syntax/lnkmap.vim Normal file
View File

@@ -0,0 +1,35 @@
" Vim syntax file
" Language: TI Linker map
" Document: https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Last Change: 2024 Dec 25
if exists("b:current_syntax")
finish
endif
syn match lnkmapTime ">> .*$"
syn region lnkmapHeadline start="^\*\+$" end="^\*\+$"
syn match lnkmapHeadline "^[A-Z][-A-Z0-9 ']*\ze\%(:\|$\)"
syn match lnkmapSectionDelim "^=\+$"
syn match lnkmapTableDelim "\%(^\|\s\)\zs---*\ze\%($\|\s\)"
syn match lnkmapNumber "\%(^\|\s\)\zs[0-9a-f]\+\ze\%($\|\s\)"
syn match lnkmapSections '\<\.\k\+\>'
syn match lnkmapFile '[^ =]\+\%(\.\S\+\)\+\>'
syn match lnkmapLibFile '[^ =]\+\.lib\>'
syn match lnkmapAttrib '\<[RWIX]\+\>'
syn match lnkmapAttrib '\s\zs--HOLE--\ze\%\(\s\|$\)'
syn keyword lnkmapAttrib UNINITIALIZED
hi def link lnkmapTime Comment
hi def link lnkmapHeadline Title
hi def link lnkmapSectionDelim PreProc
hi def link lnkmapTableDelim PreProc
hi def link lnkmapNumber Number
hi def link lnkmapSections Macro
hi def link lnkmapFile String
hi def link lnkmapLibFile Special
hi def link lnkmapAttrib Type
let b:current_syntax = "lnkmap"