def help_page

cli@0.2.0.0 · cli.bend:5635

import cli@0.2.0.0/cli.bend as Cli
import Base

5635def help_page(view: View, +long: Bool, +w: Nat) -> List<&2, Segment>:
5636  match view:
5637    case View{path, +about, +items, +globals, root, stuck}:
5638      +args = List.append(&2, Item, items, globals)
5639      join_blocks(List.concat(&2, List<&2, Segment>, [
5640        text_block(shown_text(long, about), w),
5641        [usage_block(usage_elems(path, items, globals), w)],
5642        sections_blocks(List.append(&2, Section, [
5643          Section{"Commands", List.append(&2, Row, command_rows(items),
5644            help_sub_row(has_sub_item(items)))},
5645          Section{"Arguments", positional_rows(items, long)},
5646          Section{"Options", List.concat(&2, Row, [
5647            option_rows(args, long, ""),
5648            [builtin_row(Maybe.is_some(&2, OptFound, find_option(args, "-h")),
5649              "-h", "--help", help_text(Bool.or(String.contains(about, "\n\n"),
5650                args_paragraphs(args)), long))],
5651            version_row(Bool.and(root, has_version_item(items)), args),
5652          ])},
5653        ], heading_sections(heading_titles(args, []), args, long)), w),
5654        examples_block(example_lines(items)),
5655        text_block(String.join(after_texts(items), "\n\n"), w),
5656      ]))

Uses (38)

Used by (2)