neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

lf.vim (4452B)


      1 " Vim syntax file
      2 " Language: lf file manager configuration file (lfrc)
      3 " Maintainer: Andis Sprinkis <andis@sprinkis.com>, @CatsDeservePets
      4 " Former Maintainer: Cameron Wright
      5 " URL: https://github.com/andis-sprinkis/lf-vim
      6 " Last Change: 4 Feb 2026
      7 "
      8 " The shell syntax highlighting is configurable. See $VIMRUNTIME/doc/syntax.txt
      9 " lf version: 41
     10 
     11 if exists("b:current_syntax") | finish | endif
     12 
     13 let s:cpo = &cpo
     14 set cpo&vim
     15 
     16 let b:current_syntax = "lf"
     17 
     18 "{{{ Comment Matching
     19 syn match lfComment '#.*$'
     20 "}}}
     21 
     22 "{{{ String Matching
     23 syn match lfString "'.*'"
     24 syn match lfString '".*"' contains=lfSpecial
     25 "}}}
     26 
     27 "{{{ Keywords
     28 syn keyword lfKeyword set setlocal cmd map cmap nmap vmap skipwhite
     29 "}}}
     30 
     31 "{{{ Options Keywords
     32 syn keyword lfOptions
     33  \ addcustominfo
     34  \ anchorfind
     35  \ autoquit
     36  \ borderfmt
     37  \ bottom
     38  \ calcdirsize
     39  \ cd
     40  \ cleaner
     41  \ clear
     42  \ clearmaps
     43  \ cmaps
     44  \ cmd-capitalize-word
     45  \ cmd-complete
     46  \ cmd-delete
     47  \ cmd-delete-back
     48  \ cmd-delete-end
     49  \ cmd-delete-home
     50  \ cmd-delete-unix-word
     51  \ cmd-delete-word
     52  \ cmd-delete-word-back
     53  \ cmd-end
     54  \ cmd-enter
     55  \ cmd-escape
     56  \ cmd-history-next
     57  \ cmd-history-prev
     58  \ cmd-home
     59  \ cmd-insert
     60  \ cmd-interrupt
     61  \ cmd-left
     62  \ cmd-lowercase-word
     63  \ cmd-menu-accept
     64  \ cmd-menu-complete
     65  \ cmd-menu-complete-back
     66  \ cmd-menu-discard
     67  \ cmd-right
     68  \ cmd-transpose
     69  \ cmd-transpose-word
     70  \ cmd-uppercase-word
     71  \ cmd-word
     72  \ cmd-word-back
     73  \ cmd-yank
     74  \ cmds
     75  \ copy
     76  \ copyfmt
     77  \ cursoractivefmt
     78  \ cursorparentfmt
     79  \ cursorpreviewfmt
     80  \ cut
     81  \ cutfmt
     82  \ delete
     83  \ dircounts
     84  \ dirfirst
     85  \ dironly
     86  \ dirpreviews
     87  \ down
     88  \ draw
     89  \ drawbox
     90  \ dupfilefmt
     91  \ echo
     92  \ echoerr
     93  \ echomsg
     94  \ errorfmt
     95  \ filesep
     96  \ filter
     97  \ filtermethod
     98  \ find
     99  \ find-back
    100  \ find-next
    101  \ find-prev
    102  \ findlen
    103  \ glob-select
    104  \ glob-unselect
    105  \ half-down
    106  \ half-up
    107  \ help
    108  \ hidden
    109  \ hiddenfiles
    110  \ high
    111  \ history
    112  \ icons
    113  \ ifs
    114  \ ignorecase
    115  \ ignoredia
    116  \ incfilter
    117  \ incsearch
    118  \ info
    119  \ infotimefmtnew
    120  \ infotimefmtold
    121  \ invert
    122  \ jump-next
    123  \ jump-prev
    124  \ load
    125  \ low
    126  \ maps
    127  \ mark-load
    128  \ mark-remove
    129  \ mark-save
    130  \ menufmt
    131  \ menuheaderfmt
    132  \ menuselectfmt
    133  \ mergeindicators
    134  \ middle
    135  \ mouse
    136  \ nmaps
    137  \ number
    138  \ numberfmt
    139  \ on-cd
    140  \ on-focus-gained
    141  \ on-focus-lost
    142  \ on-init
    143  \ on-load
    144  \ on-quit
    145  \ on-redraw
    146  \ on-select
    147  \ open
    148  \ page-down
    149  \ page-up
    150  \ paste
    151  \ period
    152  \ pre-cd
    153  \ preload
    154  \ preserve
    155  \ preview
    156  \ previewer
    157  \ promptfmt
    158  \ push
    159  \ quit
    160  \ ratios
    161  \ read
    162  \ redraw
    163  \ relativenumber
    164  \ reload
    165  \ rename
    166  \ reverse
    167  \ roundbox
    168  \ rulerfile
    169  \ rulerfmt
    170  \ scroll-down
    171  \ scroll-up
    172  \ scrolloff
    173  \ search
    174  \ search-back
    175  \ search-next
    176  \ search-prev
    177  \ searchmethod
    178  \ select
    179  \ selectfmt
    180  \ selmode
    181  \ setfilter
    182  \ shell
    183  \ shell-async
    184  \ shell-pipe
    185  \ shell-wait
    186  \ shellflag
    187  \ shellopts
    188  \ showbinds
    189  \ sizeunits
    190  \ smartcase
    191  \ smartdia
    192  \ sortby
    193  \ source
    194  \ statfmt
    195  \ sync
    196  \ tabstop
    197  \ tag
    198  \ tag-toggle
    199  \ tagfmt
    200  \ tempmarks
    201  \ timefmt
    202  \ toggle
    203  \ top
    204  \ truncatechar
    205  \ truncatepct
    206  \ tty-write
    207  \ unselect
    208  \ up
    209  \ updir
    210  \ visual
    211  \ visual-accept
    212  \ visual-change
    213  \ visual-discard
    214  \ visual-unselect
    215  \ visualfmt
    216  \ vmaps
    217  \ waitmsg
    218  \ watch
    219  \ wrapscan
    220  \ wrapscroll
    221 "}}}
    222 
    223 "{{{ Special Matching
    224 syn match lfSpecial '\v\<[^>]+\>'
    225 syn match lfSpecial '\v\\(["\\abfnrtv]|\o+)'
    226 "}}}
    227 
    228 "{{{ Shell Script Matching for cmd
    229 let s:shell_syntax = get(g:, 'lf_shell_syntax', "syntax/sh.vim")
    230 let s:shell_syntax = get(b:, 'lf_shell_syntax', s:shell_syntax)
    231 
    232 unlet b:current_syntax
    233 exe 'syn include @Shell '.s:shell_syntax
    234 syn iskeyword @,-
    235 let b:current_syntax = "lf"
    236 
    237 syn region lfCommand matchgroup=lfCommandMarker start=' \zs:\ze' end='$' keepend transparent
    238 syn region lfCommand matchgroup=lfCommandMarker start=' \zs:{{\ze' end='}}' keepend transparent
    239 syn region lfShell matchgroup=lfShellMarker start=' \zs[$!%&]\ze' end='$' keepend contains=@Shell
    240 syn region lfShell matchgroup=lfShellMarker start=' \zs[$!%&]{{\ze' end='}}' keepend contains=@Shell
    241 "}}}
    242 
    243 "{{{ Link Highlighting
    244 hi def link lfComment       Comment
    245 hi def link lfSpecial       SpecialChar
    246 hi def link lfString        String
    247 hi def link lfKeyword       Statement
    248 hi def link lfOptions       Constant
    249 hi def link lfCommandMarker Special
    250 hi def link lfShellMarker   Special
    251 "}}}
    252 
    253 let &cpo = s:cpo
    254 unlet s:cpo