Mercurial > dotfiles
view vim/autoload/ludo.vim @ 427:9a046e8fe5dd
Better way to figure out the OS in Fish.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 29 Mar 2018 12:56:11 -0700 |
parents | 67f14a8c2304 |
children | 71a080d4d83c |
line wrap: on
line source
let g:ludo_trace = 0 " Debug logging. function! ludo#trace(msg) abort if g:ludo_trace echom a:msg endif endfunction " Warning message. function! ludo#warn(msg) abort echohl WarningMsg echomsg "ludo: Warning: ".a:msg echohl None endfunction " Error message. function! ludo#error(msg) abort echohl ErrorMsg echomsg "ludo: Error: ".a:msg echohl None endfunction " Loads `pathogenrc` files in each bundle directory and, if found, " builds an exclude list based on the glob patterns found in them. " function! ludo#setup_pathogen(bundle_dirs) abort for bundle_dir in a:bundle_dirs let l:rcfile = bundle_dir.'.pathogenrc' if !filereadable(l:rcfile) call ludo#trace("No bundle configuration file: ".l:rcfile) continue endif let l:included = [] let l:excluded = [] call ludo#trace("Reading bundle configuration file: ".l:rcfile) let l:rclines = readfile(l:rcfile) for line in l:rclines if line[0] == '#' continue endif if line[0] == '-' let l:excls = glob(bundle_dir.'/'.line[1:], 1, 1) for excl in l:excls let l:idx = index(l:included, excl) if l:idx >= 0 call remove(l:included, l:idx) endif call add(l:excluded, excl) endfor else let l:incls = glob(bundle_dir.'/'.line, 1, 1) for incl in l:incls let l:idx = index(l:excluded, incl) if l:idx >= 0 call remove(l:excluded, l:idx) endif call add(l:included, incl) endfor endif endfor for excl in l:excluded if isdirectory(excl) let l:excl_name = fnamemodify(excl, ':t') call add(g:pathogen_disabled, l:excl_name) endif endfor endfor call ludo#trace("Exclude list: ".join(g:pathogen_disabled, ', ')) endfunction