2024-05-31 12:00:49 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								" Vim syntax file  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Language:	rasi (Rofi Advanced Style Information)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Maintainer:	Pierrick Guillaume  <pierguill@gmail.com>  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Last Change:	2024 May 21  
						 
					
						
							
								
									
										
										
										
											2025-04-16 18:20:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								" 2025 Apr 16 by Vim Project (set 'cpoptions' for line continuation, #17121)  
						 
					
						
							
								
									
										
										
										
											2024-05-31 12:00:49 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Syntax support for rasi config file  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" This file is based on syntax defined in rofi-theme man page  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" https://man.archlinux.org/man/community/rofi/rofi-theme.5.en  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exists ( 'b:current_syntax' )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  finish 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								let  b :current_syntax  =  'rasi'  
						 
					
						
							
								
									
										
										
										
											2025-04-16 18:20:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								let  s :cpo_save  =  &cpo  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set  cpo &vim  
						 
					
						
							
								
									
										
										
										
											2024-05-31 12:00:49 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" String {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  region  rasiString     start = + "+ skip=+\\" +  end = + "+  oneline  contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match   rasiCharacter  + L \= '[^\\]' +  contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals  add = rasiString , rasiCharacter  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Integer/Real {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiNumber   display  contained  '[+-]\?\d\+\(\.\d\+\)\?'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals  add = rasiNumber  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Boolean {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiBool   contained  true  false  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals  add = rasiBool  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Image {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvImage         display  contained  'url([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiImageK         contained  url  linear - gradient  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiImage            display  contained  transparent  'url(\s*"\([^"]\|\\"\)\+"\(\s*,\s*\(none\|both\|width\|height\)\)\?\s*)'  contains = rasiImageScale , rasiString , rasiImageK  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiImageScale   contained  none  both  width  height  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiImage            display  contained  transparent  'linear-gradient(\s*\(\(top\|left\|right\|bottom\)\s*,\s*\)\?[^,)]\+\s*\(,\s*[^,)]\+\s*\)\+)'  contains = rasiImageDirection , @rasiColors , rasiImageK  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiImageDirection  contained  top  left  right  bottom  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiImage            display  contained  transparent  'linear-gradient(\s*\d\+\(rad\|grad\|deg\)\s*,\s*[^,)]\+\s*\(,\s*[^,)]\+\s*\)\+)'  contains = rasiImageUnit , @rasiColor , @rasiInvColor , rasiNumber , rasiImageK  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiImageUnit        display  contained  '\(rad\|grad\|deg\)\>'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiInvImage , rasiImage  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Reference {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiReference        display  contained  '@[a-zA-Z0-9-]\+'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiVarReferenceK  contained  var  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvVarReference  display  contained  'var([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiVarReference     display  contained  transparent  'var(\s*[a-zA-Z0-9-]\+\s*,\s*\(\a\+\s*([^)]*)\)\?[^),]*)'  contains = rasiVarReferenceK , rasiPropertyIdRef , @rasiPropertyVals  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiPropertyIdRef    display  contained  '\a[a-zA-Z0-9-]*'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiReference , rasiInvVarReference , rasiVarReference  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Env variable {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvEnv           display  contained  '${[^}]*}'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiEnv              display  contained  '${\w\+}' hs = s + 2 , he = e -1  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiEnvVarK        contained  env  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvEnvVar        display  contained  'env([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiEnvVar           display  contained  transparent  'env(\s*\w\+\s*,\s*\(\a\+([^)]*)\)\?[^),]*)'  contains = rasiEnvVarK , rasiEnvRef , @rasiPropertyVals  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiEnvRef           display  contained  '\a\w*'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiEnv , rasiInvEnv , rasiInvEnvVar , rasiEnvVar  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Color {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiColorK         contained  rgb [a ] hsl [a ] hwb [a ] cmyk  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiHexColor         display  contained  '#\x\{3,4}'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiHexColor         display  contained  '#\x\{6}'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiHexColor         display  contained  '#\x\{8}'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvHexColor      display  contained  '#\x\{5}\X' he = e -1 , me = e -1  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvHexColor      display  contained  '#\x\{7}\X' he = e -1 , me = e -1  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvRGBColor      display  contained  'rgb\(a\)\?([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiRGBColor         display  contained  transparent  'rgb\(a\)\?(\s*\d\+\s*\(%\)\?\s*,\(\s*\d\+\s*\(%\)\?\s*\){2}\(,\s*\(\d\(\.\d*\)\?\|\d\{,3}%\)\s*\)\?)'  contains = rasiColorK , rasiNumber , rasiDistance  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvHSLColor      display  contained  'h\(sl\|wb\)\(a\)\?([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiHSLColor         display  contained  transparent  'h\(sl\|wb\)\(a\)\?(\s*\d\+\(\.\d*\)\?\(deg\|rad\|grad\|turn\)\?\s*\(,\s*\(\d\(\.\d*\)\?\|\d\{,3}%\)\s*\)\{2,3})'  contains = rasiColorK , rasiNumber , rasiDistance  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								"this matches doesn't works properly (too long ?)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvCMYKColor   display  contained  'cmyk([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiCMYKColor      display  contained  transparent  'cmyk(\s*\(\d\(\.\d*\)\?\|\d\{,3}%\)\s*\(,\s*\(\d\(\.\d*\)\?\|\d\{,3}%\)\s*\)\{3,4})'  contains = rasiColorK , rasiNumber , rasiDistance  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  case  ignore  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiNamedColor  contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ AliceBlue  AntiqueWhite  Aqua  Aquamarine  Azure  Beige  Bisque  Black  BlanchedAlmond  Blue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ BlueViolet  Brown  BurlyWood  CadetBlue  Chartreuse  Chocolate  Coral  CornflowerBlue  Cornsilk 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ Crimson  Cyan  DarkBlue  DarkCyan  DarkGoldenRod  DarkGray  DarkGrey  DarkGreen  DarkKhaki  DarkMagenta 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ DarkOliveGreen  DarkOrange  DarkOrchid  DarkRed  DarkSalmon  DarkSeaGreen  Dark  SlateBlue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ DarkSlateGray  DarkSlateGrey  DarkTurquoise  DarkViolet  DeepPink  DeepSkyBlue  DimGray  DimGrey 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ DodgerBlue  FireBrick  FloralWhite  ForestGreen  Fuchsia  Gainsboro  GhostWhite  Gold  GoldenRod 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ Gray  Grey  Green  GreenYellow  HoneyDew  HotPink  IndianRed  Indigo  Ivory  Khaki  Lavender 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ LavenderBlush  LawnGreen  LemonChiffon  LightBlue  LightCoral  LightCyan  LightGoldenRodYellow 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ LightGray  LightGrey  LightGreen  LightPink  LightSalmon  LightSeaGreen  LightSkyBlue  LightSlateGray 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ LightSlateGrey  LightSteelBlue  LightYellow  Lime  LimeGreen  Linen  Magenta  Maroon  MediumAquaMarine 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ MediumBlue  MediumOrchid  MediumPurple  MediumSeaGreen  MediumSlateBlue  MediumSpringGreen 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ MediumTurquoise  MediumVioletRed  MidnightBlue  MintCream  MistyRose  Moccasin  NavajoWhite  Navy 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ OldLace  Olive  OliveDrab  Orange  OrangeRed  Orchid  PaleGoldenRod  PaleGreen  PaleTurquoise 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ PaleVioletRed  PapayaWhip  PeachPuff  Peru  Pink  Plum  PowderBlue  Purple  RebeccaPurple  Red 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ RosyBrown  RoyalBlue  SaddleBrown  Salmon  SandyBrown  SeaGreen  SeaShell  Sienna  Silver  SkyBlue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ SlateBlue  SlateGray  SlateGrey  Snow  SpringGreen  SteelBlue  Tan  Teal  Thistle  Tomato  Turquoise 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      \ Violet  Wheat  White  WhiteSmoke  Yellow  YellowGreen  transparent [] "uses `[]` to escape keyword 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiColors         add = rasiHexColor , rasiRGBColor , rasiHSLColor , rasiCMYKColor , rasiNamedColor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiColors         add = rasiInvHexColor , rasiInvRGBColor , rasiInvHSLColor , rasiInvCMYKColor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = @rasiColors  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Text-Style {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiTextStyle  contained  bold  italic  underline  strikethrough  none  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiTextStyle  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Line-Style {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiLineStyle  contained  dash  solid  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiLineStyle  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Distance {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiDistanceUnit     display  contained  '\(px\|em\|ch\|%\|mm\)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvDistance      display  contained  '[+-]\?\d\+\.\d\+\(px\|mm\)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiDistance         display  contained  transparent  '[-+]\?\d\+\(px\|mm\)'  contains = rasiDistanceUnit , rasiNumber  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiDistance         display  contained  transparent  '[+-]\?\d\+\(\.\d\+\)\?\(em\|ch\|%\)'  contains = rasiDistanceUnit , rasiNumber  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiDistanceCalc   contained  calc  nextgroup = rasiDistanceCalcBody  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  region  rasiDistanceCalcBody  display  contained  start = + ( +  end = + ) +  contains = rasiDistanceCalcOp , rasiDistance , rasiInvDistance  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiDistanceCalcOp   display  contained  '\(+\|-\|/\|\*\|%\|min\|max\)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiInvDistance , rasiDistance , rasiDistanceCalc  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Position {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiPosition     contained  center  east  north  west  south  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiPosition  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Orientation {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiOrientation    contained  horizontal  vertical  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiOrientation  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Cursor {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiCursor         contained  default  pointer  text  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiCursor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Keyword List {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  region  rasiKeywordList     contained  start = + \[+  end = + \]+  contains = rasiPropertyIdRef  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiKeywordList  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Inherit {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiInherit        contained  inherit  children  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiPropertyVals   add = rasiInherit  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiGlobalImport     display  '^\s*@\(import\|theme\)'  nextgroup = rasiString  skipwhite  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Section {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" syn region rasiSection transparent start='^[^{]\+{'me=e-1 end='}' contains=rasiSectionOpenning,rasiSectionContent  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiSectionOpenning  transparent  '^[^{]\+{' me = e -1  contains = rasiGlobalSection , rasiWidgetName , rasiGlobalMedia  nextgroup = rasiThemeSectionContent  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" syn match rasiThemeInnerSectionOpenning transparent '^[^:${]\+{'me=e-1 contains=rasiWidgetName nextgroup=rasiThemeInnerSectionContent contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiGlobalMedia      display  contained  '^\s*@media'  nextgroup = rasiInvMediaBody , rasiMediaBody  skipwhite  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvMediaBody     display  contained  '([^)]*)'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiMediaBody        display  contained  '(\s*[a-z-]\+\s*:\s*\d\+\(px\|mm\)\?\s*)'  contains = rasiMediaK , rasiNumber , rasiDistance  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiMediaK         contained  min - width  max - width  min - height  max - height  min - aspect - ratio  max - aspect - ratio  monitor - id  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiGlobalSection    display  contained  '^*'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiWidgetName       display  contained  '[a-zA-Z0-9-]\+'  nextgroup = rasiVisibleMod  skipwhite  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiVisibleMod     contained  normal  selected  alternate  nextgroup = rasiVisibleMod , rasiStateWrapper  skipwhite  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiStateWrapper     display  contained  transparent  '\.\(normal\|active\|urgent\)'  contains = rasiState  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiState          contained  normal  active  urgent  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  region   rasiThemeSectionContent  transparent  start = "{"  end = "}"  contains = rasiProperty , rasiComment , rasiCommentL , rasiSectionOpenning  contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" syn region  rasiThemeInnerSectionContent transparent start="{" end="}" contains=rasiProperty,rasiComment,rasiCommentL,rasiThemeInnerSectionOpenning contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiProperty  transparent  '^\s*\S\+\s*:.*;\s*$'  keepend  contained  contains = rasiPropertyId , rasiInvPropertyId , rasiPropertyVal , rasiComment , rasiCommentL  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvPropertyId  '^\([^:]\&[^/]\{2}\)*:' me = e -1  contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiPropertyId   '^\s*[0-9a-zA-Z-]\+\s*:' me = e -1  contained  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiInvPropertyVal  ':[^;];\s*\S\+\s*$' ms = s + 1 , hs = s + 1  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiPropertyVal  ':\s*[^;]\+;\s*$' ms = s + 1 , hs = s + 1  contained  contains = @rasiPropertyVals  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Comment {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  cluster  rasiCommentGroup   contains = rasiTodo , rasiBadContinuation  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  region  rasiCommentL        start = "//"  skip = "\\$"  end = "$"  keepend  contains = @rasiCommentGroup , @Spell  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  region  rasiComment         start = "/\*"  end = "\*/"  contains = @rasiCommentGroup , rasiCommentStartError , @Spell  fold  extend  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  match  rasiCommentError     display  '\*/'  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								syn  keyword  rasiTodo           contained  TODO  FIXME  XXX  NOTE  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  exists ( "rasi_minlines" )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  let  b :rasi_minlines  =  rasi_minlines 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  let  b :rasi_minlines  =  50 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								exec  "syn sync ccomment rasiComment minlines="  . b :rasi_minlines  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" Highlighting: {{{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiError            Error  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiTodo             Todo  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiComment          Comment  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiCommentStart     rasiComment  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiCommentL         rasiComment  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiCommentError     rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiString           String  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiNumber           Number  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiBool             Boolean  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiImageK           Function  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiImageScale       Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiImageDirection   Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiImageUnit        Type  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvImage         rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiHexColor         Number  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiColorK           Function  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiNamedColor       Number  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvColor         rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvHexColor      rasiInvColor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvRGBColor      rasiInvColor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvHSLColor      rasiInvColor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvCMYKColor     rasiInvColor  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiTextStyle        Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiLineStyle        Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiDistanceUnit     Type  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiDistanceCalc     Function  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiDistanceCalcOp   Operator  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvDistance      rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiPosition         Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiOrientation      Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiCursor           Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiReference        Identifier  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiPropertyIdRef    Identifier  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiVarReferenceK    Function  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvVarReference  rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiEnv              Identifier  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiEnvRef           Identifier  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiEnvVarK          Function  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvEnv           rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvEnvVar        rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiWidgetName       StorageClass  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiGlobalSection    StorageClass  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiVisibleMod       Type  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiState            Tag  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInherit          Identifier  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiGlobalImport     Include  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiGlobalMedia      Preproc  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiMediaK           Keyword  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvMediaBody     rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiPropertyId       Identifier  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvProperty      rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvPropertyId    rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								hi  def  link  rasiInvPropertyVal   rasiError  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								" }}}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-16 18:20:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								let  &cpo  =  s :cpo_save  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								unlet  s :cpo_save  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-05-31 12:00:49 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								" vim:ts=8