From d5a96ea0c0440bc3495278812f6cf0d6b4d33fc2 Mon Sep 17 00:00:00 2001 From: nefedov Date: Wed, 2 Oct 2019 01:52:02 +0300 Subject: [PATCH] Added "attach" command ("A" keybind) --- autoload/docker_tools.vim | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/autoload/docker_tools.vim b/autoload/docker_tools.vim index 4de1d4a..8249867 100644 --- a/autoload/docker_tools.vim +++ b/autoload/docker_tools.vim @@ -39,7 +39,7 @@ function! docker_tools#dt_toggle() abort endif endfunction -function! docker_tools#dt_set_host(...) +function! docker_tools#dt_set_host(...) if a:0 == 1 && (index(["''",'""',''], a:1)) == -1 let g:dockertools_docker_cmd = join(['docker -H', a:1], ' ') else @@ -61,6 +61,13 @@ function! docker_tools#dt_run_command() abort endif endfunction +function! docker_tools#dt_attach() abort + if s:dt_container_selected() + let containerid = s:dt_get_id() + call s:term_win_open(printf('%s%s attach %s',s:sudo_mode(),g:dockertools_docker_cmd,containerid),containerid) + endif +endfunction + function! docker_tools#dt_toggle_help() abort let b:show_help = !b:show_help call s:dt_ui_load() @@ -128,6 +135,7 @@ function! s:dt_set_mapping() abort nnoremap r :call docker_tools#dt_action('restart') nnoremap p :call docker_tools#dt_action('pause') nnoremap u :call docker_tools#dt_action('unpause') + nnoremap A :call docker_tools#dt_attach() nnoremap > :call docker_tools#dt_run_command() nnoremap < :call docker_tools#dt_logs() nnoremap a :call docker_tools#dt_toggle_all() @@ -170,6 +178,7 @@ function! s:dt_get_help() abort let help .= "# x: delete container\n" let help .= "# p: pause container\n" let help .= "# u: unpause container\n" + let help .= "# A: attach to container\n" let help .= "# >: execute command to container\n" let help .= "# <: show container logs\n" let help .= "# a: toggle show all/running containers\n"