runtime(hollywood): update syn highlight for If-Then statements and For-In-Loops

Commit: 
https://github.com/vim/vim/commit/87c01d956168c1f41068c2a52e873f760c1f5fa9
Author: Tom Crecelius <ho...@net-eclipse.net>
Date:   Thu Aug 29 22:08:20 2024 +0200

    runtime(hollywood): update syn highlight for If-Then statements and 
For-In-Loops
    
    Improving syntax highlighting by allowing numbers, - and a $ as suffix
    in user constants and by allowing hwConstants in If-Then statements
    
    closes: #15059
    
    Signed-off-by: Tom Crecelius <ho...@net-eclipse.net>
    Signed-off-by: Ola Söder <rolfkop...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/hollywood.vim b/runtime/syntax/hollywood.vim
index 7846d5230..16df9fa73 100644
--- a/runtime/syntax/hollywood.vim
+++ b/runtime/syntax/hollywood.vim
@@ -2,7 +2,7 @@
 " Language:     Hollywood 10.0
 " Maintainer:   Ola Söder <rolfkop...@gmail.com>
 " First Author: Tom Crecelius <ho...@net-eclipse.net>
-" Last Change:  2023 Mar 22
+" Last Change:  2024 Jun 20
 " Highlighting Issues:
 " Depending on your colour schema, Strings or Comments might be highlighted in
 " a way, you don't like. If so, try one of the following settings after
@@ -30,7 +30,7 @@ let s:cpo_save = &cpo
 set cpo&vim
 
 if !exists("hw_version")
-  let hw_version = 9
+  let hw_version = 10
   let hw_subversion = 0
 elseif !exists("hw_subversion")
   let hw_subversion = 0
@@ -54,9 +54,9 @@ syn match  hwError 
"\<\%(If\|End\|Else\|ElseIf\|Then\|Until\|In\|EndIf\|EndSwitc
 syn region hwFunctionBlock transparent matchgroup=hwFunction 
start="\<Function\>" end="\<EndFunction\>" 
contains=ALLBUT,hwTodo,hwSpecial,hwElseIf,hwElse,hwIn,hwStep,hwFallThrough,hwLineStatement
 
 " If .. Then
-syn region hwIfThen transparent matchgroup=hwCond start="\<If\>" 
end="\<Then\>\{-}"me=e-4 skipwhite skipempty
+syn region hwIfThen transparent matchgroup=hwCond start="\<If\>" 
end="\<Then\>\{-}"me=e-4 oneline skipwhite skipempty
 " Then ... Else
-syn region hwThenElse transparent matchgroup=hwCond start="\<Then\>" end="$" 
end="\<Else\>" 
contains=ALLBUT,hwTodo,hwSpecial,hwIn,hwStep,hwLineStatement,hwIfEndIf,hwElseEndif,hwIfThen,hwThenElse
 skipwhite skipempty
+syn region hwThenElse transparent matchgroup=hwCond start="\<Then\>" end="$" 
end="\<Else\>" 
contains=hwFunction,hwUserFunction,hwElseIf,hwStatement,hwConstant 
containedin=hwIfThen oneline skipwhite skipempty
 
 " If .. EndIf
 syn region hwIfEndIf transparent matchgroup=hwCond 
start="\<If\>\(\(.\{-}Then.\{-}\)\@!\)" end="\<EndIf\>" 
contains=ALLBUT,hwTodo,hwSpecial,hwIn,hwStep,hwLineStatement skipwhite skipempty
@@ -98,6 +98,12 @@ syn region hwForTo transparent matchgroup=hwRepeat 
start="\<For\>" end="\<To\>"m
 " To .. Next
 syn region hwToNext transparent matchgroup=hwRepeat start="\<To\>" 
end="\<Next\>"   
contains=ALLBUT,hwTodo,hwSpecial,hwElseIf,hwElse,hwIn,hwLineStatement skipwhite 
skipempty
 
+" For .. In
+syn region hwForIn transparent matchgroup=hwRepeat 
start="\<For\>\(\(.\{-}To.\{-}\)\@!\)" end="\<In\>"me=e-2, skipwhite skipempty 
nextgroup=hwInNext
+
+" In .. Next
+syn region hwInNext transparent matchgroup=hwRepeat start="\<In\>" 
end="\<Next\>"   
contains=ALLBUT,hwTodo,hwSpecial,hwElseIf,hwElse,hwLineStatement skipwhite 
skipempty
+
 syn keyword hwStep contained Step
 syn keyword hwIn contained In
 
@@ -116,7 +122,7 @@ syn match hwConstant 
"#\<\%(ACTIVEWINDOW\|ADF_ANIM\|ADF_FX\|ADF_MOVEOBJECT\|ALL\
 syn keyword hwFunction Abs ACos ActivateDisplay Add AddArcToPath AddBoxToPath 
AddCircleToPath AddEllipseToPath AddFontPath AddIconImage AddMove AddStr AddTab 
AddTextToPath AllocConsoleColor AllocMem AllocMemFromPointer 
AllocMemFromVirtualFile AppendPath ApplyPatch Arc ArcDistortBrush ARGB 
ArrayToStr Asc ASin Assert AsyncDrawFrame ATan ATan2 BarrelDistortBrush 
Base64Str Beep BeepConsole BeginAnimStream BeginDoubleBuffer BeginRefresh 
BGPicToBrush BinStr BitClear BitComplement BitSet BitTest BitXor Blue BlurBrush 
Box BreakEventHandler BreakWhileMouseOn BrushToBGPic BrushToGray 
BrushToMonochrome BrushToPenArray BrushToRGBArray ByteAsc ByteChr ByteLen 
ByteOffset ByteStrStr ByteVal CallJavaMethod CancelAsyncDraw 
CancelAsyncOperation CanonizePath Cast Ceil ChangeApplicationIcon 
ChangeBrushTransparency ChangeDirectory ChangeDisplayMode ChangeDisplaySize 
ChangeInterval CharcoalBrush CharOffset CharWidth CheckEvent CheckEvents Chr 
Circle ClearClipboard ClearConsole ClearConsoleStyle ClearEvents ClearInterval 
ClearMove ClearObjectData ClearPath ClearScreen ClearSerialQueue ClearTimeout 
CloseAmigaGuide CloseAnim CloseAudio CloseCatalog CloseConnection CloseConsole 
CloseDirectory CloseDisplay CloseFile CloseFont CloseMusic ClosePath 
CloseResourceMonitor CloseSerialPort CloseServer CloseUDPObject CloseVideo Cls 
CollectGarbage Collision ColorRequest CompareDates CompareStr CompressFile 
Concat ConfigureJoystick ConsolePrint ConsolePrintChr ConsolePrintNR 
ConsolePrompt ContinueAsyncOperation ContrastBrush ContrastPalette ConvertStr 
ConvertToBrush CopyAnim CopyBGPic CopyBrush CopyConsoleWindow CopyFile 
CopyLayer CopyMem CopyObjectData CopyPalette CopyPath CopyPens CopySample 
CopySprite CopyTable CopyTextObject Cos CountDirectoryEntries CountJoysticks 
CountStr CRC32 CRC32Str CreateAnim CreateBGPic CreateBorderBrush CreateBrush 
CreateButton CreateClipRegion CreateConsoleWindow CreateCoroutine CreateDisplay 
CreateFont CreateGradientBGPic CreateGradientBrush CreateIcon CreateKeyDown 
CreateLayer CreateList CreateMenu CreateMusic CreatePalette CreatePointer 
CreatePort CreateRainbowBGPic CreateRexxPort CreateSample CreateServer 
CreateShadowBrush CreateShortcut CreateSprite CreateTextObject 
CreateTexturedBGPic CreateTexturedBrush CreateUDPObject CropBrush CtrlCQuit 
CurveTo CyclePalette DateToTimestamp DateToUTC DebugOutput DebugPrint 
DebugPrintNR DebugPrompt DebugStr DebugVal DecomposeConsoleChr DecompressFile 
DecreasePointer DefineVirtualFile DefineVirtualFileFromString Deg 
DeleteAlphaChannel DeleteButton DeleteConsoleChr DeleteConsoleLine DeleteFile 
DeleteMask DeletePrefs DeselectMenuItem DeserializeTable DirectoryItems 
DisableAdvancedConsole DisableButton DisableEvent DisableEventHandler 
DisableLayers DisableLineHook DisableMenuItem DisablePlugin 
DisablePrecalculation DisableVWait DisplayAnimFrame DisplayBGPic 
DisplayBGPicPart DisplayBGPicPartFX DisplayBrush DisplayBrushFX 
DisplayBrushPart DisplaySprite DisplayTextObject DisplayTextObjectFX 
DisplayTransitionFX DisplayVideoFrame Div DoMove DownloadFile DrawConsoleBorder 
DrawConsoleBox DrawConsoleHLine DrawConsoleVLine DrawPath DumpButtons 
DumpLayers DumpMem DumpVideo DumpVideoTime EdgeBrush Ellipse EmbossBrush 
EmptyStr EnableAdvancedConsole EnableButton EnableEvent EnableEventHandler 
EnableLayers EnableLineHook EnableMenuItem EnablePlugin EnablePrecalculation 
EnableVWait End EndDoubleBuffer EndianSwap EndRefresh EndSelect EndsWith Eof 
EraseConsole Error EscapeQuit Eval Execute Exists ExitOnError Exp ExtendBrush 
ExtractPalette FileAttributes FileLength FileLines FilePart FilePos FileRequest 
FileSize FileToString FillMem FillMusicBuffer FindStr FinishAnimStream 
FinishAsyncDraw FlashConsole Flip FlipBrush FlipSprite FloodFill Floor 
FlushFile FlushMusicBuffer FlushSerialPort FontRequest ForcePathUse ForceSound 
ForceVideoDriver ForceVideoMode ForEach ForEachI FormatConsoleLine FormatDate 
FormatNumber FormatStr Frac FreeAnim FreeBGPic FreeBrush FreeClipRegion 
FreeConsoleColor FreeConsoleWindow FreeDisplay FreeEventCache FreeGlyphCache 
FreeIcon FreeLayers FreeMem FreeMenu FreeModule FreePalette FreePath 
FreePointer FreeSample FreeSprite FreeTextObject FrExp FullPath GammaBrush 
GammaPalette GCInfo GetAllocConsoleColor GetAnimFrame GetApplicationInfo 
GetApplicationList GetAsset GetAttribute GetAvailableFonts GetBaudRate 
GetBestPen GetBrushLink GetBrushPen GetBulletColor GetCatalogString GetChannels 
GetCharMaps GetClipboard GetCommandLine GetConnectionIP GetConnectionPort 
GetConnectionProtocol GetConsoleBackground GetConsoleChr GetConsoleColor 
GetConsoleControlChr GetConsoleCursor GetConsoleOrigin GetConsoleSize 
GetConsoleStr GetConsoleStyle GetConsoleWindow GetConstant GetCoroutineStatus 
GetCountryInfo GetCurrentDirectory GetCurrentPoint GetDash GetDataBits GetDate 
GetDateNum GetDefaultAdapter GetDefaultEncoding GetDefaultLoader 
GetDirectoryEntry GetDisplayModes GetDTR GetEnv GetErrorName GetEventCode 
GetFileArgument GetFileAttributes GetFillRule GetFillStyle GetFlowControl 
GetFontColor GetFontStyle GetFormStyle GetFPSLimit GetFreePen GetFrontScreen 
GetHostName GetIconProperties GetItem GetKerningPair GetLanguageInfo 
GetLastError GetLayerAtPos GetLayerGroupMembers GetLayerGroups GetLayerPen 
GetLayerStyle GetLineCap GetLineJoin GetLineWidth GetLocaleInfo 
GetLocalInterfaces GetLocalIP GetLocalPort GetLocalProtocol GetMACAddress 
GetMemoryInfo GetMemPointer GetMemString GetMetaTable GetMiterLimit GetMonitors 
GetObjectData GetObjects GetObjectType GetPalettePen GetParity GetPathExtents 
GetPatternPosition GetPen GetPlugins GetProgramDirectory GetProgramInfo 
GetPubScreens GetRandomColor GetRandomFX GetRawArguments GetRealColor GetRTS 
GetSampleData GetSerializeMode GetShortcutPath GetSongPosition 
GetStartDirectory GetStopBits GetSystemCountry GetSystemInfo GetSystemLanguage 
GetTempFileName GetTime GetTimer GetTimestamp GetTimeZone GetType GetVersion 
GetVideoFrame GetVolumeInfo GetVolumeName GetWeekday Gosub Goto GrabDesktop 
Green GroupLayer HasItem HaveConsole HaveFreeChannel HaveItem HaveObject 
HaveObjectData HavePlugin HaveVolume HexStr HideConsoleCursor HideDisplay 
HideKeyboard HideLayer HideLayerFX HidePointer HideScreen Hypot IgnoreCase IIf 
ImageRequest IncreasePointer InitConsoleColor InKeyStr InsertConsoleChr 
InsertConsoleLine InsertConsoleStr InsertItem InsertLayer InsertSample 
InsertStr InstallEventHandler Int Intersection InvertAlphaChannel InvertBrush 
InvertMask InvertPalette IPairs IsAbsolutePath IsAlNum IsAlpha IsAnim 
IsAnimPlaying IsBrushEmpty IsChannelPlaying IsCntrl IsDigit IsDirectory 
IsFinite IsGraph IsInf IsKeyDown IsLeftMouse IsLower IsMenuItemDisabled 
IsMenuItemSelected IsMidMouse IsModule IsMusic IsMusicPlaying IsNan IsNil 
IsOnline IsPathEmpty IsPicture IsPrint IsPunct IsRightMouse IsSample 
IsSamplePlaying IsSound IsSpace IsTableEmpty IsUnicode IsUpper IsVideo 
IsVideoPlaying IsXDigit JoyAxisX JoyAxisY JoyAxisZ JoyButton JoyDir JoyFire 
Label JoyHat LayerExists LayerGroupExists LayerToBack LayerToFront Ld LdExp 
LeftMouseQuit LeftStr LegacyControl Limit Line LineTo ListItems ListRequest Ln 
LoadAnim LoadAnimFrame LoadBGPic LoadBrush LoadIcon LoadModule LoadPalette 
LoadPlugin LoadPrefs LoadSample LoadSprite Locate Log LowerStr MakeButton 
MakeConsoleChr MakeDate MakeDirectory MakeHostPath MatchPattern Matrix2D Max 
MD5 MD5Str MemToTable MergeLayers MidStr Min MixBrush MixRGB MixSample Mod 
ModifyAnimFrames ModifyButton ModifyKeyDown ModifyLayerFrames ModulateBrush 
ModulatePalette MonitorDirectory MouseX MouseY MoveAnim MoveBrush 
MoveConsoleWindow MoveDisplay MoveFile MoveLayer MovePointer MoveSprite 
MoveTextObject MoveTo Mul NearlyEqual NextDirectoryEntry NextFrame NextItem 
NormalizePath NPrint OilPaintBrush OpenAmigaGuide OpenAnim OpenAudio 
OpenCatalog OpenConnection OpenConsole OpenDirectory OpenDisplay OpenFile 
OpenFont OpenMusic OpenResourceMonitor OpenSerialPort OpenURL OpenVideo Pack 
PadNum Pairs PaletteToGray ParseDate PathItems PathPart PathRequest PathToBrush 
PatternFindStr PatternFindStrDirect PatternFindStrShort PatternReplaceStr 
PauseLayer PauseModule PauseMusic PauseTimer PauseVideo Peek PeekClipboard 
PenArrayToBrush PerformSelector PermissionRequest PerspectiveDistortBrush Pi 
PixelateBrush PlayAnim PlayAnimDisk PlayLayer PlayModule PlayMusic PlaySample 
PlaySubsong PlayVideo Plot Poke PolarDistortBrush PollSerialQueue Polygon 
PopupMenu Pow Print QuantizeBrush Rad RaiseOnError RasterizeBrush RawDiv 
RawEqual RawGet RawSet ReadBrushPixel ReadByte ReadBytes ReadChr ReadConsoleKey 
ReadConsoleStr ReadDirectory ReadFloat ReadFunction ReadInt ReadLine ReadMem 
ReadPen ReadPixel ReadRegistryKey ReadSerialData ReadShort ReadString ReadTable 
ReceiveData ReceiveUDPData Red ReduceAlphaChannel RefreshConsole RefreshDisplay 
RefreshLayer RelCurveTo RelLineTo RelMoveTo RemapBrush RemoveBrushPalette 
RemoveButton RemoveIconImage RemoveItem RemoveKeyDown RemoveLayer RemoveLayerFX 
RemoveLayers RemoveSprite RemoveSprites Rename RenderLayer RepeatStr 
ReplaceColors ReplaceStr ResetKeyStates ResetTabs ResetTimer ResolveHostName 
ResumeCoroutine ResumeLayer ResumeModule ResumeMusic ResumeTimer ResumeVideo 
ReverseFindStr ReverseStr RewindDirectory RGB RGBArrayToBrush RightStr Rnd RndF 
RndStrong Rol Ror RotateBrush RotateLayer RotateTextObject Round Rt Run 
RunCallback RunRexxScript Sar SaveAnim SaveBrush SaveIcon SavePalette SavePrefs 
SaveSample SaveSnapshot ScaleAnim ScaleBGPic ScaleBrush ScaleLayer ScaleSprite 
ScaleTextObject ScrollConsole Seek SeekLayer SeekMusic SeekVideo 
SelectAlphaChannel SelectAnim SelectBGPic SelectBrush SelectConsoleWindow 
SelectDisplay SelectLayer SelectMask SelectMenuItem SelectPalette 
SendApplicationMessage SendData SendMessage SendRexxCommand SendUDPData 
SepiaToneBrush SerializeTable SetAllocConsoleColor SetAlphaIntensity 
SetAnimFrameDelay SetAttribute SetBaudRate SetBorderPen SetBrushDepth 
SetBrushPalette SetBrushPen SetBrushTransparency SetBrushTransparentPen 
SetBulletColor SetBulletPen SetChannelVolume SetClipboard SetClipRegion 
SetConsoleBackground SetConsoleColor SetConsoleCursor SetConsoleOptions 
SetConsoleStyle SetConsoleTitle SetCycleTable SetDash SetDataBits 
SetDefaultAdapter SetDefaultEncoding SetDefaultLoader SetDepth 
SetDisplayAttributes SetDitherMode SetDrawPen SetDrawTagsDefault SetDTR SetEnv 
SetEventTimeout SetFileAttributes SetFileEncoding SetFillRule SetFillStyle 
SetFlowControl SetFont SetFontColor SetFontStyle SetFormStyle SetFPSLimit 
SetGradientPalette SetIconProperties SetInterval SetIOMode SetLayerAnchor 
SetLayerBorder SetLayerDepth SetLayerFilter SetLayerLight SetLayerName 
SetLayerPalette SetLayerPen SetLayerShadow SetLayerStyle SetLayerTint 
SetLayerTransparency SetLayerTransparentPen SetLayerVolume SetLayerZPos 
SetLineCap SetLineJoin SetLineWidth SetListItems SetMargins SetMaskMode 
SetMasterVolume SetMetaTable SetMiterLimit SetMusicVolume SetNetworkProtocol 
SetNetworkTimeout SetObjectData SetPalette SetPaletteDepth SetPaletteMode 
SetPalettePen SetPaletteTransparentPen SetPanning SetParity SetPen SetPitch 
SetPointer SetRTS SetScreenTitle SetSerializeMode SetSerializeOptions 
SetShadowPen SetSpriteZPos SetStandardIconImage SetStandardPalette SetStopBits 
SetSubtitle SetTimeout SetTimerElapse SetTitle SetTransparentPen 
SetTransparentThreshold SetTrayIcon SetVarType SetVectorEngine SetVideoPosition 
SetVideoSize SetVideoVolume SetVolume SetWBIcon Sgn SharpenBrush Shl 
ShowConsoleCursor ShowDisplay ShowKeyboard ShowLayer ShowLayerFX 
ShowNotification ShowPointer ShowRinghioMessage ShowScreen ShowToast Shr Sin 
Sleep SolarizeBrush SolarizePalette Sort SplitStr Sqrt StartConsoleColorMode 
StartPath StartSubPath StartsWith StartTimer StopAnim StopChannel StopLayer 
StopModule StopMusic StopSample StopTimer StopVideo StringRequest StringToFile 
StripStr StrLen StrStr StrToArray Sub SwapLayers SwirlBrush SystemRequest 
TableItems TableToMem Tan TextExtent TextHeight TextOut TextWidth TimerElapsed 
TimestampToDate TintBrush TintPalette ToHostName ToIP ToNumber ToString 
TouchConsoleWindow ToUserData TransformBox TransformBrush TransformLayer 
TransformPoint TransformTextObject TranslateLayer TranslatePath TrimBrush 
TrimStr UndefineVirtualStringFile Undo UndoFX UngroupLayer UnleftStr UnmidStr 
Unpack UnrightStr UnsetEnv UploadFile UpperStr Usage UseCarriageReturn UseFont 
UTCToDate Val ValidateDate ValidateStr Vibrate VWait Wait WaitAnimEnd WaitEvent 
WaitKeyDown WaitLeftMouse WaitMidMouse WaitMusicEnd WaitPatternPosition 
WaitRightMouse WaitSampleEnd WaitSongPosition WaitTimer WaterRippleBrush 
WhileKeyDown WhileMouseDown WhileMouseOn WhileRightMouseDown Wrap 
WriteAnimFrame WriteBrushPixel WriteByte WriteBytes WriteChr WriteFloat 
WriteFunction WriteInt WriteLine WriteMem WritePen WriteRegistryKey 
WriteSerialData WriteShort WriteString WriteTable YieldCoroutine
 
 " user-defined constants
-syn match hwUserConstant "#\<\u\+\>"
+syn match hwUserConstant "#\<\(\u\|_\|-\|\d\)\+\>\$\?"
 " user-defined functions
 syn match hwUserFunction "\<p_\w\{-1,}\>("me=e-1
 

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1sjlXz-00GLYU-Ds%40256bit.org.

Raspunde prin e-mail lui