mirror of
https://codeberg.org/scip/esctl.git
synced 2026-08-24 13:04:20 +02:00
add pager tui for 'api show' (#46)
This commit is contained in:
@@ -307,6 +307,7 @@ func ApiPathNames() []string {
|
||||
|
||||
func ApiShow(conf *cfg.Config, showpath, verb string) error {
|
||||
assets.LoadAssetOpenApi()
|
||||
out := printer.Builder{}
|
||||
|
||||
op, err := matchOperation(showpath, verb)
|
||||
if err != nil {
|
||||
@@ -335,43 +336,46 @@ func ApiShow(conf *cfg.Config, showpath, verb string) error {
|
||||
MarginBottom(1).
|
||||
MarginLeft(2)
|
||||
|
||||
fmt.Println(bold.Render("ID: " + op.Op.ID))
|
||||
fmt.Println(paragraph.Render(fmt.Sprintf("%s %s", op.Verb, showpath)))
|
||||
out.WriteStringLine(bold.Render("ID: " + op.Op.ID))
|
||||
out.WriteStringLine(paragraph.Render(fmt.Sprintf("%s %s", op.Verb, showpath)))
|
||||
|
||||
fmt.Println(bold.Render("Tags"))
|
||||
fmt.Println(paragraph.Render(strings.Join(op.Op.Tags, ", ")))
|
||||
out.WriteStringLine(bold.Render("Tags"))
|
||||
out.WriteStringLine(paragraph.Render(strings.Join(op.Op.Tags, ", ")))
|
||||
|
||||
fmt.Println(bold.Render("Summary"))
|
||||
fmt.Println(paragraph.Render(strings.TrimSpace(op.Op.Summary)))
|
||||
out.WriteStringLine(bold.Render("Summary"))
|
||||
out.WriteStringLine(paragraph.Render(strings.TrimSpace(op.Op.Summary)))
|
||||
|
||||
fmt.Println(bold.Render("Description"))
|
||||
fmt.Println(string(description)) // already indented
|
||||
out.WriteStringLine(bold.Render("Description"))
|
||||
out.WriteStringLine(string(description)) // already indented
|
||||
|
||||
if len(params.Path) > 0 {
|
||||
fmt.Println(bold.Render("Path Parameters"))
|
||||
out.WriteStringLine(bold.Render("Path Parameters"))
|
||||
for _, param := range params.Path {
|
||||
fmt.Println(boldparagraph.Render(param.Param))
|
||||
out.WriteStringLine(boldparagraph.Render(param.Param))
|
||||
if param.Description != "" {
|
||||
fmt.Println(indentparagraph.Render(param.Description))
|
||||
//out.WriteStringLine(indentparagraph.Render(param.Description))
|
||||
out.WriteStringLine(param.Description)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(params.Query) > 0 {
|
||||
fmt.Println(bold.Render("Query Parameters"))
|
||||
out.WriteStringLine(bold.Render("Query Parameters"))
|
||||
for _, param := range params.Query {
|
||||
fmt.Println(boldparagraph.Render(param.Param))
|
||||
out.WriteStringLine(boldparagraph.Render(param.Param))
|
||||
if param.Description != "" {
|
||||
fmt.Println(indentparagraph.Render(param.Description))
|
||||
out.WriteStringLine(indentparagraph.Render(param.Description))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if sample != "" {
|
||||
fmt.Println(bold.Render("Example"))
|
||||
fmt.Println(paragraph.Render(sample))
|
||||
out.WriteStringLine(bold.Render("Example"))
|
||||
out.WriteStringLine(paragraph.Render(sample))
|
||||
}
|
||||
|
||||
printer.Pager(showpath, out.String())
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user