shared

package
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2021 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IssueMetadata metadataStateType = iota
	PRMetadata
)

Variables

This section is empty.

Functions

func AddMetadataToIssueParams

func AddMetadataToIssueParams(client *api.Client, baseRepo ghrepo.Interface, params map[string]interface{}, tb *IssueMetadataState) error

func BodySurvey added in v1.3.0

func BodySurvey(state *IssueMetadataState, templateContent, editorCommand string) error

func ColorForPR added in v1.2.1

func ColorForPR(pr api.PullRequest) string

func ColorForState added in v1.2.1

func ColorForState(state string) string

ColorForState returns a color constant for a PR/Issue state

func CommentList added in v1.4.0

func CommentList(io *iostreams.IOStreams, comments api.Comments, reviews api.PullRequestReviews, preview bool) (string, error)

func CommentableConfirmSubmitSurvey added in v1.5.0

func CommentableConfirmSubmitSurvey() (bool, error)

func CommentableEditSurvey added in v1.5.0

func CommentableEditSurvey(cf func() (config.Config, error), io *iostreams.IOStreams) func() (string, error)

func CommentableInteractiveEditSurvey added in v1.5.0

func CommentableInteractiveEditSurvey(cf func() (config.Config, error), io *iostreams.IOStreams) func() (string, error)

func CommentablePreRun added in v1.5.0

func CommentablePreRun(cmd *cobra.Command, opts *CommentableOptions) error

func CommentableRun added in v1.5.0

func CommentableRun(opts *CommentableOptions) error

func EditFieldsSurvey added in v1.6.0

func EditFieldsSurvey(editable *Editable, editorCommand string) error

func FetchOptions added in v1.6.0

func FetchOptions(client *api.Client, repo ghrepo.Interface, editable *Editable) error

func FieldsToEditSurvey added in v1.6.0

func FieldsToEditSurvey(editable *Editable) error

func FillFromJSON added in v1.3.0

func FillFromJSON(io *iostreams.IOStreams, recoverFile string, state *IssueMetadataState) error

func FindTemplates added in v1.3.0

func FindTemplates(dir, path string) ([]string, string)

func ListHeader

func ListHeader(repoName string, itemName string, matchCount int, totalMatchCount int, hasFilters bool) string

func ListURLWithQuery

func ListURLWithQuery(listURL string, options FilterOptions) (string, error)

func MetadataSurvey added in v1.3.0

func MetadataSurvey(io *iostreams.IOStreams, baseRepo ghrepo.Interface, fetcher RepoMetadataFetcher, state *IssueMetadataState) error

func NewTemplateManager added in v1.6.0

func NewTemplateManager(httpClient *http.Client, repo ghrepo.Interface, dir string, allowFS bool, isPR bool) *templateManager

func PRFromArgs

func PRFromArgs(apiClient *api.Client, baseRepoFn func() (ghrepo.Interface, error), branchFn func() (string, error), remotesFn func() (context.Remotes, error), arg string) (*api.PullRequest, ghrepo.Interface, error)

PRFromArgs looks up the pull request from either the number/branch/URL argument or one belonging to the current branch

NOTE: this API isn't great, but is here as a compatibility layer between old-style and new-style commands

func PreserveInput added in v1.3.0

func PreserveInput(io *iostreams.IOStreams, state *IssueMetadataState, createErr *error) func()

func PrintHeader

func PrintHeader(io *iostreams.IOStreams, s string)

func PrintMessage

func PrintMessage(io *iostreams.IOStreams, s string)

func RawCommentList added in v1.4.0

func RawCommentList(comments api.Comments, reviews api.PullRequestReviews) string

func ReactionGroupList added in v1.4.0

func ReactionGroupList(rgs api.ReactionGroups) string

func StateTitleWithColor

func StateTitleWithColor(cs *iostreams.ColorScheme, pr api.PullRequest) string

func TitleSurvey added in v1.3.0

func TitleSurvey(state *IssueMetadataState) error

func WithPrAndIssueQueryParams

func WithPrAndIssueQueryParams(baseURL string, state IssueMetadataState) (string, error)

Types

type Action

type Action int
const (
	SubmitAction Action = iota
	PreviewAction
	CancelAction
	MetadataAction
	EditCommitMessageAction
)

func ConfirmSubmission added in v1.3.0

func ConfirmSubmission(allowPreview bool, allowMetadata bool) (Action, error)

type Comment added in v1.5.0

type Comment interface {
	AuthorLogin() string
	Association() string
	Content() string
	Created() time.Time
	HiddenReason() string
	IsEdited() bool
	IsHidden() bool
	Link() string
	Reactions() api.ReactionGroups
	Status() string
}

type Commentable added in v1.5.0

type Commentable interface {
	Link() string
	Identifier() string
}

type CommentableOptions added in v1.5.0

type CommentableOptions struct {
	IO                    *iostreams.IOStreams
	HttpClient            func() (*http.Client, error)
	RetrieveCommentable   func() (Commentable, ghrepo.Interface, error)
	EditSurvey            func() (string, error)
	InteractiveEditSurvey func() (string, error)
	ConfirmSubmitSurvey   func() (bool, error)
	OpenInBrowser         func(string) error
	Interactive           bool
	InputType             InputType
	Body                  string
}

type Editable added in v1.6.0

type Editable struct {
	Title     EditableString
	Body      EditableString
	Base      EditableString
	Reviewers EditableSlice
	Assignees EditableSlice
	Labels    EditableSlice
	Projects  EditableSlice
	Milestone EditableString
	Metadata  api.RepoMetadataResult
}

func (Editable) AssigneeIds added in v1.6.0

func (e Editable) AssigneeIds(client *api.Client, repo ghrepo.Interface) (*[]string, error)

func (Editable) BodyValue added in v1.6.0

func (e Editable) BodyValue() *string

func (Editable) Dirty added in v1.6.0

func (e Editable) Dirty() bool

func (Editable) LabelIds added in v1.6.0

func (e Editable) LabelIds() (*[]string, error)

func (Editable) MilestoneId added in v1.6.0

func (e Editable) MilestoneId() (*string, error)

func (Editable) ProjectIds added in v1.6.0

func (e Editable) ProjectIds() (*[]string, error)

func (Editable) ReviewerIds added in v1.6.0

func (e Editable) ReviewerIds() (*[]string, *[]string, error)

func (Editable) TitleValue added in v1.6.0

func (e Editable) TitleValue() *string

type EditableSlice added in v1.6.0

type EditableSlice struct {
	Value   []string
	Add     []string
	Remove  []string
	Default []string
	Options []string
	Edited  bool
	Allowed bool
}

type EditableString added in v1.6.0

type EditableString struct {
	Value   string
	Default string
	Options []string
	Edited  bool
}

type FilterOptions

type FilterOptions struct {
	Entity     string
	State      string
	Assignee   string
	Labels     []string
	Author     string
	BaseBranch string
	Mention    string
	Milestone  string
}

type InputType added in v1.5.0

type InputType int
const (
	InputTypeEditor InputType = iota
	InputTypeInline
	InputTypeWeb
)

type IssueMetadataState

type IssueMetadataState struct {
	Type metadataStateType

	Draft bool

	Body  string
	Title string

	Metadata   []string
	Reviewers  []string
	Assignees  []string
	Labels     []string
	Projects   []string
	Milestones []string

	MetadataResult *api.RepoMetadataResult
	// contains filtered or unexported fields
}

func (*IssueMetadataState) HasMetadata

func (tb *IssueMetadataState) HasMetadata() bool

func (*IssueMetadataState) IsDirty added in v1.3.0

func (tb *IssueMetadataState) IsDirty() bool

func (*IssueMetadataState) MarkDirty added in v1.3.0

func (tb *IssueMetadataState) MarkDirty()

type MeReplacer added in v1.6.0

type MeReplacer struct {
	// contains filtered or unexported fields
}

MeReplacer resolves usages of `@me` to the handle of the currently logged in user.

func NewMeReplacer added in v1.6.0

func NewMeReplacer(apiClient *api.Client, hostname string) *MeReplacer

func (*MeReplacer) Replace added in v1.6.0

func (r *MeReplacer) Replace(handle string) (string, error)

func (*MeReplacer) ReplaceSlice added in v1.6.0

func (r *MeReplacer) ReplaceSlice(handles []string) ([]string, error)

type MetadataFetcher added in v1.3.1

type MetadataFetcher struct {
	IO        *iostreams.IOStreams
	APIClient *api.Client
	Repo      ghrepo.Interface
	State     *IssueMetadataState
}

func (*MetadataFetcher) RepoMetadataFetch added in v1.3.1

func (mf *MetadataFetcher) RepoMetadataFetch(input api.RepoMetadataInput) (*api.RepoMetadataResult, error)

type RepoMetadataFetcher added in v1.3.1

type RepoMetadataFetcher interface {
	RepoMetadataFetch(api.RepoMetadataInput) (*api.RepoMetadataResult, error)
}

type Template added in v1.6.0

type Template interface {
	Name() string
	NameForSubmit() string
	Body() []byte
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL