6969-- # CALL FUNCTIONS #------------------------------------------------------------
7070
7171-- run command in a new or existing tmux window
72- local function new_window (cmd )
72+ local function new_window (cmd , error_name )
7373 local window_name = M .config .build_run_window_title
7474
75+ if not cmd then
76+ local extension = get_file_extension ()
77+ print (" Error: " .. error_name .. " command not found for " .. extension )
78+ return 1
79+ end
80+
7581 if tmux_window_exists (window_name ) then
7682 local proj_dir = vim .fn .trim (vim .fn .system (" pwd" ))
7783 local win_dir = vim .fn .trim (vim .fn .system (" tmux display -p -t " .. window_name .. " '#{pane_current_path}'" ))
@@ -89,29 +95,33 @@ local function new_window(cmd)
8995end
9096
9197-- run command in an overlay pane
92- local function overlay (cmd , sleep_duration )
93- if cmd then
94- local proj_dir = vim .fn .trim (vim .fn .system (" pwd" ))
95- local cmd_head = " silent !tmux display-popup -E -d" .. proj_dir
98+ local function overlay (cmd , sleep_duration , error_name )
99+ if not cmd then
100+ local extension = get_file_extension ()
101+ print (" Error: " .. error_name .. " command not found for " .. extension )
102+ return 1
103+ end
96104
97- local dimensions = " -w " .. M .config .overlay_width_percent .. " \\ % -h " .. M .config .overlay_height_percent .. " \\ % '"
105+ local proj_dir = vim .fn .trim (vim .fn .system (" pwd" ))
106+ local cmd_head = " silent !tmux display-popup -E -d" .. proj_dir
98107
99- local sleep = " ; sleep " .. sleep_duration .. " '"
108+ local dimensions = " -w " .. M . config . overlay_width_percent .. " \\ % -h " .. M . config . overlay_height_percent .. " \\ % '"
100109
101- vim .cmd (cmd_head .. dimensions .. cmd .. sleep )
102- else
103- print (" Error: Command not found for this extension" )
104- end
110+ local sleep = " ; sleep " .. sleep_duration .. " '"
111+
112+ vim .cmd (cmd_head .. dimensions .. cmd .. sleep )
105113end
106114
107115-- run command in same window on a new pane
108- local function split_window (cmd , side )
109- if cmd then
110- local cmd_head = " silent !tmux split-window " .. side
111- vim .cmd (cmd_head .. " '" .. cmd .. " ; exec zsh'" )
112- else
113- print (" Error: Command not found for this extension" )
116+ local function split_window (cmd , side , error_name )
117+ if not cmd then
118+ local extension = get_file_extension ()
119+ print (" Error: " .. error_name .. " command not found for " .. extension )
120+ return 1
114121 end
122+
123+ local cmd_head = " silent !tmux split-window " .. side
124+ vim .cmd (cmd_head .. " '" .. cmd .. " ; exec zsh'" )
115125end
116126
117127-- run lazygit in an overlay pane
0 commit comments