diff options
author | ckelsel <ckelsel@hotmail.com> | 2017-07-16 08:22:49 +0800 |
---|---|---|
committer | ckelsel <ckelsel@hotmail.com> | 2017-07-16 08:22:49 +0800 |
commit | cb95f71f71f665b21848cf25780d83278cd1dcf0 (patch) | |
tree | 4ebdf96b731ae839f8beb326e36dcb0b429bc453 /runtime | |
parent | 8cc49f9f1ad4edface62284c32f05ef1140d8220 (diff) | |
parent | 4dee942e732d41ad62b732c0a39719d9405bc928 (diff) | |
download | rneovim-cb95f71f71f665b21848cf25780d83278cd1dcf0.tar.gz rneovim-cb95f71f71f665b21848cf25780d83278cd1dcf0.tar.bz2 rneovim-cb95f71f71f665b21848cf25780d83278cd1dcf0.zip |
merge upstream/master
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/autoload/health.vim | 3 | ||||
-rw-r--r-- | runtime/autoload/health/provider.vim | 4 | ||||
-rw-r--r-- | runtime/autoload/provider/clipboard.vim | 20 | ||||
-rw-r--r-- | runtime/doc/intro.txt | 3 | ||||
-rw-r--r-- | runtime/doc/job_control.txt | 40 | ||||
-rw-r--r-- | runtime/doc/nvim.txt | 2 |
6 files changed, 40 insertions, 32 deletions
diff --git a/runtime/autoload/health.vim b/runtime/autoload/health.vim index 1d8cae7d19..f875c8b797 100644 --- a/runtime/autoload/health.vim +++ b/runtime/autoload/health.vim @@ -33,7 +33,8 @@ function! health#check(plugin_names) abort setlocal wrap breakindent setlocal filetype=markdown setlocal conceallevel=2 concealcursor=nc - setlocal keywordprg=:help iskeyword=@,48-57,_,192-255,-,# + setlocal keywordprg=:help + let &l:iskeyword='!-~,^*,^|,^",192-255' call s:enhance_syntax() if empty(healthchecks) diff --git a/runtime/autoload/health/provider.vim b/runtime/autoload/health/provider.vim index 31a235a397..ec20615f69 100644 --- a/runtime/autoload/health/provider.vim +++ b/runtime/autoload/health/provider.vim @@ -125,6 +125,10 @@ function! s:check_clipboard() abort call health#report_warn( \ 'No clipboard tool found. Clipboard registers will not work.', \ [':help clipboard']) + elseif exists('g:clipboard') && (type({}) != type(g:clipboard) + \ || !has_key(g:clipboard, 'copy') || !has_key(g:clipboard, 'paste')) + call health#report_error( + \ 'g:clipboard exists but is malformed. It must be a dictionary with the keys documented at :help g:clipboard') else call health#report_ok('Clipboard tool found: '. clipboard_tool) endif diff --git a/runtime/autoload/provider/clipboard.vim b/runtime/autoload/provider/clipboard.vim index a67681d28e..47f4271091 100644 --- a/runtime/autoload/provider/clipboard.vim +++ b/runtime/autoload/provider/clipboard.vim @@ -137,16 +137,24 @@ function! s:clipboard.set(lines, regtype, reg) abort let argv = split(s:copy[a:reg], " ") let selection.detach = s:cache_enabled let selection.cwd = "/" + call extend(selection, { + \ 'on_stdout': function('s:set_errhandler'), + \ 'on_stderr': function('s:set_errhandler'), + \ }) let jobid = jobstart(argv, selection) - if jobid <= 0 + if jobid > 0 + call jobsend(jobid, a:lines) + call jobclose(jobid, 'stdin') + let selection.owner = jobid + endif +endfunction + +function! s:set_errhandler(job_id, data, event) abort + if a:job_id <= 0 echohl WarningMsg - echo "clipboard: error when invoking provider" + echo 'clipboard: error when invoking provider: ' . join(a:data) echohl None - return 0 endif - call jobsend(jobid, a:lines) - call jobclose(jobid, 'stdin') - let selection.owner = jobid endfunction function! provider#clipboard#Call(method, args) abort diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index 88d04aa76b..b9cc94ce5f 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -249,8 +249,7 @@ Vi "the original". Without further remarks this is the version of Vi that appeared in Sun OS 4.x. ":version" returns "Version 3.7, 6/7/85". Sometimes other versions are referred to. Only runs under Unix. Source code only available with a - license. More information on Vi can be found through: - http://vi-editor.org [doesn't currently work...] + license. *Nvi* Nvi The "New" Vi. The version of Vi that comes with BSD 4.4 and FreeBSD. Very good compatibility with the original Vi, with a few extensions. diff --git a/runtime/doc/job_control.txt b/runtime/doc/job_control.txt index da592d6eb0..edbc1bca81 100644 --- a/runtime/doc/job_control.txt +++ b/runtime/doc/job_control.txt @@ -102,36 +102,30 @@ function. Here's a more object-oriented version of the above: > let Shell = {} - function Shell.on_stdout(job_id, data) dict - call append(line('$'), self.get_name().' stdout: '.join(a:data)) + function Shell.on_stdout(_job_id, data, event) + call append(line('$'), + \ printf('[%s] %s: %s', a:event, self.name, join(a:data[:-2]))) endfunction - function Shell.on_stderr(job_id, data) dict - call append(line('$'), self.get_name().' stderr: '.join(a:data)) - endfunction - - function Shell.on_exit(job_id, data) dict - call append(line('$'), self.get_name().' exited') - endfunction + let Shell.on_stderr = function(Shell.on_stdout) - function Shell.get_name() dict - return 'shell '.self.name + function Shell.on_exit(job_id, _data, event) + let msg = printf('job %d ("%s") finished', a:job_id, self.name) + call append(line('$'), printf('[%s] BOOM!', a:event)) + call append(line('$'), printf('[%s] %s!', a:event, msg)) endfunction - function Shell.new(name, ...) dict - let instance = extend(copy(g:Shell), {'name': a:name}) - let argv = ['bash'] - if a:0 > 0 - let argv += ['-c', a:1] - endif - let instance.id = jobstart(argv, instance) - return instance + function Shell.new(name, cmd) + let object = extend(copy(g:Shell), {'name': a:name}) + let object.cmd = ['sh', '-c', a:cmd] + let object.id = jobstart(object.cmd, object) + $ + return object endfunction - let s1 = Shell.new('1') - let s2 = Shell.new('2', 'for i in {1..10}; do echo hello $i!; sleep 1; done') - - + let instance = Shell.new('bomb', + \ 'for i in $(seq 9 -1 1); do echo $i 1>&$((i % 2 + 1)); sleep 1; done') +< To send data to the job's stdin, one can use the |jobsend()| function, like this: > diff --git a/runtime/doc/nvim.txt b/runtime/doc/nvim.txt index 29059f83d9..f3f4305ad5 100644 --- a/runtime/doc/nvim.txt +++ b/runtime/doc/nvim.txt @@ -6,6 +6,8 @@ Nvim *nvim* *nvim-intro* +Nvim is based on Vim by Bram Moolenaar. + If you are new to Vim see |help.txt|, or type ":Tutor". If you already use Vim see |nvim-from-vim| for a quickstart. |