mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 06:10:05 +08:00
57 lines
1.8 KiB
VimL
57 lines
1.8 KiB
VimL
" ============================================================================
|
|
" File: autoload/gitstatus/job.vim
|
|
" Description: leveled-logger
|
|
" Maintainer: Xuyuan Pang <xuyuanp at gmail dot com>
|
|
" License: This program is free software. It comes without any warranty,
|
|
" to the extent permitted by applicable law. You can redistribute
|
|
" it and/or modify it under the terms of the Do What The Fuck You
|
|
" Want To Public License, Version 2, as published by Sam Hocevar.
|
|
" See http://sam.zoy.org/wtfpl/COPYING for more details.
|
|
" ============================================================================
|
|
if exists('g:loaded_nerdtree_git_status_log')
|
|
finish
|
|
endif
|
|
let g:loaded_nerdtree_git_status_log = 1
|
|
|
|
let s:debug = 0 | :lockvar s:debug
|
|
let s:info = 1 | :lockvar s:info
|
|
let s:warning = 2 | :lockvar s:warning
|
|
let s:error = 3 | :lockvar s:error
|
|
|
|
let s:Logger = {}
|
|
|
|
" vint: -ProhibitImplicitScopeVariable
|
|
function! s:Logger.output(level, msg) abort
|
|
if a:level < self.level
|
|
return
|
|
endif
|
|
echomsg '[nerdtree-git-status] ' . a:msg
|
|
endfunction
|
|
|
|
function! s:Logger.debug(msg) abort
|
|
echohl LineNr |
|
|
\ call self.output(s:debug, a:msg) |
|
|
\ echohl None
|
|
endfunction
|
|
|
|
function! s:Logger.info(msg) abort
|
|
call self.output(s:info, a:msg)
|
|
endfunction
|
|
|
|
function! s:Logger.warning(msg) abort
|
|
echohl WarningMsg |
|
|
\ call self.output(s:warning, a:msg) |
|
|
\ echohl None
|
|
endfunction
|
|
|
|
function! s:Logger.error(msg) abort
|
|
echohl ErrorMsg |
|
|
\ call self.output(s:error, a:msg) |
|
|
\ echohl None
|
|
endfunction
|
|
" vint: +ProhibitImplicitScopeVariable
|
|
|
|
function! gitstatus#log#NewLogger(level) abort
|
|
return extend(copy(s:Logger), {'level': a:level})
|
|
endfunction
|