Compare commits
No commits in common. "1528f971fa8bf989dba8b5351b881ae63b89b5f0" and "eed5f4e358be9646a64f3f74ef6782676703ea40" have entirely different histories.
1528f971fa
...
eed5f4e358
|
@ -12,6 +12,7 @@ import (
|
||||||
|
|
||||||
"go.jolheiser.com/eget/forge"
|
"go.jolheiser.com/eget/forge"
|
||||||
|
|
||||||
|
"github.com/adrg/xdg"
|
||||||
"github.com/mholt/archiver/v3"
|
"github.com/mholt/archiver/v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -119,9 +120,5 @@ func moveDir(src, dest string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func Path(name string) string {
|
func Path(name string) string {
|
||||||
home, err := os.UserHomeDir()
|
return filepath.Join(xdg.DataHome, "eget", name)
|
||||||
if err != nil {
|
|
||||||
home = "."
|
|
||||||
}
|
|
||||||
return filepath.Join(home, ".eget", name)
|
|
||||||
}
|
}
|
||||||
|
|
7
main.go
7
main.go
|
@ -19,8 +19,6 @@ func main() {
|
||||||
fmt.Fprintln(fs.Output(), "eget <package>")
|
fmt.Fprintln(fs.Output(), "eget <package>")
|
||||||
fs.PrintDefaults()
|
fs.PrintDefaults()
|
||||||
}
|
}
|
||||||
versionFlag := fs.Bool("version", false, "Show version and exit")
|
|
||||||
fs.BoolVar(versionFlag, "v", *versionFlag, "--version")
|
|
||||||
updateFlag := fs.Bool("update", false, "Update package")
|
updateFlag := fs.Bool("update", false, "Update package")
|
||||||
fs.BoolVar(updateFlag, "u", *updateFlag, "--update")
|
fs.BoolVar(updateFlag, "u", *updateFlag, "--update")
|
||||||
deleteFlag := flag.Bool("delete", false, "Delete package")
|
deleteFlag := flag.Bool("delete", false, "Delete package")
|
||||||
|
@ -31,11 +29,6 @@ func main() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if *versionFlag {
|
|
||||||
fmt.Printf("eget %s\n", Version)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if *syncFlag {
|
if *syncFlag {
|
||||||
if err := sync(); err != nil {
|
if err := sync(); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
28
meta/meta.go
28
meta/meta.go
|
@ -6,10 +6,11 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go.jolheiser.com/eget/disk"
|
"go.jolheiser.com/eget/disk"
|
||||||
|
|
||||||
|
"github.com/adrg/xdg"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Meta struct {
|
type Meta struct {
|
||||||
|
@ -46,7 +47,10 @@ func Read() (Meta, error) {
|
||||||
m := Meta{
|
m := Meta{
|
||||||
Packages: make(map[string]Package),
|
Packages: make(map[string]Package),
|
||||||
}
|
}
|
||||||
fp := metaPath()
|
fp, err := metaPath()
|
||||||
|
if err != nil {
|
||||||
|
return m, fmt.Errorf("could not get meta file: %w", err)
|
||||||
|
}
|
||||||
fi, err := os.Open(fp)
|
fi, err := os.Open(fp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.Is(err, fs.ErrNotExist) {
|
if errors.Is(err, fs.ErrNotExist) {
|
||||||
|
@ -76,16 +80,15 @@ func Remove(name string) error {
|
||||||
return fmt.Errorf("could not find package to remove for %q", name)
|
return fmt.Errorf("could not find package to remove for %q", name)
|
||||||
}
|
}
|
||||||
|
|
||||||
func metaPath() string {
|
func metaPath() (string, error) {
|
||||||
home, err := os.UserHomeDir()
|
return xdg.ConfigFile("eget/packages.json")
|
||||||
if err != nil {
|
|
||||||
home = "."
|
|
||||||
}
|
|
||||||
return filepath.Join(home, ".eget", "packages.json")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func save(m Meta) error {
|
func save(m Meta) error {
|
||||||
fp := metaPath()
|
fp, err := metaPath()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("could not get meta path: %w", err)
|
||||||
|
}
|
||||||
fi, err := os.Create(fp)
|
fi, err := os.Create(fp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("could not create meta file: %w", err)
|
return fmt.Errorf("could not create meta file: %w", err)
|
||||||
|
@ -114,7 +117,7 @@ func (m Meta) writeShellEnv(shell string) error {
|
||||||
var tmpl string
|
var tmpl string
|
||||||
switch shell {
|
switch shell {
|
||||||
case "nu":
|
case "nu":
|
||||||
tmpl = "let-env Path = ($env.Path | append %q)\n"
|
tmpl = "let-env PATH = ($env.PATH | append '%s')\n"
|
||||||
case "sh":
|
case "sh":
|
||||||
tmpl = "PATH=$PATH:%s\n"
|
tmpl = "PATH=$PATH:%s\n"
|
||||||
case "ps1":
|
case "ps1":
|
||||||
|
@ -122,11 +125,10 @@ func (m Meta) writeShellEnv(shell string) error {
|
||||||
default:
|
default:
|
||||||
return errors.New("shell not recognized")
|
return errors.New("shell not recognized")
|
||||||
}
|
}
|
||||||
home, err := os.UserHomeDir()
|
fp, err := xdg.DataFile("eget/eget." + shell)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
home = "."
|
return err
|
||||||
}
|
}
|
||||||
fp := filepath.Join(home, ".eget", "eget."+shell)
|
|
||||||
fi, err := os.Create(fp)
|
fi, err := os.Create(fp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
Reference in New Issue