@@ -1523,9 +1523,20 @@ endfunction
15231523
15241524call s: add_methods (' readable' , [' preview_urls' ])
15251525
1526+ function ! s: app_server_pid () dict abort
1527+ for type in [' server' , ' unicorn' ]
1528+ let pidfile = self .path (' tmp/pids/' .type .' .pid' )
1529+ if filereadable (pidfile)
1530+ let pid = get (readfile (pidfile, ' b' , 1 ), 0 , 0 )
1531+ if pid
1532+ return pid
1533+ endif
1534+ endif
1535+ endfor
1536+ endfunction
1537+
15261538function ! s: app_server_binding () dict abort
1527- let pidfile = self .path (' tmp/pids/server.pid' )
1528- let pid = get (readfile (pidfile, ' b' , 1 ), 0 , 0 )
1539+ let pid = self .server_pid ()
15291540 if pid
15301541 if self .cache.has (' server' )
15311542 let old = self .cache.get (' server' )
@@ -1549,7 +1560,7 @@ function! s:app_server_binding() dict abort
15491560 return ' '
15501561endfunction
15511562
1552- call s: add_methods (' app' , [' server_binding' ])
1563+ call s: add_methods (' app' , [' server_pid ' , ' server_binding' ])
15531564
15541565function ! s: Preview (bang , lnum, uri) abort
15551566 let binding = rails#app ().server_binding ()
@@ -1794,8 +1805,7 @@ function! s:app_server_command(kill, bg, arg) dict abort
17941805 let arg = empty (a: arg ) ? ' ' : ' ' .a: arg
17951806 let flags = ' -d\| --daemon\| --help'
17961807 if a: kill || a: arg = ~# ' ^ *[!-]$' || (a: bg && arg = ~# flags)
1797- let pidfile = self .path (' tmp/pids/server.pid' )
1798- let pid = get (s: readfile (pidfile), 0 , 0 )
1808+ let pid = self .server_pid ()
17991809 if pid
18001810 echo " Killing server with pid " .pid
18011811 if ! has (" win32" )
0 commit comments