mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-09 10:10:04 +08:00
feat(github): update github plugin
This commit is contained in:
parent
0c18fa74f3
commit
d45150caba
56
bundle/github.vim/autoload/github/api/users.vim
vendored
56
bundle/github.vim/autoload/github/api/users.vim
vendored
@ -4,56 +4,60 @@
|
|||||||
"
|
"
|
||||||
" Github API : GET /users
|
" Github API : GET /users
|
||||||
function! github#api#users#GetAllUsers() abort
|
function! github#api#users#GetAllUsers() abort
|
||||||
return github#api#util#Get('users', [])
|
return github#api#util#Get('users', [])
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
function! github#api#users#starred(user,page) abort
|
function! github#api#users#starred(user,page) abort
|
||||||
return json_decode(join(systemlist('curl -s https://api.github.com/users/' .
|
return json_decode(join(systemlist('curl -s https://api.github.com/users/' .
|
||||||
\a:user . '/starred' . '?page=' . a:page ),"\n"))
|
\a:user . '/starred' . '?page=' . a:page ),"\n"))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! github#api#users#starred_pages(user) abort
|
function! github#api#users#starred_pages(user) abort
|
||||||
let l:i = systemlist('curl -si https://api.github.com/users/' . a:user . '/starred | grep -E "^Link"')[0]
|
let result = system('curl -si https://api.github.com/users/' . a:user . '/starred')
|
||||||
return split(matchstr(l:i,'=\d\+',0,2),'=')[0]
|
if !v:shell_error
|
||||||
|
let i = filter(split(result, "\n"), 'v:val =~# "^Link"')[0]
|
||||||
|
return split(matchstr(i,'=\d\+',0,2),'=')[0]
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! github#api#users#GetStarred(user) abort
|
function! github#api#users#GetStarred(user) abort
|
||||||
let rel = []
|
let rel = []
|
||||||
let pages = github#api#users#starred_pages(a:user)
|
let pages = github#api#users#starred_pages(a:user)
|
||||||
for page in range(1,pages)
|
for page in range(1,pages)
|
||||||
let repos = github#api#users#starred(a:user, page)
|
let repos = github#api#users#starred(a:user, page)
|
||||||
for repo in repos
|
for repo in repos
|
||||||
call add(rel, repo)
|
call add(rel, repo)
|
||||||
endfor
|
|
||||||
endfor
|
endfor
|
||||||
return rel
|
endfor
|
||||||
|
return rel
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" get a single user
|
" get a single user
|
||||||
" GET /users/:username
|
" GET /users/:username
|
||||||
function! github#api#users#GetUser(username) abort
|
function! github#api#users#GetUser(username) abort
|
||||||
return github#api#util#Get('users/' . a:username, [])
|
return github#api#util#Get('users/' . a:username, [])
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
"List followers of a user
|
"List followers of a user
|
||||||
"GET /users/:username/followers
|
"GET /users/:username/followers
|
||||||
function! github#api#users#ListFollowers(username) abort
|
function! github#api#users#ListFollowers(username) abort
|
||||||
let followers = []
|
let followers = []
|
||||||
for i in range(1,github#api#util#GetLastPage('users/' . a:username . '/followers'))
|
for i in range(1,github#api#util#GetLastPage('users/' . a:username . '/followers'))
|
||||||
call extend(followers,github#api#util#Get('users/' . a:username . '/followers?page=' . i, []))
|
call extend(followers,github#api#util#Get('users/' . a:username . '/followers?page=' . i, []))
|
||||||
endfor
|
endfor
|
||||||
return followers
|
return followers
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
"List users followed by another user
|
"List users followed by another user
|
||||||
"GET /users/:username/following
|
"GET /users/:username/following
|
||||||
function! github#api#users#ListFollowing(username) abort
|
function! github#api#users#ListFollowing(username) abort
|
||||||
let following = []
|
let following = []
|
||||||
for i in range(1,github#api#util#GetLastPage('users/' . a:username . '/following'))
|
for i in range(1,github#api#util#GetLastPage('users/' . a:username . '/following'))
|
||||||
call extend(following,github#api#util#Get('users/' . a:username . '/following?page=' . i, []))
|
call extend(following,github#api#util#Get('users/' . a:username . '/following?page=' . i, []))
|
||||||
endfor
|
endfor
|
||||||
return following
|
return following
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
""
|
""
|
||||||
@ -62,7 +66,7 @@ endfunction
|
|||||||
"
|
"
|
||||||
" Github API : /users/:username/orgs
|
" Github API : /users/:username/orgs
|
||||||
function! github#api#users#ListAllOrgs(user) abort
|
function! github#api#users#ListAllOrgs(user) abort
|
||||||
return github#api#util#Get(join(['users', a:user, 'orgs'], '/'))
|
return github#api#util#Get(join(['users', a:user, 'orgs'], '/'))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
""
|
""
|
||||||
@ -71,5 +75,5 @@ endfunction
|
|||||||
"
|
"
|
||||||
" Github API : GET /users/:username/following/:target_user
|
" Github API : GET /users/:username/following/:target_user
|
||||||
function! github#api#users#CheckTargetFollow(username,target) abort
|
function! github#api#users#CheckTargetFollow(username,target) abort
|
||||||
return github#api#util#GetStatus(join(['users', a:username, 'following', a:target], '/'),[])
|
return github#api#util#GetStatus(join(['users', a:username, 'following', a:target], '/'),[])
|
||||||
endfunction
|
endfunction
|
||||||
|
Loading…
Reference in New Issue
Block a user