MCPcopy Index your code
hub / github.com/celer-pkg/celer / installBinary

Method installBinary

completion/powershell.go:53–78  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

51}
52
53func (p powershell) installBinary() error {
54 // Copy into `~/AppData/Local/celer`
55 executable, err := os.Executable()
56 if err != nil {
57 return fmt.Errorf("failed to get celer's path -> %w", err)
58 }
59
60 dest := filepath.Join(os.Getenv("USERPROFILE"), "AppData", "Local", "celer", "celer.exe")
61 if err := os.MkdirAll(filepath.Dir(dest), os.ModePerm); err != nil {
62 return fmt.Errorf("failed to create celer.exe destination dir -> %w", err)
63 }
64 if err := fileio.CopyFile(executable, dest); err != nil {
65 return fmt.Errorf("failed to copy celer.exe to `%s` -> %w", dest, err)
66 }
67 fmt.Printf("[integrate] celer.exe -> %s\n", filepath.Dir(dest))
68
69 // Add celer.exe to PATH if it's not already there.
70 pathEnv := os.Getenv("PATH")
71 if !strings.Contains(pathEnv, filepath.Dir(dest)) {
72 if err := p.executeCmd("setx", "PATH", "%PATH%;"+filepath.Dir(dest)); err != nil {
73 return fmt.Errorf("failed to add celer dir to PATH -> %w", err)
74 }
75 }
76
77 return nil
78}
79
80func (p powershell) installCompletion() error {
81 if err := dirs.CleanTmpFilesDir(); err != nil {

Callers 1

RegisterMethod · 0.95

Calls 3

executeCmdMethod · 0.95
CopyFileFunction · 0.92
MkdirAllMethod · 0.80

Tested by

no test coverage detected