summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/lex.vim
diff options
context:
space:
mode:
Diffstat (limited to 'uvim/runtime/syntax/lex.vim')
-rw-r--r--uvim/runtime/syntax/lex.vim190
1 files changed, 0 insertions, 190 deletions
diff --git a/uvim/runtime/syntax/lex.vim b/uvim/runtime/syntax/lex.vim
deleted file mode 100644
index b05148e88f..0000000000
--- a/uvim/runtime/syntax/lex.vim
+++ /dev/null
@@ -1,190 +0,0 @@
-" Vim syntax file
-" Language: Lex and Flex
-" Maintainer: This runtime file is looking for a new maintainer.
-" Former Maintainer: Charles E. Campbell
-" Contributor: Robert A. van Engelen <engelen@acm.org>
-" Version: 18
-" Last Change: Apr 24, 2020
-" 2024 Feb 19 by Vim Project (announce adoption)
-
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
- finish
-endif
-
-" 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,"syntax/cpp.vim"),"\n")
- if filereadable(fnameescape(s:Cpath))
- let s:Cpath= fnameescape(s:Cpath)
- break
- endif
- endfor
-endif
-exe "syn include @lexCcode ".s:Cpath
-
-" --- ========= ---
-" --- Lex stuff ---
-" --- ========= ---
-
-" 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();
-" }
-
-" Definitions Section with initial code blocks, abbreviations, options, states
-if has("folding")
- syn region lexAbbrvBlock fold start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
-else
- syn region lexAbbrvBlock start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
-endif
-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 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 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
-
-" 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,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="^\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 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 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='^}' skipnl skipwhite contained 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 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 fold matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
-else
- syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
-endif
-
-" User Code Section with final code block
-syn region lexFinalCodeBlock matchgroup=Todo start="^%%" 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 cDefineGroup add=lex.*
-syn cluster cPreProcGroup 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 "^%%"
-
-" The default highlighting.
-if !exists("skip_lex_syntax_inits")
- hi def link lexAbbrvComment lexPatComment
- 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 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 lexSlashBrace lexPat
- hi def link lexStartState lexPatTag
- hi def link lexStartStateCmd Special
-endif
-
-let b:current_syntax = "lex"
-
-" vim:ts=8