# shellcheck shell=sh                   # xrc
# shellcheck disable=SC2039,3043

# Section: config
param_type      ___x_cmd_github     ConfigName            =       oauth_token user git_protocol
# EndSection

# Section: repo
param_type      ___x_cmd_github     RepoName             "=~"    "[-A-Za-z0-9_/.]+"
# EndSection

# Section: Universal
param_type      ___x_cmd_github     Number              "=~"    "[0-9]+"

# Define in param
param_type      ___x_cmd_github     Bool                 =       true   false
param_type      ___x_cmd_github     UserGroup            =       owner collaborator organization_member "" admin
param_type      ___x_cmd_github     UserSort             =       created updated pushed full_name
param_type      ___x_cmd_github     Direction            =       desc asc
param_type      ___x_cmd_github     Authority            =       all public private
param_type      ___x_cmd_github     OrgMemberRole        =       admin member all
param_type      ___x_cmd_github     OrgMemberFilter      =       2fa_disabled all
param_type      ___x_cmd_github     PrState              =       open merged closed all
param_type      ___x_cmd_github     PrSort               =       created updated popularity long-running
param_type      ___x_cmd_github     Status               =       enable  disable "\"\""
param_type      ___x_cmd_github     RepoVisibility       =       private public
param_type      ___x_cmd_github     RepoPerm             =       pull    push     admin
param_type      ___x_cmd_github     RepoPath             "=~"    "[-A-Za-z0-9_/.]+"      # TODO: make it fit it ___x_cmd_github definition
param_type      ___x_cmd_github     NumberNull           "=~"    "" "[0-9]+"
param_type      ___x_cmd_github     Address              "=~"    "([A-Za-z0-9_.-]+)(\\/[A-Za-z0-9_.-]*)?"
param_type      ___x_cmd_github     Username             "=~"    "[A-Za-z0-9][A-Za-z0-9_]+[A-Za-z0-9]"
param_type      ___x_cmd_github     Per_page             "=~"    "([0-9]|(([1-9][0-9]))|100)"
param_type      ___x_cmd_github     Numbers              "=~"    "([0-9]*)"
param_type      ___x_cmd_github     Branch               "=~"    "[^-.0-9]([\/]?[^\/])*"
param_type      ___x_cmd_github     ISOTime              "=~"    "[0-9]+(\/|-)?(1[0-2]|0?[1-9])(\/|-)?(0?[1-9]|[1-2][0-9]|30|31) (:?[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$"
param_type      ___x_cmd_github     URL                  "=~"    "([a-zA-Z0-9]+://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[.][a-z]+(/[-A-Za-z0-9+&@#/%=?~_|]*)?"
param_type      ___x_cmd_github     JobID                "=~"    "([A-Za-z]|_)[A-Za-z0-9_-]"
param_type      ___x_cmd_github     Run_event            -       <<A
$(xrc cat gh/lib/_type/githubaction_event.txt)
A
param_type      ___x_cmd_github     Repo_Description     "=~"    ".*"
param_type      ___x_cmd_github     Org_Description      "=~"    ".*"
param_type      ___x_cmd_github     Username_multiple    "=~"    "[A-Za-z0-9][A-Za-z0-9_-]+[A-Za-z0-9](,[A-Za-z0-9][A-Za-z0-9_-]+[A-Za-z0-9])*"
param_type      ___x_cmd_github     Ignore               -   <<A
$(xrc cat gh/lib/_type/ignore.txt)
A
param_type      ___x_cmd_github     License              -   <<A
$(xrc cat gh/lib/_type/license.txt)
A


# Define in param