diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-05-01 16:07:38 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-05-01 16:07:38 +0200 |
commit | 7ceefb35c8110d87ced884275ddbe63d024a014f (patch) | |
tree | 5b2021cf7bea4273386b3a3a541211dac6a2f7b1 /runtime/syntax | |
parent | b84a381c75e50ca0e0a24cc3e152d0c70f8c2c7d (diff) | |
download | vim-git-7ceefb35c8110d87ced884275ddbe63d024a014f.tar.gz |
Update runtime files
Diffstat (limited to 'runtime/syntax')
-rw-r--r-- | runtime/syntax/debchangelog.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/debsources.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/lex.vim | 201 | ||||
-rw-r--r-- | runtime/syntax/man.vim | 11 |
4 files changed, 133 insertions, 87 deletions
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim index 8d282da44..7321e90b3 100644 --- a/runtime/syntax/debchangelog.vim +++ b/runtime/syntax/debchangelog.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2020 Feb 02 +" Last Change: 2020 Apr 27 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim " Standard syntax initialization @@ -24,7 +24,7 @@ let s:supported = [ \ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm', \ 'sid', 'rc-buggy', \ - \ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel' + \ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel' \ ] let s:unsupported = [ \ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim index e97d3274b..b59444311 100644 --- a/runtime/syntax/debsources.vim +++ b/runtime/syntax/debsources.vim @@ -2,7 +2,7 @@ " Language: Debian sources.list " Maintainer: Debian Vim Maintainers " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> -" Last Change: 2020 Feb 02 +" Last Change: 2020 Apr 27 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim " Standard syntax initialization @@ -26,7 +26,7 @@ let s:supported = [ \ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm', \ 'sid', 'rc-buggy', \ - \ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel' + \ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel' \ ] let s:unsupported = [ \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', diff --git a/runtime/syntax/lex.vim b/runtime/syntax/lex.vim index 9e0b307d6..dff70eb3b 100644 --- a/runtime/syntax/lex.vim +++ b/runtime/syntax/lex.vim @@ -1,22 +1,19 @@ " Vim syntax file -" Language: Lex +" Language: Lex and Flex " Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> -" Last Change: Aug 31, 2016 -" Version: 17 -" URL: http://mysite.verizon.net/astronaut/vim/index.html#SYNTAX_LEX -" -" Option: -" lex_uses_cpp : if this variable exists, then C++ is loaded rather than C +" Contributor: Robert A. van Engelen <engelen@acm.org> +" Last Change: Apr 24, 2020 +" Version: 18 " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif -" Read the C/C++ syntax to start with -let s:Cpath= fnameescape(expand("<sfile>:p:h").(exists("g:lex_uses_cpp")? "/cpp.vim" : "/c.vim")) +" Read the C++ syntax to start with +let s:Cpath= fnameescape(expand("<sfile>:p:h")."/cpp.vim") if !filereadable(s:Cpath) - for s:Cpath in split(globpath(&rtp,(exists("g:lex_uses_cpp")? "syntax/cpp.vim" : "syntax/c.vim")),"\n") + for s:Cpath in split(globpath(&rtp,"syntax/cpp.vim"),"\n") if filereadable(fnameescape(s:Cpath)) let s:Cpath= fnameescape(s:Cpath) break @@ -29,115 +26,163 @@ exe "syn include @lexCcode ".s:Cpath " --- Lex stuff --- " --- ========= --- -" Options Section -syn match lexOptions '^%\s*option\>.*$' contains=lexPatString +" Definitions +" %% +" Rules +" %% +" User Code +" +" --- ======= --- +" --- Example --- +" --- ======= --- +" +" // this is a valid lex file +" // indented initial code block +" #include <stdlib.h> +" %{ +" // initial code block +" #include <stdio.h> +" const char *sep = ""; +" %} +" %option outfile="scanner.c" noyywrap nodefault +" %x COMMENT +" id [A-Za-z_][A-Za-z0-9_]* +" %% +" // indented initial action code block +" printf("BEGIN"); +" {id} printf("%s%s", sep, yytext); sep = ""; +" . | +" \n { sep = "\n"; } +" "/*" { BEGIN COMMENT; } +" "//".* { } +" <COMMENT>{ +" "*/" { BEGIN INITIAL; } +" .|\n +" } +" <*><<EOF>> { // end of file +" printf("\nEND\n"); +" yyterminate(); +" } +" %% +" void scan() +" { +" while (yylex()) +" continue; +" } +" /* main program */ +" int main() +" { +" scan(); +" } -" Abbreviations Section +" Definitions Section with initial code blocks, abbreviations, options, states if has("folding") - syn region lexAbbrvBlock fold start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState + syn region lexAbbrvBlock fold start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState else - syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState + syn region lexAbbrvBlock start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState endif -syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp -syn match lexAbbrv "^%[sx]" contained -syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude +syn match lexOptions "^%\a\+\(\s.*\|[^{]*\)$" contains=lexOptionsEq,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace +syn match lexOptionsEq "=" skipwhite contained +syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvPat +syn match lexAbbrvPat "\s\S.*$"lc=1 contained contains=lexPatAbbrv,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace nextgroup=lexAbbrv,lexInclude +syn match lexStartState "^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?\(\s\+\I\i*\)\+\s*$" contained contains=lexStartStateCmd +syn match lexStartStateCmd '^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?' contained if has("folding") - syn region lexInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode - syn region lexAbbrvComment fold start="^\s\+/\*" end="\*/" contains=@Spell - syn region lexAbbrvComment fold start="\%^/\*" end="\*/" contains=@Spell - syn region lexStartState fold matchgroup=lexAbbrv start="^%\a\+" end="$" contained + syn region lexInitialCodeBlock fold start="^\s\+" end="^\S"me=e-1 contains=@lexCcode + syn region lexInclude fold matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions + syn region lexAbbrvComment fold start="^\s*//" end="$" contains=@Spell + syn region lexAbbrvComment fold start="^\s*/\*" end="\*/" contains=@Spell else - syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode - syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell - syn region lexAbbrvComment start="\%^/\*" end="\*/" contains=@Spell - syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained + syn region lexInitialCodeBlock start="^\s\+" end="^\S"me=e-1 contains=@lexCcode + syn region lexInclude matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions + syn region lexAbbrvComment start="^\s*//" end="$" contains=@Spell + syn region lexAbbrvComment start="^\s*/\*" end="\*/" contains=@Spell endif -"%% : Patterns {Actions} +" Rules Section with patterns and actions if has("folding") - syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%\ze%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude - syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace - syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode - syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained - syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained + syn region lexPatBlock fold matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude + syn region lexPat fold start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace + syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode + syn region lexBrace fold matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained + syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained else - syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude - syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace - syn region lexPatInclude matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode - syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained - syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained + syn region lexPatBlock matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude + syn region lexPat start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace + syn region lexPatInclude matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode + syn region lexBrace matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained + syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained endif -syn match lexPatTag "^<\I\i*\(,\I\i*\)*>" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep -syn match lexPatTagZone "^<\I\i*\(,\I\i*\)*>\s\+\ze{" contained nextgroup=lexPatTagZoneStart -syn match lexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep - -" Lex Patterns -syn region lexPattern start='[^ \t{}]' end="$" contained contains=lexPatRange -syn region lexPatRange matchgroup=Delimiter start='\[' skip='\\\\\|\\.' end='\]' contains=lexEscape -syn match lexEscape '\%(\\\\\)*\\.' contained +syn match lexPatAbbrv "{\I\i*}"hs=s+1,he=e-1 contained +syn match lexPatTag "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>" contained nextgroup=lexPat,lexMorePat,lexPatSep,lexPatEnd +syn match lexPatTagZone "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>\s*{$"me=e-1 contained nextgroup=lexPatTagZoneStart if has("folding") - syn region lexPatTagZoneStart matchgroup=lexPatTag fold start='{' end='}' contained contains=lexPat,lexPatComment - syn region lexPatComment start="\s\+/\*" end="\*/" fold skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell + syn region lexPatTagZoneStart fold matchgroup=lexPatTag start='{$' end='^}' skipnl skipwhite contained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude + syn region lexPatComment fold start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell + syn region lexPatComment fold start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell else - syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='}' contained contains=lexPat,lexPatComment - syn region lexPatComment start="\s\+/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell + syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='^}' skipnl skipwhitecontained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude + syn region lexPatComment start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell + syn region lexPatComment start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell endif -syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode -syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment -syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine +syn match lexPatEnd "\s*$" skipnl contained +syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode,lexCFunctions +syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment +syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine syn match lexSlashQuote +\(\\\\\)*\\"+ contained +syn match lexSlashBrace +\(\\\\\)*\\\[+ contained if has("folding") - syn region lexPatCode matchgroup=Delimiter start="{" end="}" fold skipnl contained contains=@lexCcode,lexCFunctions + syn region lexPatCode fold matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions else - syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions + syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions endif -" Lex "functions" which may appear in C/C++ code blocks -syn keyword lexCFunctions BEGIN input unput woutput yyleng yylook yytext -syn keyword lexCFunctions ECHO output winput wunput yyless yymore yywrap +" User Code Section with final code block +syn region lexFinalCodeBlock matchgroup=Todo start="^%%" end="\%$" contained contains=@lexCcode -" %% -" lexAbbrevBlock -" %% -" lexPatBlock -" %% -" lexFinalCodeBlock -syn region lexFinalCodeBlock matchgroup=Todo start="%$"me=e-1 end="\%$" contained contains=@lexCcode +" Lex macros which may appear in C/C++ code blocks +syn keyword lexCFunctions BEGIN ECHO REJECT yytext YYText yyleng YYLeng yymore yyless yywrap yylook +syn keyword lexCFunctions yyrestart yyterminate yylineno yycolumno yyin yyout +syn keyword lexCFunctions input unput output winput wunput woutput +syn keyword lexCFunctions yyinput yyunput yyoutput yywinput yywunput yywoutput " <c.vim> includes several ALLBUTs; these have to be treated so as to exclude lex* groups -syn cluster cParenGroup add=lex.* +syn cluster cParenGroup add=lex.* syn cluster cDefineGroup add=lex.* syn cluster cPreProcGroup add=lex.* -syn cluster cMultiGroup add=lex.* +syn cluster cMultiGroup add=lex.* " Synchronization syn sync clear syn sync minlines=500 syn sync match lexSyncPat grouphere lexPatBlock "^%[a-zA-Z]" syn sync match lexSyncPat groupthere lexPatBlock "^<$" -syn sync match lexSyncPat groupthere lexPatBlock "^%%$" +syn sync match lexSyncPat groupthere lexPatBlock "^%%" " The default highlighting. if !exists("skip_lex_syntax_inits") hi def link lexAbbrvComment lexPatComment - hi def link lexAbbrvRegExp Macro - hi def link lexAbbrv SpecialChar - hi def link lexBrace lexPat - hi def link lexCFunctions Function - hi def link lexCstruct cStructure - hi def link lexMorePat SpecialChar - hi def link lexOptions PreProc + hi def link lexAbbrvPat lexPat + hi def link lexAbbrv Special + hi def link lexBrace lexPat + hi def link lexCFunctions PreProc + hi def link lexMorePat Special + hi def link lexOptions PreProc + hi def link lexOptionsEq Operator hi def link lexPatComment Comment hi def link lexPat Function - hi def link lexPatString Function - hi def link lexPatTag Special + hi def link lexPatString lexPat + hi def link lexPatAbbrv Special + hi def link lexPatTag Statement hi def link lexPatTagZone lexPatTag hi def link lexSep Delimiter hi def link lexSlashQuote lexPat - hi def link lexStartState Statement + hi def link lexSlashBrace lexPat + hi def link lexStartState lexPatTag + hi def link lexStartStateCmd Special endif let b:current_syntax = "lex" -" vim:ts=10 +" vim:ts=8 diff --git a/runtime/syntax/man.vim b/runtime/syntax/man.vim index 5bdba8621..56f6d10de 100644 --- a/runtime/syntax/man.vim +++ b/runtime/syntax/man.vim @@ -1,9 +1,10 @@ " Vim syntax file " Language: Man page -" Maintainer: SungHyun Nam <goweol@gmail.com> +" Maintainer: Jason Franklin <vim@justemail.net> +" Previous Maintainer: SungHyun Nam <goweol@gmail.com> " Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com> " Version Info: -" Last Change: 2020 Apr 15 +" Last Change: 2020 Apr 30 " Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>: " * manSubHeading @@ -19,9 +20,6 @@ runtime! syntax/ctrlh.vim syn case ignore -syn match manHeader '\%1l.*' -exe 'syn match manFooter ''\%' . line('$') . 'l.*''' - syn match manReference "\f\+([1-9][a-z]\=)" syn match manSectionHeading "^[a-z][a-z -]*[a-z]$" syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$" @@ -29,6 +27,9 @@ syn match manOptionDesc "^\s*[+-][a-z0-9]\S*" syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*" " syn match manHistory "^[a-z].*last change.*$" +syn match manHeader '\%1l.*' +exe 'syn match manFooter ''\%' . line('$') . 'l.*''' + if getline(1) =~ '^[a-zA-Z_]\+([23])' syntax include @cCode <sfile>:p:h/c.vim syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained |