From 9f594d632a28396dea081615d3d2407dcfb170c6 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Mon, 21 Dec 2020 14:09:37 +0100 Subject: [PATCH 01/27] Make it working for neovim. --- plugin/vikube.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index c6b903f..153848d 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() let cmd = self.command() - let b:job = job_start(cmd, {"close_cb": self.outputHandler }) + let b:job = jobstart(cmd, {"close_cb": self.outputHandler }) let b:source_changed = 0 endf @@ -93,7 +93,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = job_start(shellcmd, {"close_cb": self.outputHandler }) + let b:job = jobstart(shellcmd, {"close_cb": self.outputHandler }) let b:source_changed = 0 endf @@ -377,7 +377,7 @@ fun! s:deleteResources(keys) let cmd = s:cmdbase() . ' delete ' . b:resource_type . ' ' . keyargs redraw | echomsg cmd - let job = job_start(["bash", "-c", cmd], { + let job = jobstart(["bash", "-c", cmd], { \ "out_io": "buffer", \ "out_name": "", \ }) From 6f5747879bba942214ba7a0e13724327c714a9d3 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Mon, 4 Jan 2021 12:27:28 +0100 Subject: [PATCH 02/27] Fix jobstart. --- .gitignore | 1 + plugin/vikube.vim | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e43b0f9..80abc54 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .DS_Store +tags diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 153848d..f13f503 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() let cmd = self.command() - let b:job = jobstart(cmd, {"close_cb": self.outputHandler }) + let b:job = jobstart(cmd, {"on_exit": self.outputHandler }) let b:source_changed = 0 endf @@ -93,7 +93,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"close_cb": self.outputHandler }) + let b:job = jobstart(shellcmd, {"on_exit": self.outputHandler }) let b:source_changed = 0 endf From 159d323ee91050a6cd219f33e8020179e19b1346 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Mon, 4 Jan 2021 15:29:38 +0100 Subject: [PATCH 03/27] Fix output handler. --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index f13f503..4ac05bc 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -14,7 +14,7 @@ fun! g:VTable.update() let b:source_changed = 0 endf -fun! g:VTable.outputHandler(channel) +fun! g:VTable.outputHandler(channel, data, event) let lines = [] while ch_status(a:channel, {'part': 'out'}) == 'buffered' call add(lines, ch_read(a:channel)) From 80ae514c6b6f5213ada3e68802efa8ea217e069f Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Mon, 4 Jan 2021 16:59:26 +0100 Subject: [PATCH 04/27] Testing --- plugin/vikube.vim | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 4ac05bc..03110eb 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -16,9 +16,11 @@ endf fun! g:VTable.outputHandler(channel, data, event) let lines = [] - while ch_status(a:channel, {'part': 'out'}) == 'buffered' - call add(lines, ch_read(a:channel)) - endwhile + " while ch_status(a:channel, {'part': 'out'}) == 'buffered' + " call add(lines, ch_read(a:channel)) + " endwhile + call add(lines, data) + call add(lines, event) let b:source_cache = join(lines, "\n") . "\n" call self.render() endf From 9879f3a19622c645665abe647a682b27bd673a8c Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Mon, 4 Jan 2021 17:07:57 +0100 Subject: [PATCH 05/27] Testing --- plugin/vikube.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 03110eb..d723bc1 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -19,8 +19,8 @@ fun! g:VTable.outputHandler(channel, data, event) " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) " endwhile - call add(lines, data) - call add(lines, event) + call add(lines, a:data) + call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" call self.render() endf From efd64269e4e858a12f870bed0ebfc804a29233e0 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 00:25:27 +0100 Subject: [PATCH 06/27] Testing --- plugin/vikube.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index d723bc1..b3a2acb 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -19,8 +19,8 @@ fun! g:VTable.outputHandler(channel, data, event) " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) " endwhile - call add(lines, a:data) - call add(lines, a:event) + " call add(lines, a:data) + " call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" call self.render() endf From 7400c7fb7ee61285251498370329d6796879c534 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 00:36:42 +0100 Subject: [PATCH 07/27] Testing --- plugin/vikube.vim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index b3a2acb..d2c8edd 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() let cmd = self.command() - let b:job = jobstart(cmd, {"on_exit": self.outputHandler }) + let b:job = jobstart(cmd, {"on_exit": function("self.outputHandler")}) let b:source_changed = 0 endf @@ -19,8 +19,8 @@ fun! g:VTable.outputHandler(channel, data, event) " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) " endwhile - " call add(lines, a:data) - " call add(lines, a:event) + call add(lines, a:data) + call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" call self.render() endf @@ -95,7 +95,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_exit": self.outputHandler }) + let b:job = jobstart(shellcmd, {"on_exit": function("self.outputHandler")}) let b:source_changed = 0 endf @@ -914,7 +914,7 @@ com! -nargs=* KubeApplyForce :cal s:VikubeApply('--force', ) com! -nargs=* KubeReplace :cal s:VikubeReplace() com! -nargs=* KubeReplaceForce :cal s:VikubeReplace('--force', ) -com! VikubeNodeList :cal s:Vikube("nodes") +com! VikubeNodeList :cal s:Nikube("nodes") com! VikubePVList :cal s:Vikube("persistentvolumes") com! VikubePVCList :cal s:Vikube("persistentvolumeclaims") com! VikubeServiceList :cal s:Vikube("services") From 00beec584a709d41eb5d0ef8681fc82bb4356683 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 08:38:24 +0100 Subject: [PATCH 08/27] Testing --- plugin/vikube.vim | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index d2c8edd..783935f 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -8,13 +8,13 @@ endf fun! g:VTable.help() endf -fun! g:VTable.update() +fun! g:VTable.update() dict let cmd = self.command() - let b:job = jobstart(cmd, {"on_exit": function("self.outputHandler")}) + let b:job = jobstart(cmd, {"on_exit": self.outputHandler }) let b:source_changed = 0 endf -fun! g:VTable.outputHandler(channel, data, event) +fun! g:VTable.outputHandler(channel, data, event) dict let lines = [] " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) @@ -25,7 +25,7 @@ fun! g:VTable.outputHandler(channel, data, event) call self.render() endf -fun! g:VTable.render() +fun! g:VTable.render() dict let save_cursor = getcurpos() if b:source_changed || !exists('b:source_cache') call self.update() @@ -92,10 +92,10 @@ endif let g:VikubeExplorer = copy(g:VTable) -fun! g:VikubeExplorer.update() +fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_exit": function("self.outputHandler")}) + let b:job = jobstart(shellcmd, {"on_exit": self.outputHandler }) let b:source_changed = 0 endf @@ -914,7 +914,7 @@ com! -nargs=* KubeApplyForce :cal s:VikubeApply('--force', ) com! -nargs=* KubeReplace :cal s:VikubeReplace() com! -nargs=* KubeReplaceForce :cal s:VikubeReplace('--force', ) -com! VikubeNodeList :cal s:Nikube("nodes") +com! VikubeNodeList :cal s:Vikube("nodes") com! VikubePVList :cal s:Vikube("persistentvolumes") com! VikubePVCList :cal s:Vikube("persistentvolumeclaims") com! VikubeServiceList :cal s:Vikube("services") From 7c161267241f70be97f71f59e88af815b8cee16d Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 10:31:30 +0100 Subject: [PATCH 09/27] Testing --- plugin/vikube.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 783935f..7a33162 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -22,6 +22,7 @@ fun! g:VTable.outputHandler(channel, data, event) dict call add(lines, a:data) call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" + :echomsg "TEST" call self.render() endf From b842ceaa9f1902fc35fcd88244520542b77f08fc Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 10:33:12 +0100 Subject: [PATCH 10/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 7a33162..16cbfc5 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -23,7 +23,7 @@ fun! g:VTable.outputHandler(channel, data, event) dict call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" :echomsg "TEST" - call self.render() + call g:VTable.render() endf fun! g:VTable.render() dict From 40eb8730178c8e88350c3863ee79434b16948cce Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 10:35:53 +0100 Subject: [PATCH 11/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 16cbfc5..7340040 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -23,7 +23,7 @@ fun! g:VTable.outputHandler(channel, data, event) dict call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" :echomsg "TEST" - call g:VTable.render() + call s:render() endf fun! g:VTable.render() dict From b13828fe9793b63745259755c04a31801d307e94 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 10:42:38 +0100 Subject: [PATCH 12/27] Testing --- plugin/vikube.vim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 7340040..be7df27 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -1,11 +1,11 @@ let g:VTable = {} -fun! g:VTable.command() +fun! g:VTable.command() dict return "ls -l" endf -fun! g:VTable.help() +fun! g:VTable.help() dict endf fun! g:VTable.update() dict @@ -100,7 +100,7 @@ fun! g:VikubeExplorer.update() dict let b:source_changed = 0 endf -fun! g:VikubeExplorer.command() +fun! g:VikubeExplorer.command() dict let cmd = s:cmdbase() let cmd = cmd . " get " . b:resource_type if b:wide @@ -116,7 +116,7 @@ fun! g:VikubeExplorer.command() return cmd endf -fun! g:VikubeExplorer.help() +fun! g:VikubeExplorer.help() dict cal g:Help.reg(s:header(), \" ]] - Next resource type\n". \" [[ - Previous resource type\n". From 85529a193db3b8766ac7a41597b5b6eacf5080d0 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 10:48:46 +0100 Subject: [PATCH 13/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index be7df27..4a87bad 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() dict let cmd = self.command() - let b:job = jobstart(cmd, {"on_exit": self.outputHandler }) + let b:job = jobstart(cmd, {"on_stdout": self.outputHandler }) let b:source_changed = 0 endf From fd717486c9965043934600a9160d72135d436508 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 10:58:01 +0100 Subject: [PATCH 14/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 4a87bad..0d9f5f5 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() dict let cmd = self.command() - let b:job = jobstart(cmd, {"on_stdout": self.outputHandler }) + let b:job = jobstart(cmd, {"channel-buffered": self.outputHandler }) let b:source_changed = 0 endf From 9b94d2b9b9d1d4dd7a0a02ddb12e488422f25e7a Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 11:00:59 +0100 Subject: [PATCH 15/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 0d9f5f5..7ba8ed9 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -96,7 +96,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_exit": self.outputHandler }) + let b:job = jobstart(shellcmd, {"channel_buffered": self.outputHandler }) let b:source_changed = 0 endf From 24872d1f094fe089c11df4e154fc747be86cb8a8 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 11:05:32 +0100 Subject: [PATCH 16/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 7ba8ed9..1031d0b 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -96,7 +96,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"channel_buffered": self.outputHandler }) + let b:job = jobstart(shellcmd, {"on_data": self.outputHandler }) let b:source_changed = 0 endf From 69a5eb8df9f52023eab80a565411922cf9b51f5c Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 11:39:22 +0100 Subject: [PATCH 17/27] Testing --- plugin/vikube.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 1031d0b..df9faaa 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() dict let cmd = self.command() - let b:job = jobstart(cmd, {"channel-buffered": self.outputHandler }) + let b:job = jobstart(cmd, {"channel-lines": self.outputHandler }) let b:source_changed = 0 endf @@ -96,7 +96,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_data": self.outputHandler }) + let b:job = jobstart(shellcmd, {"channel_lines": self.outputHandler }) let b:source_changed = 0 endf From f97a6656124510fb841aceaa4a61b05c0607ac71 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 11:42:35 +0100 Subject: [PATCH 18/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index df9faaa..e4c805e 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -96,7 +96,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"channel_lines": self.outputHandler }) + let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler, "stdout_buffered":v:true }) let b:source_changed = 0 endf From 45f0d77a8ec67b30b41929d2d6affbf805e1e11e Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 13:05:57 +0100 Subject: [PATCH 19/27] Testing --- plugin/vikube.vim | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index e4c805e..7fa21da 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -15,11 +15,16 @@ fun! g:VTable.update() dict endf fun! g:VTable.outputHandler(channel, data, event) dict - let lines = [] + let l:lines = [] + let eof = (a:data == ['']) + " Complete the previous line. + let l:lines[-1] .= a:data[0] + " Append (last item may be a partial line, until EOF). + call extend(l:lines, a:data[1:]) " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) " endwhile - call add(lines, a:data) + " call add(lines, a:data) call add(lines, a:event) let b:source_cache = join(lines, "\n") . "\n" :echomsg "TEST" From 241eec0d926e564eee074293659cf0637b362830 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 13:57:44 +0100 Subject: [PATCH 20/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 7fa21da..a1b9d07 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -101,7 +101,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler, "stdout_buffered":v:true }) + let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler}) let b:source_changed = 0 endf From b8037142abd8eff7f06667c4cce6df88e6fbb9e1 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 14:12:06 +0100 Subject: [PATCH 21/27] Testing --- plugin/vikube.vim | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index a1b9d07..1eaa0f8 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -16,19 +16,19 @@ endf fun! g:VTable.outputHandler(channel, data, event) dict let l:lines = [] - let eof = (a:data == ['']) + " let eof = (a:data == ['']) " Complete the previous line. - let l:lines[-1] .= a:data[0] + " let l:lines[-1] .= a:data[0] " Append (last item may be a partial line, until EOF). - call extend(l:lines, a:data[1:]) + " call extend(l:lines, a:data[1:]) " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) " endwhile " call add(lines, a:data) - call add(lines, a:event) - let b:source_cache = join(lines, "\n") . "\n" + " call add(lines, a:event) + let b:source_cache = join(a:data, "\n") . "\n" :echomsg "TEST" - call s:render() + call self.render() endf fun! g:VTable.render() dict @@ -101,7 +101,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler}) + let b:job = jobstart(shellcmd, {"on_stdout": function("outputHandler", g:VikubeExplorer)}) let b:source_changed = 0 endf From e6b430e69707115a853cd778c475eb67bb7805d0 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 14:15:30 +0100 Subject: [PATCH 22/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 1eaa0f8..6a1f945 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -101,7 +101,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_stdout": function("outputHandler", g:VikubeExplorer)}) + let b:job = jobstart(shellcmd, {"on_stdout": function("g:VTable.outputHandler", g:VikubeExplorer)}) let b:source_changed = 0 endf From 5ddb03e5b9423c736d3d0201f045f940317aba0f Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 14:35:33 +0100 Subject: [PATCH 23/27] Testing --- plugin/vikube.vim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 6a1f945..8bae582 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -10,7 +10,7 @@ endf fun! g:VTable.update() dict let cmd = self.command() - let b:job = jobstart(cmd, {"channel-lines": self.outputHandler }) + let b:job = jobstart(cmd, {"on_stdout": self.outputHandler}) let b:source_changed = 0 endf @@ -27,8 +27,8 @@ fun! g:VTable.outputHandler(channel, data, event) dict " call add(lines, a:data) " call add(lines, a:event) let b:source_cache = join(a:data, "\n") . "\n" - :echomsg "TEST" - call self.render() + " :echomsg "TEST" + call s:render() endf fun! g:VTable.render() dict @@ -101,7 +101,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_stdout": function("g:VTable.outputHandler", g:VikubeExplorer)}) + let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler}) let b:source_changed = 0 endf From 5315227f7cb9a8411c1e89346264883124f89d64 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 14:37:11 +0100 Subject: [PATCH 24/27] Testing --- plugin/vikube.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 8bae582..f578fb2 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -24,8 +24,8 @@ fun! g:VTable.outputHandler(channel, data, event) dict " while ch_status(a:channel, {'part': 'out'}) == 'buffered' " call add(lines, ch_read(a:channel)) " endwhile - " call add(lines, a:data) - " call add(lines, a:event) + call add(lines, a:data) + call add(lines, a:event) let b:source_cache = join(a:data, "\n") . "\n" " :echomsg "TEST" call s:render() From 28c590930c0c890df0e30100ec5fa28adb3140aa Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 14:38:57 +0100 Subject: [PATCH 25/27] Testing --- plugin/vikube.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index f578fb2..cf803b5 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -101,7 +101,7 @@ let g:VikubeExplorer = copy(g:VTable) fun! g:VikubeExplorer.update() dict let cmd = self.command() let shellcmd = ["bash", "-c", cmd . " | awk 'NR == 1; NR > 1 {print $0 | \"sort -b -k1\"}'"] - let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler}) + let b:job = jobstart(shellcmd, {"on_stdout": self.outputHandler, "stdout_buffered":v:true}) let b:source_changed = 0 endf From 12605ddc934f245af6a52f018d515235060861d3 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Tue, 5 Jan 2021 15:37:30 +0100 Subject: [PATCH 26/27] Cleanup --- plugin/vikube.vim | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index cf803b5..86b3cef 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -16,18 +16,8 @@ endf fun! g:VTable.outputHandler(channel, data, event) dict let l:lines = [] - " let eof = (a:data == ['']) - " Complete the previous line. - " let l:lines[-1] .= a:data[0] - " Append (last item may be a partial line, until EOF). - " call extend(l:lines, a:data[1:]) - " while ch_status(a:channel, {'part': 'out'}) == 'buffered' - " call add(lines, ch_read(a:channel)) - " endwhile - call add(lines, a:data) - call add(lines, a:event) let b:source_cache = join(a:data, "\n") . "\n" - " :echomsg "TEST" + " `self.render()` not working because self refers to callback options in this case call s:render() endf From 14a51575f0c45d0009cc296aa9a5729e118e6f22 Mon Sep 17 00:00:00 2001 From: Lukas Kranabetter Date: Thu, 7 Jan 2021 11:50:41 +0100 Subject: [PATCH 27/27] Fix terminal command. --- plugin/vikube.vim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugin/vikube.vim b/plugin/vikube.vim index 86b3cef..9a3ac23 100644 --- a/plugin/vikube.vim +++ b/plugin/vikube.vim @@ -1,16 +1,16 @@ let g:VTable = {} -fun! g:VTable.command() dict +fun! g:VTable.command() return "ls -l" endf -fun! g:VTable.help() dict +fun! g:VTable.help() endf fun! g:VTable.update() dict let cmd = self.command() - let b:job = jobstart(cmd, {"on_stdout": self.outputHandler}) + let b:job = jobstart(cmd, {"on_stdout": self.outputHandler, "stdout_buffered":v:true}) let b:source_changed = 0 endf @@ -95,7 +95,7 @@ fun! g:VikubeExplorer.update() dict let b:source_changed = 0 endf -fun! g:VikubeExplorer.command() dict +fun! g:VikubeExplorer.command() let cmd = s:cmdbase() let cmd = cmd . " get " . b:resource_type if b:wide @@ -111,7 +111,7 @@ fun! g:VikubeExplorer.command() dict return cmd endf -fun! g:VikubeExplorer.help() dict +fun! g:VikubeExplorer.help() cal g:Help.reg(s:header(), \" ]] - Next resource type\n". \" [[ - Previous resource type\n". @@ -511,7 +511,7 @@ fun! s:handleFollowLogs() endif let cont = s:chooseContainer(containers) let cmd = s:cmdbase() . " logs --follow --tail=" . g:vikube_default_logs_tail . " --namespace=" . b:namespace . " --timestamps --container=" . cont . ' ' . resource_type . '/' . key - exec "botright terminal ++kill=term " . cmd + exec "botright terminal " . cmd endf