mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04: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: |