view runtime/syntax/fpcmake.vim @ 33480:f8dd278ab05f v9.0.1991

patch 9.0.1991: no cmdline completion for setting the font Commit: https://github.com/vim/vim/commit/290b887e8cc2c0d3dfc7f315b2052472c7c589cc Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Thu Oct 5 20:54:21 2023 +0200 patch 9.0.1991: no cmdline completion for setting the font Problem: no cmdline completion for setting the font Solution: enable it on Win32 and GTK builds Add guifont cmdline completion (for Windows and GTK) For Windows, auto-complete will only suggest monospace fonts as that's the only types allowed. Will also suggest font options after the colon, including suggesting the current font size for convenience, and misc charset and quality options like `cANSI` and `qCLEARTYPE`. For GTK, auto-complete will suggest only monospace fonts for `guifont` but will include all fonts for `guifontwide`. The completion code doesn't currently suggest the current font size, as the GTK guifont format does not have a clear delimiter (':' for other platforms). closes: #13264 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 05 Oct 2023 21:00:07 +0200
parents e3ec2ec8841a
children
line wrap: on
line source

" 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: