mirror of
https://github.com/neovim/neovim.git
synced 2024-12-26 06:05:06 -07:00
59 lines
2.0 KiB
VimL
59 lines
2.0 KiB
VimL
|
" Vim syntax file
|
||
|
" Language: Free Pascal Makefile Definition Files
|
||
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||
|
" Last Change: 2021 Apr 23
|
||
|
|
||
|
if exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
runtime! syntax/make.vim
|
||
|
|
||
|
" NOTE: using start-of-line anchored syn-match groups is simpler than other
|
||
|
" alternatives when interacting with the sourced make.vim syntax groups
|
||
|
|
||
|
" Sections
|
||
|
syn region fpcmakeSection matchgroup=fpcmakeSectionDelimiter start="^\s*\[" end="]" contains=fpcmakeSectionName
|
||
|
|
||
|
syn keyword fpcmakeSectionName contained clean compiler default dist install
|
||
|
syn keyword fpcmakeSectionName contained lib package prerules require rules
|
||
|
syn keyword fpcmakeSectionName contained shared target
|
||
|
|
||
|
" [clean]
|
||
|
syn match fpcmakeRule "^\s*\(units\|files\)\>"
|
||
|
" [compiler]
|
||
|
syn match fpcmakeRule "^\s*\(options\|version\|unitdir\|librarydir\|objectdir\)\>"
|
||
|
syn match fpcmakeRule "^\s*\(targetdir\|sourcedir\|unittargetdir\|includedir\)\>"
|
||
|
" [default]
|
||
|
syn match fpcmakeRule "^\s*\(cpu\|dir\|fpcdir\|rule\|target\)\>"
|
||
|
" [dist]
|
||
|
syn match fpcmakeRule "^\s*\(destdir\|zipname\|ziptarget\)\>"
|
||
|
" [install]
|
||
|
syn match fpcmakeRule "^\s*\(basedir\|datadir\|fpcpackage\|files\|prefix\)\>"
|
||
|
syn match fpcmakeRule "^\s*\(units\)\>"
|
||
|
" [package]
|
||
|
syn match fpcmakeRule "^\s*\(name\|version\|main\)\>"
|
||
|
" [requires]
|
||
|
syn match fpcmakeRule "^\s*\(fpcmake\|packages\|libc\|nortl\|unitdir\)\>"
|
||
|
syn match fpcmakeRule "^\s*\(packagedir\|tools\)\>"
|
||
|
" [shared]
|
||
|
syn match fpcmakeRule "^\s*\(build\|libname\|libversion\|libunits\)\>"
|
||
|
" [target]
|
||
|
syn match fpcmakeRule "^\s*\(dirs\|exampledirs\|examples\|loaders\|programs\)\>"
|
||
|
syn match fpcmakeRule "^\s*\(rsts\|units\)\>"
|
||
|
|
||
|
" Comments
|
||
|
syn keyword fpcmakeTodo TODO FIXME XXX contained
|
||
|
syn match fpcmakeComment "#.*" contains=fpcmakeTodo,@Spell
|
||
|
|
||
|
" Default highlighting
|
||
|
hi def link fpcmakeSectionDelimiter Delimiter
|
||
|
hi def link fpcmakeSectionName Type
|
||
|
hi def link fpcmakeComment Comment
|
||
|
hi def link fpcmakeTodo Todo
|
||
|
hi def link fpcmakeRule Identifier
|
||
|
|
||
|
let b:current_syntax = "fpcmake"
|
||
|
|
||
|
" vim: nowrap sw=2 sts=2 ts=8 noet:
|