Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
124 lines
3.6 KiB
VimL
124 lines
3.6 KiB
VimL
let s:JOB = SpaceVim#api#import('job')
|
|
let s:BUFFER = SpaceVim#api#import('vim#buffer')
|
|
|
|
" @todo rewrite Git config in lua
|
|
function! git#config#run(argvs)
|
|
|
|
if empty(a:argvs)
|
|
let cmd = ['git', 'config', '--list']
|
|
else
|
|
let cmd = ['git', 'config'] + a:argvs
|
|
endif
|
|
let s:lines = []
|
|
call git#logger#debug('git-config cmd:' . string(cmd))
|
|
call s:JOB.start(cmd,
|
|
\ {
|
|
\ 'on_exit' : function('s:on_exit'),
|
|
\ 'on_stdout' : function('s:on_stdout'),
|
|
\ }
|
|
\ )
|
|
|
|
endfunction
|
|
|
|
function! s:on_stdout(id, data, event) abort
|
|
for data in a:data
|
|
call git#logger#debug('git-config stdout:' . data)
|
|
endfor
|
|
let s:lines += a:data
|
|
endfunction
|
|
|
|
function! s:on_exit(id, data, event) abort
|
|
call git#logger#debug('git-config exit data:' . string(a:data))
|
|
if a:data ==# 0
|
|
let s:bufnr = s:openConfigBuffer(len(s:lines))
|
|
call s:BUFFER.buf_set_lines(s:bufnr, 0 , -1, 0, s:lines)
|
|
else
|
|
echo 'failed!'
|
|
endif
|
|
endfunction
|
|
|
|
function! s:openConfigBuffer(height) abort
|
|
let h = a:height > 10 ? 10 : a:height
|
|
exe h . 'split git://config'
|
|
normal! "_dd
|
|
setl nobuflisted
|
|
setl nomodifiable
|
|
setl nonumber norelativenumber
|
|
setl buftype=nofile
|
|
setf git-config
|
|
nnoremap <buffer><silent> q :bd!<CR>
|
|
return bufnr('%')
|
|
endfunction
|
|
|
|
function! s:options() abort
|
|
return join([
|
|
\ '--global',
|
|
\ '--user',
|
|
\ ], "\n")
|
|
endfunction
|
|
|
|
function! s:keys() abort
|
|
return [
|
|
\ 'http.sslcainfo',
|
|
\ 'http.sslbackend',
|
|
\ 'diff.astextplain.textconv',
|
|
\ 'core.autocrlf',
|
|
\ 'core.fscache',
|
|
\ 'core.symlinks',
|
|
\ 'credential.helper',
|
|
\ 'user.name',
|
|
\ 'user.email',
|
|
\ 'user.signingkey',
|
|
\ 'push.default',
|
|
\ 'merge.tool',
|
|
\ 'diff.tool',
|
|
\ 'commit.tool',
|
|
\ 'difftool.prompt',
|
|
\ 'color.ui',
|
|
\ 'color.branch',
|
|
\ 'color.status',
|
|
\ 'core.editor',
|
|
\ 'core.excludesfile',
|
|
\ 'core.autocrlf',
|
|
\ 'core.filemode',
|
|
\ 'core.safecrlf',
|
|
\ 'core.ignorecase',
|
|
\ 'mergetool.prompt',
|
|
\ 'mergetool.vimdiff.cmd',
|
|
\ 'http.postbuffer',
|
|
\ 'core.repositoryformatversion',
|
|
\ 'core.filemode',
|
|
\ 'core.bare',
|
|
\ 'core.logallrefupdates',
|
|
\ 'core.symlinks',
|
|
\ 'core.ignorecase',
|
|
\ 'remote.origin.url',
|
|
\ 'remote.origin.fetch',
|
|
\ 'branch.master.remote',
|
|
\ 'branch.master.merge',
|
|
\ 'branch.dev.remote',
|
|
\ 'branch.dev.merge',
|
|
\ 'branch.develop.remote',
|
|
\ 'branch.develop.merge',
|
|
\ 'branch.notiapi.remote',
|
|
\ 'branch.notiapi.merge',
|
|
\ 'branch.rebase.remote',
|
|
\ 'branch.rebase.merge']
|
|
endfunction
|
|
|
|
function! git#config#complete(ArgLead, CmdLine, CursorPos)
|
|
if a:ArgLead =~# '^-'
|
|
return s:options()
|
|
endif
|
|
let str = a:CmdLine[:a:CursorPos-1]
|
|
if str =~# '^Git\s\+config\s\+[^ ]*$' ||
|
|
\ str =~# '^Git\s\+config\s\+--global\s\+[^ ]*$' ||
|
|
\ str =~# '^Git\s\+config\s\+--user\s\+[^ ]*$'
|
|
return join(s:keys(), "\n")
|
|
else
|
|
return ''
|
|
endif
|
|
|
|
endfunction
|
|
|