diff --git a/cmd/base/command.go b/cmd/base/command.go index 6c7f4fb..bb7ebc2 100644 --- a/cmd/base/command.go +++ b/cmd/base/command.go @@ -56,7 +56,7 @@ func InitCommand(cmd *cli.Command) *context.TeaContext { // try to read local git repo & extract context: if repoFlag specifies a valid path, read repo in that dir, // otherwise attempt PWD. if no repo is found, continue with default login - if c.LocalRepo, c.Login, c.RepoSlug, err = context.ContextFromLocalRepo(repoPath, remoteFlag); err != nil { + if c.LocalRepo, c.Login, c.RepoSlug, err = context.FromLocalRepo(repoPath, remoteFlag); err != nil { if err == context.ErrNotAGiteaRepo || err == gogit.ErrRepositoryNotExists { // we can deal with that, commands needing the optional values use ctx.Ensure() } else { diff --git a/modules/context/context.go b/modules/context/context.go index 8472a36..f26956b 100644 --- a/modules/context/context.go +++ b/modules/context/context.go @@ -19,7 +19,8 @@ import ( "github.com/urfave/cli/v3" ) -var ErrNotAGiteaRepo = errors.New("No Gitea login found. You might want to specify --repo (and --login) to work outside of a repository") +// ErrNotAGiteaRepo is returned when no Gitea login could be found for a local git repo +var ErrNotAGiteaRepo = errors.New("no Gitea login found. You might want to specify --repo (and --login) to work outside of a repository") // TeaContext contains all context derived during command initialization and wraps cli.Context type TeaContext struct { @@ -60,8 +61,8 @@ type CtxRequirement struct { RemoteRepo bool } -// ContextFromLocalRepo discovers login & repo slug from the default branch remote of the given local repo -func ContextFromLocalRepo(repoPath, remoteValue string) (*git.TeaRepo, *config.Login, string, error) { +// FromLocalRepo discovers login & repo slug from the default branch remote of the given local repo +func FromLocalRepo(repoPath, remoteValue string) (*git.TeaRepo, *config.Login, string, error) { repo, err := git.RepoFromPath(repoPath) if err != nil { return nil, nil, "", err diff --git a/modules/interact/login.go b/modules/interact/login.go index 791b39a..3347f10 100644 --- a/modules/interact/login.go +++ b/modules/interact/login.go @@ -307,6 +307,7 @@ var tokenScopeOpts = []string{ string(gitea.AccessTokenScopeSudo), } +// LoginSelect prompts the user to select a login if multiple are configured func LoginSelect() (*config.Login, error) { logins, err := config.GetLogins() if err != nil {