neovim

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

netrw.vim (6960B)


      1 " Creator: Charles E Campbell
      2 " Previous Maintainer:  Luca Saccarola <github.e41mv@aleeas.com>
      3 " Maintainer: This runtime file is looking for a new maintainer.
      4 " Language: Netrw Listing Syntax
      5 
      6 
      7 if exists("b:current_syntax")
      8    finish
      9 endif
     10 
     11 let b:current_syntax = "netrwlist"
     12 
     13 " Directory List Syntax Highlighting: {{{
     14 
     15 syn cluster NetrwGroup contains=netrwHide,netrwSortBy,netrwSortSeq,netrwQuickHelp,netrwVersion,netrwCopyTgt
     16 syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
     17 
     18 syn match netrwPlain "\(\S\+ \)*\S\+" contains=netrwLink,@NoSpell
     19 syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
     20 syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
     21 syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
     22 syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
     23 syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
     24 syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
     25 if has("gui_running") && (&enc == 'utf-8' || &enc == 'utf-16' || &enc == 'ucs-4')
     26    syn match netrwTreeBar "^\%([-+|│] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
     27 else
     28    syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
     29 endif
     30 syn match netrwTreeBarSpace " " contained
     31 
     32 syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained
     33 syn match netrwDateSep "/" contained
     34 syn match netrwTime "\d\{1,2}:\d\{2}:\d\{2}" contained contains=netrwTimeSep
     35 syn match netrwTimeSep ":"
     36 
     37 syn match netrwComment '".*\%(\t\|$\)' contains=@NetrwGroup,@NoSpell
     38 syn match netrwHide '^"\s*\(Hid\|Show\)ing:' skipwhite contains=@NoSpell nextgroup=netrwHidePat
     39 syn match netrwSlash "/" contained
     40 syn match netrwHidePat "[^,]\+" contained skipwhite contains=@NoSpell nextgroup=netrwHideSep
     41 syn match netrwHideSep "," contained skipwhite nextgroup=netrwHidePat
     42 syn match netrwSortBy "Sorted by" contained transparent skipwhite nextgroup=netrwList
     43 syn match netrwSortSeq "Sort sequence:" contained transparent skipwhite nextgroup=netrwList
     44 syn match netrwCopyTgt "Copy/Move Tgt:" contained transparent skipwhite nextgroup=netrwList
     45 syn match netrwList ".*$" contained contains=netrwComma,@NoSpell
     46 syn match netrwComma "," contained
     47 syn region netrwQuickHelp matchgroup=Comment start="Quick Help:\s\+" end="$" contains=netrwHelpCmd,netrwQHTopic,@NoSpell keepend contained
     48 syn match netrwHelpCmd "\S\+\ze:" contained skipwhite contains=@NoSpell nextgroup=netrwCmdSep
     49 syn match netrwQHTopic "([a-zA-Z &]\+)" contained skipwhite
     50 syn match netrwCmdSep ":" contained nextgroup=netrwCmdNote
     51 syn match netrwCmdNote ".\{-}\ze " contained contains=@NoSpell
     52 syn match netrwVersion "(netrw.*)" contained contains=@NoSpell
     53 syn match netrwLink "-->" contained skipwhite
     54 
     55 " }}}
     56 " Special filetype highlighting {{{
     57 
     58 if exists("g:netrw_special_syntax") && g:netrw_special_syntax
     59    if exists("+suffixes") && &suffixes != ""
     60        let suflist= join(split(&suffixes,','))
     61        let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
     62        exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
     63    endif
     64    syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
     65    syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
     66    if has("unix")
     67        syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
     68    endif
     69    syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
     70    syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
     71    syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
     72    syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell
     73    syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
     74    syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
     75    syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
     76    syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
     77    syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell
     78    syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
     79    syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
     80    syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
     81    syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
     82 endif
     83 
     84 " }}}
     85 " Highlighting Links: {{{
     86 
     87 if !exists("did_drchip_netrwlist_syntax")
     88    let did_drchip_netrwlist_syntax= 1
     89    hi default link netrwClassify Function
     90    hi default link netrwCmdSep Delimiter
     91    hi default link netrwComment Comment
     92    hi default link netrwDir Directory
     93    hi default link netrwHelpCmd Function
     94    hi default link netrwQHTopic Number
     95    hi default link netrwHidePat Statement
     96    hi default link netrwHideSep netrwComment
     97    hi default link netrwList Statement
     98    hi default link netrwVersion Identifier
     99    hi default link netrwSymLink Question
    100    hi default link netrwExe PreProc
    101    hi default link netrwDateSep Delimiter
    102 
    103    hi default link netrwTreeBar Special
    104    hi default link netrwTimeSep netrwDateSep
    105    hi default link netrwComma netrwComment
    106    hi default link netrwHide netrwComment
    107    hi default link netrwMarkFile TabLineSel
    108    hi default link netrwLink Special
    109 
    110    " special syntax highlighting (see :he g:netrw_special_syntax)
    111    hi default link netrwCoreDump WarningMsg
    112    hi default link netrwData Folded
    113    hi default link netrwHdr netrwPlain
    114    hi default link netrwLex netrwPlain
    115    hi default link netrwLib DiffChange
    116    hi default link netrwMakefile DiffChange
    117    hi default link netrwYacc netrwPlain
    118    hi default link netrwPix Special
    119 
    120    hi default link netrwBak netrwGray
    121    hi default link netrwCompress netrwGray
    122    hi default link netrwSpecFile netrwGray
    123    hi default link netrwObj netrwGray
    124    hi default link netrwTags netrwGray
    125    hi default link netrwTilde netrwGray
    126    hi default link netrwTmp netrwGray
    127 endif
    128 
    129 " set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
    130 " can be hard/impossible to read). Users may override this in a colorscheme by
    131 " specifying netrwGray highlighting.
    132 redir => s:netrwgray
    133 sil hi netrwGray
    134 redir END
    135 
    136 if s:netrwgray !~ 'guifg'
    137    if has("gui") && has("gui_running")
    138        if &bg == "dark"
    139            exe "hi netrwGray gui=NONE guifg=gray30"
    140        else
    141            exe "hi netrwGray gui=NONE guifg=gray70"
    142        endif
    143    else
    144        hi link netrwGray Folded
    145    endif
    146 endif
    147 
    148 " }}}
    149 
    150 " vim:ts=8 sts=4 sw=4 et fdm=marker