summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/colorpicker.vim11
-rwxr-xr-xplugin/pickcolors.py1
2 files changed, 10 insertions, 2 deletions
diff --git a/plugin/colorpicker.vim b/plugin/colorpicker.vim
index 5887ec8..9e35608 100644
--- a/plugin/colorpicker.vim
+++ b/plugin/colorpicker.vim
@@ -1,6 +1,8 @@
let s:script_dir = expand("<sfile>:p:h")
-let g:colorpicker_cmd = printf("%s/%s", s:script_dir, "pickcolors.py")
+if !exists('g:colorpicker_cmd')
+ let g:colorpicker_cmd = printf("%s/%s", s:script_dir, "pickcolors.py")
+endif
command! -nargs=* PickColor call PickColorFor(<f-args>)
@@ -10,9 +12,14 @@ function! PickColorFor(hlgroup, fgbg)
let opts.stdout_buffered = v:false
let opts.hlgroup = a:hlgroup
let opts.fgbg = a:fgbg
+
function opts.on_stdout(id, data, ev) dict
if len(a:data[0]) > 0
- exec printf("hi %s %s=%s", self.hlgroup, self.fgbg, a:data[0])
+ if a:data[0] == "END"
+ call jobstop(a:id)
+ else
+ exec printf("hi %s %s=%s", self.hlgroup, self.fgbg, a:data[0])
+ endif
endif
endfunction
diff --git a/plugin/pickcolors.py b/plugin/pickcolors.py
index 50a2169..9821999 100755
--- a/plugin/pickcolors.py
+++ b/plugin/pickcolors.py
@@ -30,6 +30,7 @@ class ColorPicker(object):
sys.exit(self.app.exec_())
def close_on_finish(self, event):
+ print("END")
sys.exit(0)
if __name__ == "__main__":