Back to Gh Dash

PR Layout

docs/src/content/docs/configuration/layout/pr.mdx

4.23.29.5 KB
Original Source

import { Aside, Code } from "@astrojs/starlight/components"; import NerdFontIcon from "../../../../components/NerdFontIcon.astro";

PR Section Layout

You can define how a PR section displays items in its table by setting options for the available columns. You can define a column's width, whether it grows to fill available space, and whether the column should be visible at all.

Note that if the length of a column's text exceeds the defined column width, the view truncates the column's text to two characters shorter than the column's width. For example, if the width is 6, gh-dash displays as gh-d.

Column headings have their color defined by the theme.colors.text.primary setting.

By default, PR views display the following columns in the order they're listed:

  1. updatedAt with a width of 7 columns.
  2. state with a width of 3 columns.
  3. repo with a width of 15 columns.
  4. title, set to grow to fill available space.
  5. author with a width of 10 columns.
  6. numComments with a width of 3 columns.
  7. reviewStatus with a width of 3 columns.
  8. ci with a width of 3 columns.
  9. lines with a width of 16 columns.
<Aside type="caution" title="Watch out!"> Even though the `state`, `title`, `comments`, and `reactions` settings aren't explicitly defined in your configuration file, they're added to the table unless you set their [`hidden`] option to `false`. </Aside>
yaml
updatedAt:
  width: 7
repo:
  width: 15
title:
  grow: true
author:
  width: 15
assignees:
  width: 20
  hidden: true
base:
  width: 15
  hidden: true
lines:
  width: 16

PR Updated At Column

PropertyTypeDefault
updatedAtyaml<Code code={width: 7} lang="yaml" frame="none"/>

This column displays how recently the PR was updated. The entry shows the time elapsed since the last update, like 1h or 3d.

The heading for this column is <NerdFontIcon icon="nf-oct-clock"/>

PR State Column

PropertyTypeDefault
stateyaml<Code code={width: 3} lang="yaml" frame="none"/>

This column displays the PR's state as one of the following icons:

  • When a PR is open and ready for review, the icon is <NerdFontIcon icon="nf-oct-git_pull_request"/> and the color is #42a0fa.
  • When a PR is in draft mode, the icon is <NerdFontIcon icon="nf-oct-git_pull_request_draft"/> and the color is set to the value of theme.colors.text.faint.
  • When a PR is merged, the icon is <NerdFontIcon icon="nf-oct-feed_merged"/> and the color is #a371f7.
  • When a PR is closed without merging, the icon is <NerdFontIcon icon="nf-oct-trash"/> and the color is #c38080.

This heading for this column is <NerdFontIcon icon="nf-dev-git_merge"/>

PR Repo Column

PropertyTypeDefault
repoyaml<Code code={width: 15} lang="yaml" frame="none"/>

This column displays the name of the repository the PR is filed in. The entry shows the name of the repository without the owner, like gh-dash for the https://github.com/dlvhdr/gh-dash repository.

The heading for this column is <NerdFontIcon icon="nf-oct-repo"/>

PR Title Column

PropertyTypeDefault
titleyaml<Code code={width: 15\ngrow: true} lang="yaml" frame="none"/>

This column displays the PR's number followed by its title. This column is always displayed unless you set hidden to false. By default, it grows to fill the available space in the terminal after accounting for other column widths.

The heading for this column is Title.

The theme.colors.text.primary setting defines the issue number's color.

PR Author Column

PropertyTypeDefault
authoryaml<Code code={width: 15} lang="yaml" frame="none"/>

This column displays the username for the person who created the PR.

The heading for this column is Author.

PR Author Role Icon

PropertyTypeDefault
authorIconyaml<Code code={width: 3} lang="yaml" frame="none"/>

This setting affects display of the role icon for the person who created the PR.

PR Assignees Column

PropertyTypeDefault
assigneesyaml<Code code={width: 20\nhidden: true} lang="yaml" frame="none"/>

This column displays the usernames for the people assigned to the PR.

The heading for this column is Assignees.

PR Base Column

PropertyTypeDefault
baseyaml<Code code={width: 15\nhidden: true} lang="yaml" frame="none"/>

This column displays the base branch the PR is targeting, like main.

The heading for this column is Base.

PR Number of Comments Column

PropertyTypeDefault
numCommentsyaml<Code code={width: 3} lang="yaml" frame="none"/>

This column displays the number of comments left on a PR. This is a sum of the direct comments and the number of review threads.

The heading for this column is <NerdFontIcon icon="nf-fa-comments_o"/>.

PR Review Status Column

PropertyTypeDefault
reviewStatusyaml<Code code={width: 3} lang="yaml" frame="none"/>

This column displays the review status of a PR as an icon:

  • When the PR hasn't been reviewed, the icon is <NerdFontIcon icon="nf-fa-clock" /> and the color is the value of theme.colors.text.faint.
  • When the PR is approved, the icon is <NerdFontIcon icon="nf-cod-check" /> and the color is the value of theme.colors.text.primary.
  • When the PR has requested changes, the icon is <NerdFontIcon icon="nf-md-keyboard_return" /> and the color is the value of theme.colors.text.warning.

The heading for this column is <NerdFontIcon icon="nf-md-account_check_outline"/>.

PR Continuous Integration Column

PropertyTypeDefault
ciyaml<Code code={width: 3} lang="yaml" frame="none"/>

This column displays the CI status of a PR as an icon:

  • When the checks haven't finished running, the icon is <NerdFontIcon icon="nf-fa-clock"/> and the color is the value of theme.colors.text.faint.
  • When the checks have all passed, the icon is <NerdFontIcon icon="nf-md-check_circle"/> and the color is the value of [theme.colors.text.success].
  • When at least one check failed, the icon is <NerdFontIcon icon="nf-md-close_circle"/> and the color is the value of theme.colors.text.warning.

The heading for this column is <NerdFontIcon icon="nf-oct-checklist"/>

PR Lines Column

PropertyTypeDefault
linesyaml<Code code={width: 16} lang="yaml" frame="none"/>

This column displays the line changes for a PR. The column represents the changes as <added> / -<removed>. For example, 66 / -46 indicates 66 lines added and 46 lines removed.

The heading for this column is <NerdFontIcon icon="nf-oct-diff"/>.