summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-05-02 17:19:11 +0200
committerBram Moolenaar <Bram@vim.org>2021-05-02 17:19:11 +0200
commit4c295027a426986566cd7a76c47a6d3a529727e7 (patch)
treefd90535889a3a7d05ebd9406bcb91dfcf8a17ded /runtime/syntax
parent5f628a12e5c7ebd1145ae1c089d1be1751b700c1 (diff)
Update runtime files
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/conf.vim6
-rw-r--r--runtime/syntax/fpcmake.vim58
-rw-r--r--runtime/syntax/pascal.vim104
3 files changed, 125 insertions, 43 deletions
diff --git a/runtime/syntax/conf.vim b/runtime/syntax/conf.vim
index 9b8a6361bc..6a78ef8c6e 100644
--- a/runtime/syntax/conf.vim
+++ b/runtime/syntax/conf.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: generic configure file
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2005 Jun 20
+" Last Change: 2021 May 01
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -10,8 +10,8 @@ endif
syn keyword confTodo contained TODO FIXME XXX
" Avoid matching "text#text", used in /etc/disktab and /etc/gettytab
-syn match confComment "^#.*" contains=confTodo
-syn match confComment "\s#.*"ms=s+1 contains=confTodo
+syn match confComment "^#.*" contains=confTodo,@Spell
+syn match confComment "\s#.*"ms=s+1 contains=confTodo,@Spell
syn region confString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline
syn region confString start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline
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:
diff --git a/runtime/syntax/pascal.vim b/runtime/syntax/pascal.vim
index 535efc99d3..3ab5c2e661 100644
--- a/runtime/syntax/pascal.vim
+++ b/runtime/syntax/pascal.vim
@@ -1,16 +1,16 @@
" Vim syntax file
-" Language: Pascal
-" Version: 2.8
-" Last Change: 2004/10/17 17:47:30
-" Maintainer: Xavier Crégut <xavier.cregut@enseeiht.fr>
-" Previous Maintainer: Mario Eusebio <bio@dq.fct.unl.pt>
+" Language: Pascal
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Previous Maintainers: Xavier Crégut <xavier.cregut@enseeiht.fr>
+" Mario Eusebio <bio@dq.fct.unl.pt>
+" Last Change: 2021 Apr 23
" Contributors: Tim Chase <tchase@csc.com>,
-" Stas Grabois <stsi@vtrails.com>,
-" Mazen NEIFER <mazen.neifer.2001@supaero.fr>,
-" Klaus Hast <Klaus.Hast@arcor.net>,
-" Austin Ziegler <austin@halostatue.ca>,
-" Markus Koenig <markus@stber-koenig.de>
+" Stas Grabois <stsi@vtrails.com>,
+" Mazen NEIFER <mazen.neifer.2001@supaero.fr>,
+" Klaus Hast <Klaus.Hast@arcor.net>,
+" Austin Ziegler <austin@halostatue.ca>,
+" Markus Koenig <markus@stber-koenig.de>
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -25,10 +25,10 @@ syn keyword pascalBoolean true false
syn keyword pascalConditional if else then
syn keyword pascalConstant nil maxint
syn keyword pascalLabel case goto label
-syn keyword pascalOperator and div downto in mod not of or packed with
+syn keyword pascalOperator and div downto in mod not of or packed
syn keyword pascalRepeat do for do repeat while to until
syn keyword pascalStatement procedure function
-syn keyword pascalStatement program begin end const var type
+syn keyword pascalStatement program begin end const var type with
syn keyword pascalStruct record
syn keyword pascalType array boolean char integer file pointer real set
syn keyword pascalType string text variant
@@ -40,12 +40,12 @@ syn keyword pascalTodo contained TODO FIXME XXX DEBUG NOTE
" 20010723az: When wanted, highlight the trailing whitespace -- this is
" based on c_space_errors; to enable, use "pascal_space_errors".
if exists("pascal_space_errors")
- if !exists("pascal_no_trail_space_error")
- syn match pascalSpaceError "\s\+$"
- endif
- if !exists("pascal_no_tab_space_error")
- syn match pascalSpaceError " \+\t"me=e-1
- endif
+ if !exists("pascal_no_trail_space_error")
+ syn match pascalSpaceError "\s\+$"
+ endif
+ if !exists("pascal_no_tab_space_error")
+ syn match pascalSpaceError " \+\t"me=e-1
+ endif
endif
@@ -98,9 +98,24 @@ if exists("pascal_symbol_operator")
endif
syn match pascalNumber "-\=\<\d\+\>"
+if !exists("pascal_traditional")
+ syn match pascalHexNumber "\$\x\+\>"
+endif
+if exists("pascal_fpc")
+ syn match pascalOctNumber "&\o\+\>"
+ syn match pascalBinNumber "%[01]\+\>"
+endif
+if exists("pascal_gpc")
+ syn match pascalExtendedNumber "\%([2-9]\|[12]\d\|3[0-6]\)#[[:alnum:]]\+\>"
+endif
+
syn match pascalFloat "-\=\<\d\+\.\d\+\>"
syn match pascalFloat "-\=\<\d\+\.\d\+[eE]-\=\d\+\>"
-syn match pascalHexNumber "\$[0-9a-fA-F]\+\>"
+
+if !exists("pascal_traditional")
+ " allow leading zeros
+ syn match pascalControlCharacter "#\%([01]\=\d\=\d\|2[0-4]\d\|25[0-5]\)\>"
+endif
if exists("pascal_no_tabs")
syn match pascalShowTab "\t"
@@ -142,7 +157,7 @@ if !exists("pascal_traditional")
syn keyword pascalStatement interface unit uses
syn keyword pascalModifier absolute assembler external far forward inline
syn keyword pascalModifier interrupt near virtual
- syn keyword pascalAcces private public
+ syn keyword pascalAccess private public strict
syn keyword pascalStruct object
syn keyword pascalOperator shl shr xor
@@ -157,6 +172,7 @@ if !exists("pascal_traditional")
syn keyword pascalType Single Double Extended Comp
syn keyword pascalType PChar
+ syn keyword pascalPredefined self
if !exists ("pascal_fpc")
syn keyword pascalPredefined Result
@@ -166,11 +182,11 @@ if !exists("pascal_traditional")
syn region pascalComment start="//" end="$" contains=pascalTodo,pascalSpaceError
syn keyword pascalStatement fail otherwise operator
syn keyword pascalDirective popstack
- syn keyword pascalPredefined self
syn keyword pascalType ShortString AnsiString WideString
endif
if exists("pascal_gpc")
+ syn region pascalComment start="//" end="$" contains=pascalTodo,pascalSpaceError
syn keyword pascalType SmallInt
syn keyword pascalType AnsiChar
syn keyword pascalType PAnsiChar
@@ -178,6 +194,8 @@ if !exists("pascal_traditional")
if exists("pascal_delphi")
syn region pascalComment start="//" end="$" contains=pascalTodo,pascalSpaceError
+ syn region pascalDocumentation start="///" end="$" contains=pascalTodo,pascalSpaceError
+ syn region pascalDocumentation start="{!" end="}" contains=pascalTodo,pascalSpaceError
syn keyword pascalType SmallInt Int64
syn keyword pascalType Real48 Currency
syn keyword pascalType AnsiChar WideChar
@@ -192,11 +210,11 @@ if !exists("pascal_traditional")
syn keyword pascalStatement initialization finalization uses exports
syn keyword pascalStatement property out resourcestring threadvar
syn keyword pascalModifier contains
- syn keyword pascalModifier overridden reintroduce abstract
+ syn keyword pascalModifier overridden reintroduce abstract sealed
syn keyword pascalModifier override export dynamic name message
syn keyword pascalModifier dispid index stored default nodefault readonly
syn keyword pascalModifier writeonly implements overload requires resident
- syn keyword pascalAcces protected published automated
+ syn keyword pascalAccess protected published automated
syn keyword pascalDirective register pascal cvar cdecl stdcall safecall
syn keyword pascalOperator as is
endif
@@ -319,37 +337,43 @@ endif
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
-hi def link pascalAcces pascalStatement
+hi def link pascalAccess pascalStatement
hi def link pascalBoolean Boolean
hi def link pascalComment Comment
-hi def link pascalConditional Conditional
+hi def link pascalDocumentation Comment
+hi def link pascalConditional Conditional
hi def link pascalConstant Constant
-hi def link pascalDelimiter Identifier
-hi def link pascalDirective pascalStatement
-hi def link pascalException Exception
-hi def link pascalFloat Float
+hi def link pascalControlCharacter Character
+hi def link pascalDelimiter Identifier
+hi def link pascalDirective pascalStatement
+hi def link pascalException Exception
+hi def link pascalFloat Float
hi def link pascalFunction Function
-hi def link pascalLabel Label
+hi def link pascalLabel Label
hi def link pascalMatrixDelimiter Identifier
hi def link pascalModifier Type
hi def link pascalNumber Number
+hi def link pascalExtendedNumber Number
+hi def link pascalBinNumber pascalNumber
+hi def link pascalHexNumber pascalNumber
+hi def link pascalOctNumber pascalNumber
hi def link pascalOperator Operator
-hi def link pascalPredefined pascalStatement
+hi def link pascalPredefined pascalStatement
hi def link pascalPreProc PreProc
hi def link pascalRepeat Repeat
-hi def link pascalSpaceError Error
-hi def link pascalStatement Statement
+hi def link pascalSpaceError Error
+hi def link pascalStatement Statement
hi def link pascalString String
-hi def link pascalStringEscape Special
+hi def link pascalStringEscape Special
hi def link pascalStringEscapeGPC Special
-hi def link pascalStringError Error
+hi def link pascalStringError Error
hi def link pascalStruct pascalStatement
hi def link pascalSymbolOperator pascalOperator
-hi def link pascalTodo Todo
-hi def link pascalType Type
-hi def link pascalUnclassified pascalStatement
+hi def link pascalTodo Todo
+hi def link pascalType Type
+hi def link pascalUnclassified pascalStatement
" hi def link pascalAsm Assembler
-hi def link pascalError Error
+hi def link pascalError Error
hi def link pascalAsmKey pascalStatement
hi def link pascalShowTab Error
@@ -357,4 +381,4 @@ hi def link pascalShowTab Error
let b:current_syntax = "pascal"
-" vim: ts=8 sw=2
+" vim: nowrap sw=2 sts=2 ts=8 noet: