mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
patch 9.1.0875: filetype: hyprlang detection can be improved
Problem: filetype: hyprlang detection can be improved Solution: detect '/hypr/*.conf' files as hyprlang filetype, include basic syntax highlighting (Luca Saccarola) fixes: #15875 closes: #16064 Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
fdac54d7bb
commit
a13bd294ab
@ -1099,8 +1099,8 @@ au BufRead,BufNewFile *.hurl setf hurl
|
|||||||
" Hyper Builder
|
" Hyper Builder
|
||||||
au BufNewFile,BufRead *.hb setf hb
|
au BufNewFile,BufRead *.hb setf hb
|
||||||
|
|
||||||
" Hyprlang
|
" Hyprland Configuration language
|
||||||
au BufNewFile,BufRead hypr\(land\|paper\|idle\|lock\).conf setf hyprlang
|
au BufNewFile,BufRead */hypr/*.conf,hypr\(land\|paper\|idle\|lock\).conf setf hyprlang
|
||||||
|
|
||||||
" Httest
|
" Httest
|
||||||
au BufNewFile,BufRead *.htt,*.htb setf httest
|
au BufNewFile,BufRead *.htt,*.htb setf httest
|
||||||
|
58
runtime/syntax/hyprlang.vim
Normal file
58
runtime/syntax/hyprlang.vim
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: hyprlang
|
||||||
|
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||||
|
" Last Change: 2024 nov 15
|
||||||
|
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
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 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
|
||||||
|
|
||||||
|
" vim: ts=8 sts=2 sw=2 et
|
@ -354,7 +354,7 @@ def s:GetFilenameChecks(): dict<list<string>>
|
|||||||
htmlm4: ['file.html.m4'],
|
htmlm4: ['file.html.m4'],
|
||||||
httest: ['file.htt', 'file.htb'],
|
httest: ['file.htt', 'file.htb'],
|
||||||
hurl: ['file.hurl'],
|
hurl: ['file.hurl'],
|
||||||
hyprlang: ['hyprlock.conf', 'hyprland.conf', 'hypridle.conf', 'hyprpaper.conf'],
|
hyprlang: ['hyprlock.conf', 'hyprland.conf', 'hypridle.conf', 'hyprpaper.conf', '/hypr/foo.conf'],
|
||||||
i3config: ['/home/user/.i3/config', '/home/user/.config/i3/config', '/etc/i3/config', '/etc/xdg/i3/config'],
|
i3config: ['/home/user/.i3/config', '/home/user/.config/i3/config', '/etc/i3/config', '/etc/xdg/i3/config'],
|
||||||
ibasic: ['file.iba', 'file.ibi'],
|
ibasic: ['file.iba', 'file.ibi'],
|
||||||
icemenu: ['/.icewm/menu', 'any/.icewm/menu'],
|
icemenu: ['/.icewm/menu', 'any/.icewm/menu'],
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
875,
|
||||||
/**/
|
/**/
|
||||||
874,
|
874,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user