summaryrefslogtreecommitdiff
path: root/.config/vim/autoload/omni/common/debug.vim
blob: eded649cb0b8db5640448b47330550eba2275841 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
" Description: Omni completion debug functions
" Maintainer:  Vissale NEANG
" Last Change: 26 sept. 2007

let s:CACHE_DEBUG_TRACE = []

" Start debug, clear the debug file
function! omni#common#debug#Start()
    let s:CACHE_DEBUG_TRACE = []
    call extend(s:CACHE_DEBUG_TRACE, ['============ Debug Start ============'])
    call writefile(s:CACHE_DEBUG_TRACE, "Omni.dbg")
endfunc

" End debug, write to debug file
function! omni#common#debug#End()
    call extend(s:CACHE_DEBUG_TRACE, ["============= Debug End ============="])
    call extend(s:CACHE_DEBUG_TRACE, [""])
    call writefile(s:CACHE_DEBUG_TRACE, "Omni.dbg")
endfunc

" Debug trace function
function! omni#common#debug#Trace(szFuncName, ...)
    let szTrace = a:szFuncName
    let paramNum = a:0
    if paramNum>0
        let szTrace .= ':'
    endif
    for i in range(paramNum)
        let szTrace = szTrace .' ('. string(eval('a:'.string(i+1))).')'
    endfor
    call extend(s:CACHE_DEBUG_TRACE, [szTrace])
endfunc