MCPcopy Index your code
hub / github.com/jetify-com/devbox / listScripts

Function listScripts

internal/boxcli/run.go:85–126  ·  view source on GitHub ↗
(cmd *cobra.Command, flags runCmdFlags)

Source from the content-addressed store, hash-verified

83}
84
85func listScripts(cmd *cobra.Command, flags runCmdFlags) []string {
86 path := flags.config.path
87
88 // Special code path for shell completion.
89 // Landau: I'm not entirely sure why:
90 // * Flags need to be parsed again
91 // * cmd.Flag("config") contains the correct value, but flags.config.path is empty
92 // Give my low confidence, I'm making this a very narrow code path.
93 if path == "" && slices.Contains(os.Args, "__complete") {
94 _ = cmd.ParseFlags(os.Args)
95 if flag := cmd.Flag("config"); flag != nil && flag.Value != nil {
96 path = flag.Value.String()
97 }
98 }
99
100 devboxOpts := &devopt.Opts{
101 Dir: path,
102 Environment: flags.config.environment,
103 Stderr: cmd.ErrOrStderr(),
104 IgnoreWarnings: true,
105 }
106
107 if flags.allProjects {
108 boxes, err := multi.Open(devboxOpts)
109 if err != nil {
110 slog.Error("failed to open devbox", "err", err)
111 return nil
112 }
113 scripts := []string{}
114 for _, box := range boxes {
115 scripts = append(scripts, box.ListScripts()...)
116 }
117 sort.Strings(scripts)
118 return lo.Uniq(scripts)
119 }
120 box, err := devbox.Open(devboxOpts)
121 if err != nil {
122 slog.Error("failed to open devbox", "err", err)
123 return nil
124 }
125 return box.ListScripts()
126}
127
128func runScriptCmd(cmd *cobra.Command, args []string, flags runCmdFlags) error {
129 ctx := cmd.Context()

Callers 2

runCmdFunction · 0.85
runScriptCmdFunction · 0.85

Calls 5

OpenFunction · 0.92
OpenFunction · 0.92
ListScriptsMethod · 0.80
StringMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected