" vim:fenc=utf-8:et:sw=4:ts=4:sts=4 " Vim syntax file " Language: MacPorts Portfiles " Maintainer: Maximilian Nickel " if &compatible || v:version < 603 finish endif if exists("b:current_syntax") finish endif " Disable whitespace error highlight if variable is not set if !exists("g:portfile_highlight_space_errors") let g:portfile_highlight_space_errors=0 endif let is_tcl=1 runtime! syntax/tcl.vim unlet b:current_syntax " Some custom extensions contain a dash (for example, fs-traverse) setlocal iskeyword+=- syn match PortfileGroup "{.\+}" contained syn match PortfileYesNo "\<\%(yes\|no\)\>" contained syn keyword PortfileRequired PortSystem name version maintainers syn keyword PortfileRequired homepage platforms syn match PortfileRequired "\" syn match PortfileRequired "\" syn match PortfileRequired "\<\%(long_\)\?description\%(-append\)\?\>" nextgroup=PortfileDescription skipwhite syn region PortfileDescription matchgroup=Normal start="" skip="\\$" end="$" contained syn keyword PortfileOptional PortGroup epoch revision patch_sites syn keyword PortfileOptional license conflicts license_noconflict syn keyword PortfileOptional replaced_by supported_archs syn match PortfileOptional "\" syn keyword PortfileOptional distname dist_subdir worksrcdir syn keyword PortfileOptional installs_libs nextgroup=PortfileYesNo skipwhite syn match PortfileOptional "\" syn match PortfileOptional "\" nextgroup=PortfileChecksums skipwhite syn region PortfileChecksums matchgroup=Normal start="" skip="\\$" end="$" contained contains=PortfileChecksumsType syn keyword PortfileChecksumsType md5 sha1 rmd160 sha256 contained syn match PortfilePhases "\<\%(pre-\|post-\)\?\%(fetch\|checksum\|extract\|patch\|configure\|build\|test\|destroot\|archive\|install\|activate\|deactivate\)\>" contains=PortfilePrePost " Fetch phase options syn match PortfilePhasesFetch "\" syn match PortfilePhasesFetch "\" syn match PortfilePhasesFetch "\" syn match PortfilePhasesFetch "\" syn match PortfilePhasesFetch "\" " Extract phase options syn match PortfilePhasesExtract "\" syn match PortfilePhasesExtract "\" nextgroup=PortfileYesNo skipwhite " Patch phase options syn match PortfilePhasesPatch "\" syn match PortfilePhasesPatch "\" " Configure phase options syn keyword PortfilePhasesConf use_configure nextgroup=PortfileYesNo skipwhite syn match PortfilePhasesConf "\" syn match PortfilePhasesConf "\" syn match PortfilePhasesConf "\" nextgroup=PortfileConfEntries skipwhite syn region PortfileConfEntries matchgroup=Normal start="" skip="\\$" end="$" contained syn match PortfilePhasesConf "\" syn match PortfilePhasesConf "\" syn match PortfilePhasesConf "\" syn match PortfilePhasesConf "\" syn match PortfilePhasesConf "\" " Automake and Autoconf syn match PortfilePhasesAA "\" nextgroup=PortfileYesNo skipwhite syn match PortfilePhasesAA "\" " Build phase options syn match PortfilePhasesBuild "\" syn match PortfilePhasesBuild "\" syn match PortfilePhasesBuild "\" syn keyword PortfilePhasesBuild use_parallel_build nextgroup=PortfileYesNo skipwhite " Test phase options syn match PortfilePhasesTest "\" nextgroup=PortfileYesNo skipwhite syn match PortfilePhasesTest "\" syn match PortfilePhasesTest "\" syn match PortfilePhasesTest "\" " Test destroot options syn match PortfilePhasesDest "\" syn match PortfilePhasesDest "\" nextgroup=PortfileYesNo skipwhite syn match PortfilePhasesDest "\" syn match PortfilePhasesDest "\" " Variants syn region PortfileVariant matchgroup=Keyword start="^\s*\zsvariant" skip="\\$" end="$" contains=PortfileVariantName,PortfileVariantRequires,PortfileVariantDescription,PortfileVariantConflicts skipwhite syn keyword PortfileVariantRequires requires nextgroup=PortfileVariantName contained syn keyword PortfileVariantConflicts conflicts nextgroup=PortfileVariantName contained syn keyword PortfileVariantDescription description nextgroup=PortfileGroup contained skipwhite syn match PortfileVariantName "\<\w\+\>" contained syn keyword PortfileOptional universal_variant nextgroup=PortfileYesNo skipwhite syn match PortfileOptional "\" nextgroup=PortfileDefaultVariants skipwhite syn match PortfileDefaultVariants "\<[+-]\w\+\%(\s\+[+-]\w\+\)*\>" contained " Platform syn match PortfilePlatform "\" nextgroup=PortfilePlatformName skipwhite syn match PortfilePlatformName "\<\l\w\+\>" nextgroup=PortfilePlatformVersion contained skipwhite syn match PortfilePlatformVersion "\<\d\+\>" nextgroup=PortfilePlatformArch contained skipwhite syn match PortfilePlatformArch "\<\l\w\+\>" contained " Subports syn region PortfileSubport matchgroup=Keyword start="^\s*\zssubport\>" skip="\\$" end="$" contains=PortfileSubportName syn match PortfileSubportName "\<[\w\.-]\+\>" contained " Dependencies syn match PortfileDepends "\" nextgroup=PortfileDependsEntries skipwhite syn region PortfileDependsEntries matchgroup=Normal start="" skip="\\$" end="$" contains=PortfileDependsEntry contained syn match PortfileDependsEntry "\<\%(port\|bin\|path\|lib\):" contained " StartupItems syn match PortfileStartupPid "\<\%(none\|auto\|clean\|manual\)\>" contained syn match PortfileOptional "\" syn match PortfileOptional "\" nextgroup=PortfileYesNo skipwhite syn match PortfileOptional "\" nextgroup=PortfileStartupPid skipwhite " Livecheck / Distcheck syn match PortfileOptional "\" syn keyword PortfileOptional distcheck.check " Notes syn keyword PortfilePhases notes " Port Groups " App syn match PortfileGroups "\" " Archcheck syn match PortfileGroups "\" " CMake " has no keywords " crossbinutils syn match PortfileGroups "\" " crossgcc syn match PortfileGroups "\" " github syn match PortfileGroups "\" " Gnustep syn match PortfileGroups "\" syn keyword PortfileGroups variant_with_docs gnustep_layout syn match PortfileGroups "\" " Haskell syn keyword PortfileGroups haskell.setup " hocbinding syn match PortfileGroups "\" " hunspelldict syn match PortfileGroups "\" " KDE 4, versions 1.0 and 1.1 " have no keywords " muniversal syn match PortfileGroups "\" syn match PortfileGroups "\" syn match PortfileGroups "\" syn match PortfileGroups "\" " obsolete " has no keywords (other than replaced_by, and that should be elsewhere in " this file) " ocml " has no keywords " octave syn match PortfileGroups "\" " PEAR syn match PortfileGroups "\" " Perl5 syn match PortfileGroups "\" " PHP 1.0 syn match PortfileGroups "\" syn match PortfileGroups "\" " PHP 1.1 (only adding those not already present in 1.0) syn match PortfileGroups "\" syn match PortfileGroups "\" " PHP5 extension syn match PortfileGroups "\" " PHP5 PEAR syn match PortfileGroups "\" " Pure syn match PortfileGroups "\" " Python syn match PortfileGroups "\" " I'm not documenting the Python{24,25,26,27,31,32} groups. Don't use them. " Qt4 syn match PortfileGroups "\" syn match PortfileGroups "\" syn match PortfileGroups "\" " Ruby syn match PortfileGroups "\" " Select syn match PortfileGroups "\" " TeX Live syn match PortfileGroups "\" " X11 Font syn match PortfileGroups "\" " Xcode syn match PortfileGroups "\" syn match PortfileGroups "\" syn match PortfileGroups "\" " Xcode version syn match PortfileGroups "\" " Zope syn match PortfileGroups "\" " End of PortGroups " Tcl extensions syn keyword PortfileTcl xinstall fs-traverse readdir md5 vercmp syn keyword PortfileTcl reinplace strsed syn keyword PortfileTcl copy move delete touch ln system syn match PortfileTcl "\" syn match PortfileTcl "\<\%(add\|exists\)\%(user\|group\)\>" syn keyword PortfileTcl nextuid nextgid syn keyword PortfileTcl variant_isset variant_set syn match PortfileTcl "\" syn keyword PortfileTcl lpush lpop lunshift lshift ldindex syn keyword PortfileTcl ui_debug ui_error ui_info ui_msg ui_warn " check whitespace, copied from python.vim if g:portfile_highlight_space_errors == 1 " trailing whitespace syn match PortfileSpaceError display excludenl "\S\s\+$"ms=s+1 " mixed tabs and spaces syn match PortfileSpaceError display " \+\t" syn match PortfileSpaceError display "\t\+ " endif hi def link PortfileGroup String hi def link PortfileYesNo Special hi def link PortfileStartupPid Special hi def link PortfileRequired Keyword hi def link PortfileOptional Keyword hi def link PortfileDescription String hi def link PortfileChecksumsType Special hi def link PortfilePhases Keyword hi def link PortfilePhasesFetch Keyword hi def link PortfilePhasesExtract Keyword hi def link PortfilePhasesPatch Keyword hi def link PortfilePhasesConf Keyword hi def link PortfilePhasesAA Keyword hi def link PortfilePhasesBuild Keyword hi def link PortfilePhasesTest Keyword hi def link PortfilePhasesDest Keyword hi def link PortfileVariantConflicts Statement hi def link PortfileVariantDescription Statement hi def link PortfileVariantRequires Statement hi def link PortfileVariantName Identifier hi def link PortfileDefaultVariants Identifier hi def link PortfilePlatform Keyword hi def link PortfilePlatformName Identifier hi def link PortfilePlatformVersion tclNumber hi def link PortfilePlatformArch Identifier hi def link PortfileSubportName Identifier hi def link PortfileDepends Keyword hi def link PortfileDependsEntry Special hi def link PortfileGroups Keyword hi def link PortfileTcl Keyword if g:portfile_highlight_space_errors == 1 hi def link PortFileSpaceError Error endif let b:current_syntax = "Portfile"