Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cmd/run/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ func NewRunCommand(cfg *command.Config) *cobra.Command {
}

cmd.Flags().String("file", "", "Path to a .prompt.yml file.")
cmd.Flags().StringSlice("var", []string{}, "Template variables for prompt files (can be used multiple times: --var name=value)")
cmd.Flags().StringArray("var", []string{}, "Template variables for prompt files (can be used multiple times: --var name=value)")
cmd.Flags().String("max-tokens", "", "Limit the maximum tokens for the model response.")
cmd.Flags().String("temperature", "", "Controls randomness in the response, use lower to be more deterministic.")
cmd.Flags().String("top-p", "", "Controls text diversity by selecting the most probable words until a set probability is reached.")
Expand All @@ -429,7 +429,7 @@ func NewRunCommand(cfg *command.Config) *cobra.Command {

// parseTemplateVariables parses template variables from the --var flags
func parseTemplateVariables(flags *pflag.FlagSet) (map[string]string, error) {
varFlags, err := flags.GetStringSlice("var")
varFlags, err := flags.GetStringArray("var")
if err != nil {
return nil, err
}
Expand Down
7 changes: 6 additions & 1 deletion cmd/run/run_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,11 @@ func TestParseTemplateVariables(t *testing.T) {
varFlags: []string{"equation=x = y + 2"},
expected: map[string]string{"equation": "x = y + 2"},
},
{
name: "value with commas",
varFlags: []string{"city=paris, milan", "countries=france, italy, spain"},
expected: map[string]string{"city": "paris, milan", "countries": "france, italy, spain"},
},
{
name: "empty strings are skipped",
varFlags: []string{"", "name=John", " "},
Expand All @@ -475,7 +480,7 @@ func TestParseTemplateVariables(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
flags := pflag.NewFlagSet("test", pflag.ContinueOnError)
flags.StringSlice("var", tt.varFlags, "test flag")
flags.StringArray("var", tt.varFlags, "test flag")

result, err := parseTemplateVariables(flags)

Expand Down
Loading