macos: can set env vars on new terminal

This commit is contained in:
Mitchell Hashimoto
2025-06-20 10:40:33 -07:00
parent f8bc9b547c
commit 027171bd5d

View File

@@ -30,6 +30,13 @@ struct NewTerminalIntent: AppIntent {
)
var workingDirectory: IntentFile?
@Parameter(
title: "Environment Variables",
description: "Environment variables in `KEY=VALUE` format.",
default: []
)
var env: [String]
@Parameter(
title: "Parent Terminal",
description: "The terminal to inherit the base configuration from."
@@ -58,6 +65,15 @@ struct NewTerminalIntent: AppIntent {
config.workingDirectory = dir.path(percentEncoded: false)
}
// Parse environment variables from KEY=VALUE format
for envVar in env {
if let separatorIndex = envVar.firstIndex(of: "=") {
let key = String(envVar[..<separatorIndex])
let value = String(envVar[envVar.index(after: separatorIndex)...])
config.environmentVariables[key] = value
}
}
// Determine if we have a parent and get it
let parent: Ghostty.SurfaceView?
if let parentParam = self.parent {