aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/fpcmake.vim
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-05-04 19:18:16 -0400
committerGitHub <noreply@github.com>2021-05-04 19:18:16 -0400
commit4ad30f775e5564c539324b4818886f067d2ecd99 (patch)
tree97a554379bda7e5fc77e58c690db3f5a72db8c74 /runtime/syntax/fpcmake.vim
parent63d8a8f4e8b02e524d85aed08aa16c5d9815598c (diff)
parentd5b063aec1db95704b37a77fdbd968cb6b48cc3b (diff)
downloadrneovim-4ad30f775e5564c539324b4818886f067d2ecd99.tar.gz
rneovim-4ad30f775e5564c539324b4818886f067d2ecd99.tar.bz2
rneovim-4ad30f775e5564c539324b4818886f067d2ecd99.zip
Merge pull request #14424 from janlazo/vim-8.1.1726
vim-patch:8.1.1726,8.2.{296,860,1827,2388,2788,2790,2801}
Diffstat (limited to 'runtime/syntax/fpcmake.vim')
-rw-r--r--runtime/syntax/fpcmake.vim58
1 files changed, 58 insertions, 0 deletions
diff --git a/runtime/syntax/fpcmake.vim b/runtime/syntax/fpcmake.vim
new file mode 100644
index 0000000000..bbc6f1d770
--- /dev/null
+++ b/runtime/syntax/fpcmake.vim
@@ -0,0 +1,58 @@
+" 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: