" Vim syntax file " Language: lf file manager configuration file (lfrc) " Maintainer: Andis Sprinkis " Former Maintainer: Cameron Wright " Former URL: https://github.com/andis-sprinkis/lf-vim " Last Change: 13 October 2024 " " The shell syntax highlighting is configurable. See $VIMRUNTIME/doc/syntax.txt " lf version: 32 if exists("b:current_syntax") finish endif let b:current_syntax = "lf" "{{{ Comment Matching syn match lfComment '#.*$' "}}} "{{{ String Matching syn match lfString "'.*'" syn match lfString '".*"' contains=lfVar,lfSpecial "}}} "{{{ Match lf Variables syn match lfVar '\$f\|\$fx\|\$fs\|\$id' "}}} "{{{ Keywords syn keyword lfKeyword set setlocal cmd map cmap skipwhite "}}} "{{{ Options Keywords syn keyword lfOptions \ quit \ up \ half-up \ page-up \ scroll-up \ down \ half-down \ page-down \ scroll-down \ updir \ open \ jump-next \ jump-prev \ top \ bottom \ high \ middle \ low \ toggle \ invert \ invert-below \ unselect \ glob-select \ glob-unselect \ calcdirsize \ clearmaps \ copy \ cut \ paste \ clear \ sync \ draw \ redraw \ load \ reload \ echo \ echomsg \ echoerr \ cd \ select \ delete \ rename \ source \ push \ read \ shell \ shell-pipe \ shell-wait \ shell-async \ find \ find-back \ find-next \ find-prev \ search \ search-back \ search-next \ search-prev \ filter \ setfilter \ mark-save \ mark-load \ mark-remove \ tag \ tag-toggle \ cmd-escape \ cmd-complete \ cmd-menu-complete \ cmd-menu-complete-back \ cmd-menu-accept \ cmd-enter \ cmd-interrupt \ cmd-history-next \ cmd-history-prev \ cmd-left \ cmd-right \ cmd-home \ cmd-end \ cmd-delete \ cmd-delete-back \ cmd-delete-home \ cmd-delete-end \ cmd-delete-unix-word \ cmd-yank \ cmd-transpose \ cmd-transpose-word \ cmd-word \ cmd-word-back \ cmd-delete-word \ cmd-delete-word-back \ cmd-capitalize-word \ cmd-uppercase-word \ cmd-lowercase-word \ anchorfind \ autoquit \ borderfmt \ cleaner \ copyfmt \ cursoractivefmt \ cursorparentfmt \ cursorpreviewfmt \ cutfmt \ dircache \ dircounts \ dirfirst \ dironly \ dirpreviews \ drawbox \ dupfilefmt \ errorfmt \ filesep \ findlen \ globfilter \ globsearch \ hidden \ hiddenfiles \ hidecursorinactive \ history \ icons \ ifs \ ignorecase \ ignoredia \ incfilter \ incsearch \ info \ infotimefmtnew \ infotimefmtold \ mouse \ number \ numberfmt \ period \ preserve \ preview \ previewer \ promptfmt \ ratios \ relativenumber \ reverse \ roundbox \ ruler \ rulerfmt \ scrolloff \ selectfmt \ selmode \ shell \ shellflag \ shellopts \ sixel \ smartcase \ smartdia \ sortby \ statfmt \ tabstop \ tagfmt \ tempmarks \ timefmt \ truncatechar \ truncatepct \ waitmsg \ wrapscan \ wrapscroll \ pre-cd \ on-cd \ on-select \ on-redraw \ on-quit "}}} "{{{ Special Matching syn match lfSpecial '<.*>\|\\.' "}}} "{{{ Shell Script Matching for cmd let s:shell_syntax = get(g:, 'lf_shell_syntax', "syntax/sh.vim") let s:shell_syntax = get(b:, 'lf_shell_syntax', s:shell_syntax) unlet b:current_syntax exe 'syn include @Shell '.s:shell_syntax let b:current_syntax = "lf" syn region lfIgnore start=".{{\n" end="^}}" \ keepend contains=lfExternalShell,lfExternalPatch syn match lfShell '\$[a-zA-Z].*$ \\|:[a-zA-Z].*$ \\|%[a-zA-Z].*$ \\|![a-zA-Z].*$ \\|&[a-zA-Z].*$' \ transparent contains=@Shell,lfExternalPatch syn match lfExternalShell "^.*$" transparent contained contains=@Shell syn match lfExternalPatch "^\s*cmd\ .*\ .{{$\|^}}$" contained "}}} "{{{ Link Highlighting hi def link lfComment Comment hi def link lfVar Type hi def link lfSpecial Special hi def link lfString String hi def link lfKeyword Statement hi def link lfOptions Constant hi def link lfConstant Constant hi def link lfExternalShell Normal hi def link lfExternalPatch Special hi def link lfIgnore Special "}}}