in internal/engine/common/commands.go [102:131]
func ExecuteCodeBlockSync(codeBlock parsers.CodeBlock, env map[string]string) tea.Msg {
logging.GlobalLogger.Info("Executing command synchronously: ", codeBlock.Content)
Program.ReleaseTerminal()
output, err := shells.ExecuteBashCommand(
codeBlock.Content,
shells.BashCommandConfiguration{
EnvironmentVariables: env,
InheritEnvironment: true,
InteractiveCommand: true,
WriteToHistory: true,
},
)
Program.RestoreTerminal()
if err != nil {
return FailedCommandMessage{
StdOut: output.StdOut,
StdErr: output.StdErr,
Error: err,
}
}
logging.GlobalLogger.Infof("Command output to stdout:\n %s", output.StdOut)
return SuccessfulCommandMessage{
StdOut: output.StdOut,
StdErr: output.StdErr,
}
}