spacevim/.SpaceVim.d/autoload/SpaceVim/dev/send_to_channel.vim

37 lines
936 B
VimL
Raw Permalink Normal View History

2024-08-21 14:17:26 +08:00
let s:username = 'wsdjeg'
let s:gateway = 'SpaceVim-cn'
let s:port = '9995'
let s:JSON = SpaceVim#api#import('data#json')
let s:JOB = SpaceVim#api#import('job')
func! SpaceVim#dev#send_to_channel#setport(port) abort
let s:port = a:port
endf
func! SpaceVim#dev#send_to_channel#send(t) abort
if a:t ==# 'line'
call s:sendline()
endif
endf
func! s:send(msg) abort
let msg = {
\ 'text' : a:msg,
\ 'username' : s:username,
\ 'gateway' : s:gateway
\ }
" run command curl -XPOST -H 'Content-Type: application/json' -d '{"text":"test","username":"randomuser","gateway":"gateway1"}' http://localhost:4242/api/message
let cmd = ['curl', '-XPOST', '-H', 'Content-Type: application/json', '-d', s:JSON.json_encode(msg), 'http://localhost:' . s:port . '/api/message']
call s:JOB.start(cmd)
endf
function! s:sendline() abort
call s:send(getline('.'))
endfunction
function! s:sendselection() abort
endfunction