func ExecuteCodeBlockSync()

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,
	}
}