(ctx context.Context, termSize waveobj.TermSize, cmdStr string, cmdOpts CommandOptsType, conn *wslconn.WslConn)
| 153 | } |
| 154 | |
| 155 | func StartWslShellProcNoWsh(ctx context.Context, termSize waveobj.TermSize, cmdStr string, cmdOpts CommandOptsType, conn *wslconn.WslConn) (*ShellProc, error) { |
| 156 | client := conn.GetClient() |
| 157 | conn.Infof(ctx, "WSL-NEWSESSION (StartWslShellProcNoWsh)") |
| 158 | |
| 159 | ecmd := exec.Command("wsl.exe", "~", "-d", client.Name()) |
| 160 | |
| 161 | if termSize.Rows == 0 || termSize.Cols == 0 { |
| 162 | termSize.Rows = shellutil.DefaultTermRows |
| 163 | termSize.Cols = shellutil.DefaultTermCols |
| 164 | } |
| 165 | if termSize.Rows <= 0 || termSize.Cols <= 0 { |
| 166 | return nil, fmt.Errorf("invalid term size: %v", termSize) |
| 167 | } |
| 168 | cmdPty, err := pty.StartWithSize(ecmd, &pty.Winsize{Rows: uint16(termSize.Rows), Cols: uint16(termSize.Cols)}) |
| 169 | if err != nil { |
| 170 | return nil, err |
| 171 | } |
| 172 | cmdWrap := MakeCmdWrap(ecmd, cmdPty, true) |
| 173 | return &ShellProc{Cmd: cmdWrap, ConnName: conn.GetName(), CloseOnce: &sync.Once{}, DoneCh: make(chan any)}, nil |
| 174 | } |
| 175 | |
| 176 | func StartWslShellProc(ctx context.Context, termSize waveobj.TermSize, cmdStr string, cmdOpts CommandOptsType, conn *wslconn.WslConn) (*ShellProc, error) { |
| 177 | if cmdOpts.SwapToken == nil { |
no test coverage detected