mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	fixes: vim/vim#16970
closes: vim/vim#16973
f9f4e27ad7
Co-authored-by: Christian Brabandt <cb@256bit.org>
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:     hyprlang
 | 
						|
" Maintainer:   Luca Saccarola <github.e41mv@aleeas.com>
 | 
						|
" Last Change:  2025 Mar 26
 | 
						|
 | 
						|
if exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
let s:cpo= &cpo
 | 
						|
set cpo&vim
 | 
						|
 | 
						|
let b:current_syntax = "hyprlang"
 | 
						|
 | 
						|
syn case ignore
 | 
						|
 | 
						|
syn match hyprCommand '^\s*\zs\S\+\ze\s*=' contains=hyprVariable
 | 
						|
syn match hyprValue '=\s*\zs.\+\ze$' contains=hyprNumber,hyprFloat,hyprBoolean,hyprString,hyprColor,hyprModifier,hyprVariable,hyprComment
 | 
						|
 | 
						|
syn match hyprVariable '\$\w\+' contained
 | 
						|
 | 
						|
" Category
 | 
						|
syn region hyprCategory matchgroup=hyprCategoryD start='^\s*\k\+\s*{' end='^\s*}' contains=hyprCommand,hyprValue,hyprComment,hyprCategory,hyprCategoryD
 | 
						|
 | 
						|
" Variables Types
 | 
						|
syn match   hyprNumber  '\%[-+]\<\d\+\>\%[%]' contained
 | 
						|
syn match   hyprFloat   '\%[-+]\<\d\+\.\d\+\>\%[%]' contained
 | 
						|
syn match   hyprString  "'[^']*'" contained
 | 
						|
syn match   hyprString  '"[^"]*"' contained
 | 
						|
syn match   hyprColor   'rgb(\(\w\|\d\)\{6})' contained
 | 
						|
syn match   hyprColor   'rgba(\(\w\|\d\)\{8})' contained
 | 
						|
syn match   hyprColor   '0x\(\w\|\d\)\{8}' contained
 | 
						|
syn keyword hyprBoolean true false yes no on off contained
 | 
						|
 | 
						|
"               Super         Shift         Alt         Ctrl        Control
 | 
						|
syn keyword hyprModifier contained
 | 
						|
      \ super                 supershift    superalt    superctrl   supercontrol
 | 
						|
      \                       super_shift   super_alt   super_ctrl  super_control
 | 
						|
      \ shift   shiftsuper                  shiftalt    shiftctrl   shiftcontrol
 | 
						|
      \         shift_super                 shift_alt   shift_ctrl  shift_control
 | 
						|
      \ alt     altsuper      altshift                  altctrl     altcontrol
 | 
						|
      \         alt_super     alt_shift                 alt_ctrl    alt_control
 | 
						|
      \ ctrl    ctrlsuper     ctrlshift     ctrlalt                 ctrlcontrol
 | 
						|
      \         ctrl_super    ctrl_shift    ctrl_alt                ctrl_control
 | 
						|
      \ control controlsuper  controlshift  controlalt  controlctrl
 | 
						|
      \         control_super control_shift control_alt control_ctrl
 | 
						|
 | 
						|
" Comments
 | 
						|
syn match hyprComment '#.*$'
 | 
						|
 | 
						|
" Link to default groups
 | 
						|
hi def link hyprVariable  Identifier
 | 
						|
hi def link hyprCategoryD Special
 | 
						|
hi def link hyprComment   Comment
 | 
						|
hi def link hyprNumber    Constant
 | 
						|
hi def link hyprModifier  Constant
 | 
						|
hi def link hyprFloat     hyprNumber
 | 
						|
hi def link hyprBoolean   Boolean
 | 
						|
hi def link hyprString    String
 | 
						|
hi def link hyprColor     Structure
 | 
						|
hi def link hyprCommand   Keyword
 | 
						|
 | 
						|
let &cpo = s:cpo
 | 
						|
unlet s:cpo
 | 
						|
" vim: ts=8 sts=2 sw=2 et
 |