├── README.md └── plugin └── pixela.vim /README.md: -------------------------------------------------------------------------------- 1 | # vim-pixela 2 | 3 | Vim plugin grows your grasses with starting Vim. 4 | 5 | ![vim-pixela](https://pixe.la/v1/users/mattn/graphs/vim-pixela?) 6 | 7 | ## Usage 8 | 9 | ``` 10 | let g:pixela_username = 'XXX' 11 | let g:pixela_token = 'XXX' 12 | ``` 13 | 14 | You must create graph `vim-pixela` on [Pixela](https://pixe.la/). 15 | 16 | ## Requirements 17 | 18 | vim8, curl command, openbrowser.vim 19 | 20 | ## License 21 | 22 | MIT 23 | 24 | ## Author 25 | 26 | Yasuhiro Matsumoto (a.k.a. mattn) 27 | -------------------------------------------------------------------------------- /plugin/pixela.vim: -------------------------------------------------------------------------------- 1 | function! s:debug(ch, msg) 2 | echomsg a:msg 3 | endfunction 4 | 5 | function! s:start() 6 | let user = get(g:, 'pixela_username', '') 7 | let token = get(g:, 'pixela_token', '') 8 | let debug = get(g:, 'pixela_debug', 0) 9 | if empty(user) || empty(token) 10 | return 11 | endif 12 | let opts = {} 13 | if debug 14 | let opts['out_cb'] = function('s:debug') 15 | let opts['err_cb'] = function('s:debug') 16 | endif 17 | let s:job = job_start([ 18 | \ 'curl', '-v', '-X', 'PUT', 19 | \ printf('https://pixe.la/v1/users/%s/graphs/vim-pixela/increment', user), 20 | \ '-H', printf('X-USER-TOKEN:%s', token), 21 | \ '-H', 'Content-Length:0'], opts) 22 | 23 | " remove event 24 | autocmd! vim-pixela 25 | endfunction 26 | 27 | function! s:browser() 28 | let user = get(g:, 'pixela_username', '') 29 | if empty(user) 30 | return 31 | endif 32 | call openbrowser#open(printf('https://pixe.la/v1/users/%s/graphs/vim-pixela', user)) 33 | endfunction 34 | 35 | augroup vim-pixela 36 | autocmd! 37 | autocmd VimEnter * call s:start() 38 | autocmd User VimPixela call s:start() 39 | augroup END 40 | 41 | command! VimPixela call s:browser() 42 | --------------------------------------------------------------------------------