completions/psc/language/en-US.json

{
  "meta": {
    "url": "https://pscompletions.abgox.com",
    "description": [
      "PSCompletions module's completion."
    ]
  },
  "next": [
    {
      "name": "add",
      "tip": [
        "Add completion. (one or more)"
      ],
      "example": [
        {
          "cmd": "psc add git",
          "desc": "Add git"
        },
        {
          "cmd": "psc add git scoop",
          "desc": "Add git and scoop"
        }
      ],
      "option": [
        {
          "name": "--all",
          "tip": [
            "Add all completions.",
            "Note: Add all completions may cause PowerShell to load slowly for the start up.",
            " It's recommended to add as needed rather than adding all completions."
          ]
        }
      ]
    },
    {
      "name": "alias",
      "tip": [
        "Manage trigger aliases for completions."
      ],
      "example": [
        {
          "cmd": "psc alias",
          "desc": "List all trigger aliases"
        },
        {
          "cmd": "psc alias add git g gi",
          "desc": "Add g and gi trigger aliases for git"
        },
        {
          "cmd": "psc alias rm git g gi",
          "desc": "Remove g and gi trigger aliases for git"
        },
        {
          "cmd": "psc alias --reset",
          "desc": "Restore all trigger aliases from config.json"
        }
      ],
      "option": [
        {
          "name": "--reset",
          "tip": [
            "Reset all trigger aliases from config.json."
          ]
        }
      ],
      "next": [
        {
          "name": "add",
          "tip": [
            "Add trigger aliases for completions (one or more)."
          ],
          "example": [
            {
              "cmd": "psc alias add git g gi",
              "desc": "Add g and gi trigger aliases for git"
            },
            {
              "cmd": "psc alias add scoop scoop.ps1",
              "desc": "Add scoop.ps1 trigger alias for scoop"
            }
          ]
        },
        {
          "name": "rm",
          "tip": [
            "Remove trigger aliases for completions (one or more)."
          ],
          "example": [
            {
              "cmd": "psc alias rm git g gi",
              "desc": "Remove g and gi trigger aliases for git"
            },
            {
              "cmd": "psc alias rm scoop scoop.ps1",
              "desc": "Remove scoop.ps1 trigger alias for scoop"
            }
          ]
        }
      ]
    },
    {
      "name": "completion",
      "tip": [
        "Specify the configuration for a completion.",
        "By default, each completion comes with multiple special configurations: language | enable_tip | enable_tip_usage | enable_tip_example"
      ],
      "example": [
        {
          "cmd": "psc completion git",
          "desc": "Get the current value of git's all special config"
        },
        {
          "cmd": "psc completion git enable_tip",
          "desc": "Get the current value of git's special config"
        },
        {
          "cmd": "psc completion git enable_tip 0",
          "desc": "Set git to not display tip"
        },
        {
          "cmd": "psc completion git enable_tip_example 0",
          "desc": "Set git to not display the example section"
        },
        {
          "cmd": "psc completion git enable_hooks 0",
          "desc": "Disable git's dynamic hooks (hooks are enabled by default)"
        },
        {
          "cmd": "psc completion git enable_tip --reset",
          "desc": "Reset one special config key to its default"
        },
        {
          "cmd": "psc completion git --reset",
          "desc": "Reset all of git's special config"
        }
      ],
      "option": [
        {
          "name": "--reset",
          "tip": [
            "Remove all completions' special config overrides so they follow the global settings again.",
            "(Keys that declare a manifest default are restored to those defaults instead.)"
          ]
        }
      ]
    },
    {
      "name": "config",
      "tip": [
        "Get/Set the configuration of the module."
      ],
      "example": [
        {
          "cmd": "psc config language",
          "desc": "Get language"
        },
        {
          "cmd": "psc config language zh-CN",
          "desc": "Set to zh-CN"
        },
        {
          "cmd": "psc config language en-US",
          "desc": "Set to en-US"
        },
        {
          "cmd": "psc config --reset",
          "desc": "Reset all config keys to their defaults"
        },
        {
          "cmd": "psc config menu show_mode --reset",
          "desc": "Reset one config key (show_mode) to its default"
        }
      ],
      "option": [
        {
          "name": "--reset",
          "tip": [
            "Reset all module config keys to their defaults."
          ]
        }
      ],
      "next": [
        {
          "name": "context",
          "tip": [
            "Completion context indicator symbols."
          ],
          "option": [
            {
              "name": "--reset",
              "tip": [
                "Reset the completion context indicator symbols to their defaults."
              ]
            }
          ],
          "next": [
            {
              "name": "stay",
              "tip": [
                "Default: ?",
                "The symbol shown next to an item that stays in the current context when applied."
              ],
              "example": [
                {
                  "cmd": "psc config context stay \"\"",
                  "desc": "Hide the symbol by setting it to an empty string."
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "?",
                  "tip": [
                    "Default.",
                    "Set to ?"
                  ]
                },
                {
                  "name": "\"\"",
                  "tip": [
                    "Set to \"\"",
                    "It can hide symbols, but it's not recommended.",
                    "It's more recommended that you modify them to your liking.",
                    "Because these symbols let you know if you can continue to get completions."
                  ]
                }
              ]
            },
            {
              "name": "switch",
              "tip": [
                "Default: ~",
                "The symbol shown next to an item that switches to a new context when applied."
              ],
              "example": [
                {
                  "cmd": "psc config context switch \"\"",
                  "desc": "Hide the symbol by setting it to an empty string."
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"\"",
                  "tip": [
                    "Set to \"\"",
                    "It can hide symbols, but it's not recommended.",
                    "It's more recommended that you modify them to your liking.",
                    "Because these symbols let you know if you can continue to get completions."
                  ]
                },
                {
                  "name": "~",
                  "tip": [
                    "Default.",
                    "Set to ~"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "core",
          "tip": [
            "Tool-level settings."
          ],
          "option": [
            {
              "name": "--reset",
              "tip": [
                "Reset the core (tool-level) config keys to their defaults."
              ]
            }
          ],
          "next": [
            {
              "name": "enable_auto_alias_setup",
              "tip": [
                "Default: 1",
                "Automatically set completion aliases via 'Set-Alias'."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Disable automatic alias setup via 'Set-Alias'."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Automatically set completion aliases via 'Set-Alias'."
                  ]
                }
              ]
            },
            {
              "name": "language",
              "tip": [
                "Get or set the language of completions.",
                "The configured language will affect all added completions.",
                "Completions with language set separately via 'psc completion' will not be affected.",
                "Refer to: https://pscompletions.abgox.com/docs/language"
              ],
              "next": [
                {
                  "name": "en-US",
                  "tip": [
                    "Set the language to en-US."
                  ]
                },
                {
                  "name": "zh-CN",
                  "tip": [
                    "Set the language to zh-CN."
                  ]
                }
              ]
            },
            {
              "name": "url",
              "tip": [
                "Set the url of the completion library.",
                "The default value is \"\", and it will select GitHub or Gitee repository based on the language."
              ],
              "example": [
                {
                  "cmd": "psc config url",
                  "desc": "Get current url"
                },
                {
                  "cmd": "psc config url <url>",
                  "desc": "Set url"
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"\"",
                  "tip": [
                    "Default.",
                    "Set to \"\"",
                    "It will select GitHub or Gitee repository based on the language.",
                    "Chinese: https://gitee.com/abgox/PSCompletions/raw/main",
                    "Other: https://github.com/abgox/PSCompletions/raw/main"
                  ]
                },
                {
                  "name": "\"https://gh-proxy.org/https://github.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "Use GitHub + Proxy as the completion library."
                  ]
                },
                {
                  "name": "\"https://gh-proxy.org/https://raw.githubusercontent.com/abgox/PSCompletions/main\"",
                  "tip": [
                    "Use GitHub + Proxy as the completion library."
                  ]
                },
                {
                  "name": "\"https://gitee.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "Use Gitee as the completion library."
                  ]
                },
                {
                  "name": "\"https://github.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "Use GitHub as the completion library."
                  ]
                },
                {
                  "name": "\"https://raw.giteeusercontent.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "Use Gitee as the completion library."
                  ]
                },
                {
                  "name": "\"https://raw.githubusercontent.com/abgox/PSCompletions/main\"",
                  "tip": [
                    "Use GitHub as the completion library."
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "menu",
          "tip": [
            "Completion menu settings."
          ],
          "option": [
            {
              "name": "--reset",
              "tip": [
                "Reset the completion menu config keys to their defaults."
              ]
            }
          ],
          "next": [
            {
              "name": "enable_append_space",
              "tip": [
                "Append a space after applying a completion."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Do not append a space."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default.",
                    "Append a space after applying a completion."
                  ]
                }
              ]
            },
            {
              "name": "enable_apply_when_no_match",
              "tip": [
                "Default: 0",
                "When the filter matches no completion item, show a solid circle and auto-apply the typed text on the NEXT input (no buffer).",
                "Set to 0 to disable.",
                "Caution: external events (e.g. VS Code clicking a file path in the menu tip) may auto-apply stray sequences."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Disable."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Enable: no-match shows a solid circle; the next input auto-applies."
                  ]
                }
              ]
            },
            {
              "name": "enable_apply_when_single",
              "tip": [
                "Default: 0",
                "When there is only one completion item, enter it directly instead of displaying the module completion menu."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Default value.",
                    "Enter the only item directly without showing the menu."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Enter the only item directly without showing the menu."
                  ]
                }
              ]
            },
            {
              "name": "enable_cache",
              "tip": [
                "Default: 1",
                "Cache the completion result (10s) to speed up re-opening the same menu."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Disable result caching; every completion runs fresh."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Cache the built completion result for 10 seconds."
                  ]
                }
              ]
            },
            {
              "name": "enable_list_loop",
              "tip": [
                "Default: 1",
                "The list of the module completion menu is displayed with a loop."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Disable list looping in the completion menu."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Enable list looping in the completion menu."
                  ]
                }
              ]
            },
            {
              "name": "enable_native_completion",
              "tip": [
                "Default: 1",
                "Invoke and integrate the PowerShell native completion data (TabExpansion2) into the module menu.",
                "When enabled, completions for non-module-managed commands and path completions are also handled by the module menu."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Only module-managed commands use the module menu; other commands keep PowerShell native completion."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "All completion data (including PowerShell native) is displayed by the module menu."
                  ]
                }
              ]
            },
            {
              "name": "enable_path_trailing_separator",
              "tip": [
                "Default: 1",
                "Use path completion with a trailing separator.",
                "C:\\Users\\abgox\\ (With)",
                "C:\\Users\\abgox (Without)"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Path completion without trailing separator."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Add a trailing separator to path completions."
                  ]
                }
              ]
            },
            {
              "name": "enable_sort_by_history",
              "tip": [
                "Default: 1",
                "Sort the completion items dynamically based on command history.",
                "It will read the history file provided by PSReadLine."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Disable dynamic completion sorting."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Sort completion items based on command history."
                  ]
                }
              ]
            },
            {
              "name": "enable_tip",
              "tip": [
                "Default: 1",
                "Show the completion tip."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Hide the completion tip."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Show the completion tip."
                  ]
                }
              ]
            },
            {
              "name": "enable_tip_example",
              "tip": [
                "Default: 1",
                "Show the example section in the completion tip (applies when enable_tip is on)."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Hide the example section."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Show the example section (applies when enable_tip is on)."
                  ]
                }
              ]
            },
            {
              "name": "enable_tip_usage",
              "tip": [
                "Default: 1",
                "Show the usage section in the completion tip (applies when enable_tip is on)."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "Hide the usage section."
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "Default value.",
                    "Show the usage section (applies when enable_tip is on)."
                  ]
                }
              ]
            },
            {
              "name": "filter_mode",
              "tip": [
                "Set the matching mode of the filter in the module completion menu."
              ],
              "example": [
                {
                  "cmd": "\"subsequence\"",
                  "desc": "characters match in order, not necessarily contiguously; every char is literal ('^' anchors the first char)."
                },
                {
                  "cmd": "\"wildcard\"",
                  "desc": "(Default) '*' matches any characters, '**' a literal asterisk; a leading '*' switches to subsequence; '^' anchors the whole pattern."
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "subsequence",
                  "tip": [
                    "Characters match in order, non-contiguously; '^' anchors the first char."
                  ]
                },
                {
                  "name": "wildcard",
                  "tip": [
                    "Default value.",
                    "'*' matches any characters; '**' is a literal asterisk; leading '*' forces subsequence; '^' anchors the whole pattern."
                  ]
                }
              ]
            },
            {
              "name": "show_mode",
              "tip": [
                "Set the display mode of the completion menu.",
                "Non-Windows has no inline rendering: it always falls back to the alternate screen."
              ],
              "example": [
                {
                  "cmd": "auto",
                  "desc": "(Default) follows the input line; picks inline (main buffer) or the alternate screen automatically."
                },
                {
                  "cmd": "inline-follow",
                  "desc": "follows the input line, always rendered inline in the main buffer."
                },
                {
                  "cmd": "altscreen-follow",
                  "desc": "follows the input line, always rendered on the alternate screen."
                },
                {
                  "cmd": "altscreen-top",
                  "desc": "pins to the top, always rendered on the alternate screen."
                },
                {
                  "cmd": "altscreen-bottom",
                  "desc": "pins to the bottom, always rendered on the alternate screen."
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"altscreen-bottom\"",
                  "tip": [
                    "Rendered on the alternate screen, pinned to the bottom."
                  ]
                },
                {
                  "name": "\"altscreen-follow\"",
                  "tip": [
                    "Follows the input line on the alternate screen, flipping above when there is more room above."
                  ]
                },
                {
                  "name": "\"altscreen-top\"",
                  "tip": [
                    "Rendered on the alternate screen, pinned to the top."
                  ]
                },
                {
                  "name": "\"auto\"",
                  "tip": [
                    "Default.",
                    "Follows the input line; renders inline (main buffer) below when there is room, else flips onto the alternate screen."
                  ]
                },
                {
                  "name": "\"inline-follow\"",
                  "tip": [
                    "Follows the input line, always rendered inline in the main buffer.",
                    "Inlining can cause redraw differences with non-standard colors or special characters, due to the host's limited redraw support."
                  ]
                }
              ]
            },
            {
              "name": "trigger_key",
              "tip": [
                "Default: \"Tab\"",
                "Setting the key that triggers the completion menu.",
                "It will use Set-PSReadLineKeyHandler to bind the key."
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "Reset this config key to its default."
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"_\""
                },
                {
                  "name": "\"-\""
                },
                {
                  "name": "\",\""
                },
                {
                  "name": "\";\""
                },
                {
                  "name": "\":\""
                },
                {
                  "name": "\"!\""
                },
                {
                  "name": "\"?\""
                },
                {
                  "name": "\".\""
                },
                {
                  "name": "\"'\""
                },
                {
                  "name": "\"\"\""
                },
                {
                  "name": "\"(\""
                },
                {
                  "name": "\")\""
                },
                {
                  "name": "\"[\""
                },
                {
                  "name": "\"]\""
                },
                {
                  "name": "\"{\""
                },
                {
                  "name": "\"}\""
                },
                {
                  "name": "\"@\""
                },
                {
                  "name": "\"*\""
                },
                {
                  "name": "\"/\""
                },
                {
                  "name": "\"\\\""
                },
                {
                  "name": "\"&\""
                },
                {
                  "name": "\"#\""
                },
                {
                  "name": "\"%\""
                },
                {
                  "name": "\"`\""
                },
                {
                  "name": "\"^\""
                },
                {
                  "name": "\"+\""
                },
                {
                  "name": "\"<\""
                },
                {
                  "name": "\"=\""
                },
                {
                  "name": "\">\""
                },
                {
                  "name": "\"|\""
                },
                {
                  "name": "\"~\""
                },
                {
                  "name": "\"$\""
                },
                {
                  "name": "\"0\""
                },
                {
                  "name": "\"1\""
                },
                {
                  "name": "\"2\""
                },
                {
                  "name": "\"3\""
                },
                {
                  "name": "\"4\""
                },
                {
                  "name": "\"5\""
                },
                {
                  "name": "\"6\""
                },
                {
                  "name": "\"7\""
                },
                {
                  "name": "\"8\""
                },
                {
                  "name": "\"9\""
                },
                {
                  "name": "\"a\""
                },
                {
                  "name": "\"A\""
                },
                {
                  "name": "\"Alt+_\""
                },
                {
                  "name": "\"Alt+-\""
                },
                {
                  "name": "\"Alt+?\""
                },
                {
                  "name": "\"Alt+.\""
                },
                {
                  "name": "\"Alt+<\""
                },
                {
                  "name": "\"Alt+=\""
                },
                {
                  "name": "\"Alt+>\""
                },
                {
                  "name": "\"Alt+0\""
                },
                {
                  "name": "\"Alt+1\""
                },
                {
                  "name": "\"Alt+2\""
                },
                {
                  "name": "\"Alt+3\""
                },
                {
                  "name": "\"Alt+4\""
                },
                {
                  "name": "\"Alt+5\""
                },
                {
                  "name": "\"Alt+6\""
                },
                {
                  "name": "\"Alt+7\""
                },
                {
                  "name": "\"Alt+8\""
                },
                {
                  "name": "\"Alt+9\""
                },
                {
                  "name": "\"Alt+a\""
                },
                {
                  "name": "\"Alt+b\""
                },
                {
                  "name": "\"Alt+B\""
                },
                {
                  "name": "\"Alt+Backspace\""
                },
                {
                  "name": "\"Alt+c\""
                },
                {
                  "name": "\"Alt+d\""
                },
                {
                  "name": "\"Alt+e\""
                },
                {
                  "name": "\"Alt+f\""
                },
                {
                  "name": "\"Alt+F\""
                },
                {
                  "name": "\"Alt+F1\""
                },
                {
                  "name": "\"Alt+F2\""
                },
                {
                  "name": "\"Alt+F3\""
                },
                {
                  "name": "\"Alt+F4\""
                },
                {
                  "name": "\"Alt+F5\""
                },
                {
                  "name": "\"Alt+F6\""
                },
                {
                  "name": "\"Alt+F7\""
                },
                {
                  "name": "\"Alt+F8\""
                },
                {
                  "name": "\"Alt+F9\""
                },
                {
                  "name": "\"Alt+g\""
                },
                {
                  "name": "\"Alt+h\""
                },
                {
                  "name": "\"Alt+i\""
                },
                {
                  "name": "\"Alt+j\""
                },
                {
                  "name": "\"Alt+k\""
                },
                {
                  "name": "\"Alt+l\""
                },
                {
                  "name": "\"Alt+m\""
                },
                {
                  "name": "\"Alt+n\""
                },
                {
                  "name": "\"Alt+o\""
                },
                {
                  "name": "\"Alt+p\""
                },
                {
                  "name": "\"Alt+q\""
                },
                {
                  "name": "\"Alt+r\""
                },
                {
                  "name": "\"Alt+s\""
                },
                {
                  "name": "\"Alt+Spacebar\""
                },
                {
                  "name": "\"Alt+t\""
                },
                {
                  "name": "\"Alt+u\""
                },
                {
                  "name": "\"Alt+v\""
                },
                {
                  "name": "\"Alt+w\""
                },
                {
                  "name": "\"Alt+x\""
                },
                {
                  "name": "\"Alt+y\""
                },
                {
                  "name": "\"Alt+z\""
                },
                {
                  "name": "\"b\""
                },
                {
                  "name": "\"B\""
                },
                {
                  "name": "\"Backspace\""
                },
                {
                  "name": "\"c\""
                },
                {
                  "name": "\"C\""
                },
                {
                  "name": "\"Ctrl+_\""
                },
                {
                  "name": "\"Ctrl+[\""
                },
                {
                  "name": "\"Ctrl+]\""
                },
                {
                  "name": "\"Ctrl+@\""
                },
                {
                  "name": "\"Ctrl+\\\""
                },
                {
                  "name": "\"Ctrl+^\""
                },
                {
                  "name": "\"Ctrl+a\""
                },
                {
                  "name": "\"Ctrl+Alt+?\""
                },
                {
                  "name": "\"Ctrl+Alt+]\""
                },
                {
                  "name": "\"Ctrl+Alt+y\""
                },
                {
                  "name": "\"Ctrl+b\""
                },
                {
                  "name": "\"Ctrl+Backspace\""
                },
                {
                  "name": "\"Ctrl+c\""
                },
                {
                  "name": "\"Ctrl+C\""
                },
                {
                  "name": "\"Ctrl+d\""
                },
                {
                  "name": "\"Ctrl+Delete\""
                },
                {
                  "name": "\"Ctrl+e\""
                },
                {
                  "name": "\"Ctrl+End\""
                },
                {
                  "name": "\"Ctrl+Enter\""
                },
                {
                  "name": "\"Ctrl+f\""
                },
                {
                  "name": "\"Ctrl+g\""
                },
                {
                  "name": "\"Ctrl+h\""
                },
                {
                  "name": "\"Ctrl+Home\""
                },
                {
                  "name": "\"Ctrl+i\""
                },
                {
                  "name": "\"Ctrl+j\""
                },
                {
                  "name": "\"Ctrl+k\""
                },
                {
                  "name": "\"Ctrl+l\""
                },
                {
                  "name": "\"Ctrl+LeftArrow\""
                },
                {
                  "name": "\"Ctrl+m\""
                },
                {
                  "name": "\"Ctrl+n\""
                },
                {
                  "name": "\"Ctrl+o\""
                },
                {
                  "name": "\"Ctrl+p\""
                },
                {
                  "name": "\"Ctrl+PageDown\""
                },
                {
                  "name": "\"Ctrl+PageUp\""
                },
                {
                  "name": "\"Ctrl+q\""
                },
                {
                  "name": "\"Ctrl+r\""
                },
                {
                  "name": "\"Ctrl+RightArrow\""
                },
                {
                  "name": "\"Ctrl+s\""
                },
                {
                  "name": "\"Ctrl+Shift+Enter\""
                },
                {
                  "name": "\"Ctrl+Shift+LeftArrow\""
                },
                {
                  "name": "\"Ctrl+Shift+RightArrow\""
                },
                {
                  "name": "\"Ctrl+Spacebar\""
                },
                {
                  "name": "\"Ctrl+t\""
                },
                {
                  "name": "\"Ctrl+u\""
                },
                {
                  "name": "\"Ctrl+v\""
                },
                {
                  "name": "\"Ctrl+w\""
                },
                {
                  "name": "\"Ctrl+x\""
                },
                {
                  "name": "\"Ctrl+y\""
                },
                {
                  "name": "\"Ctrl+z\""
                },
                {
                  "name": "\"d\""
                },
                {
                  "name": "\"D\""
                },
                {
                  "name": "\"Delete\""
                },
                {
                  "name": "\"DownArrow\""
                },
                {
                  "name": "\"e\""
                },
                {
                  "name": "\"E\""
                },
                {
                  "name": "\"End\""
                },
                {
                  "name": "\"Enter\""
                },
                {
                  "name": "\"Escape\""
                },
                {
                  "name": "\"f\""
                },
                {
                  "name": "\"F\""
                },
                {
                  "name": "\"F1\""
                },
                {
                  "name": "\"F2\""
                },
                {
                  "name": "\"F3\""
                },
                {
                  "name": "\"F4\""
                },
                {
                  "name": "\"F5\""
                },
                {
                  "name": "\"F6\""
                },
                {
                  "name": "\"F7\""
                },
                {
                  "name": "\"F8\""
                },
                {
                  "name": "\"F9\""
                },
                {
                  "name": "\"g\""
                },
                {
                  "name": "\"G\""
                },
                {
                  "name": "\"h\""
                },
                {
                  "name": "\"H\""
                },
                {
                  "name": "\"Home\""
                },
                {
                  "name": "\"i\""
                },
                {
                  "name": "\"I\""
                },
                {
                  "name": "\"j\""
                },
                {
                  "name": "\"J\""
                },
                {
                  "name": "\"k\""
                },
                {
                  "name": "\"K\""
                },
                {
                  "name": "\"l\""
                },
                {
                  "name": "\"L\""
                },
                {
                  "name": "\"LeftArrow\""
                },
                {
                  "name": "\"m\""
                },
                {
                  "name": "\"M\""
                },
                {
                  "name": "\"n\""
                },
                {
                  "name": "\"N\""
                },
                {
                  "name": "\"o\""
                },
                {
                  "name": "\"O\""
                },
                {
                  "name": "\"p\""
                },
                {
                  "name": "\"P\""
                },
                {
                  "name": "\"PageDown\""
                },
                {
                  "name": "\"PageUp\""
                },
                {
                  "name": "\"q\""
                },
                {
                  "name": "\"Q\""
                },
                {
                  "name": "\"r\""
                },
                {
                  "name": "\"R\""
                },
                {
                  "name": "\"RightArrow\""
                },
                {
                  "name": "\"s\""
                },
                {
                  "name": "\"S\""
                },
                {
                  "name": "\"Shift+DownArrow\""
                },
                {
                  "name": "\"Shift+End\""
                },
                {
                  "name": "\"Shift+Enter\""
                },
                {
                  "name": "\"Shift+F3\""
                },
                {
                  "name": "\"Shift+F8\""
                },
                {
                  "name": "\"Shift+Home\""
                },
                {
                  "name": "\"Shift+Insert\""
                },
                {
                  "name": "\"Shift+LeftArrow\""
                },
                {
                  "name": "\"Shift+PageDown\""
                },
                {
                  "name": "\"Shift+PageUp\""
                },
                {
                  "name": "\"Shift+RightArrow\""
                },
                {
                  "name": "\"Shift+Tab\""
                },
                {
                  "name": "\"Shift+UpArrow\""
                },
                {
                  "name": "\"Spacebar\""
                },
                {
                  "name": "\"t\""
                },
                {
                  "name": "\"T\""
                },
                {
                  "name": "\"Tab\"",
                  "tip": [
                    "Default.",
                    "Set to Tab key"
                  ]
                },
                {
                  "name": "\"u\""
                },
                {
                  "name": "\"U\""
                },
                {
                  "name": "\"UpArrow\""
                },
                {
                  "name": "\"v\""
                },
                {
                  "name": "\"V\""
                },
                {
                  "name": "\"w\""
                },
                {
                  "name": "\"W\""
                },
                {
                  "name": "\"x\""
                },
                {
                  "name": "\"X\""
                },
                {
                  "name": "\"y\""
                },
                {
                  "name": "\"Y\""
                },
                {
                  "name": "\"z\""
                },
                {
                  "name": "\"Z\""
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "info",
      "tip": [
        "Get completion information. (one or more)"
      ],
      "example": [
        {
          "cmd": "psc info git",
          "desc": "Get the information of git"
        },
        {
          "cmd": "psc info git scoop",
          "desc": "Get the information of git and scoop"
        }
      ]
    },
    {
      "name": "list",
      "tip": [
        "Display the completions that have been added."
      ],
      "example": [
        {
          "cmd": "psc list",
          "desc": "Display a list of locally installed completions"
        }
      ]
    },
    {
      "name": "rm",
      "tip": [
        "Remove completion. (one or more)"
      ],
      "example": [
        {
          "cmd": "psc rm git",
          "desc": "Remove git"
        },
        {
          "cmd": "psc rm git scoop",
          "desc": "Remove git and scoop"
        },
        {
          "cmd": "psc rm --all",
          "desc": "Remove all completions (psc will be re-added automatically)"
        }
      ],
      "option": [
        {
          "name": "--all",
          "tip": [
            "Remove all completions.",
            "Note: psc will be automatically re-added after removing."
          ]
        }
      ]
    },
    {
      "name": "update",
      "tip": [
        "Update completion. (one or more)"
      ],
      "example": [
        {
          "cmd": "psc update",
          "desc": "Check for updates"
        },
        {
          "cmd": "psc update --old",
          "desc": "Update all out-of-date completions"
        },
        {
          "cmd": "psc update --all",
          "desc": "Update all completions"
        },
        {
          "cmd": "psc update psc",
          "desc": "Update psc"
        },
        {
          "cmd": "psc update git jj",
          "desc": "Update git, jj"
        }
      ],
      "option": [
        {
          "name": "--all",
          "tip": [
            "Update all completions, even if already up to date."
          ]
        },
        {
          "name": "--old",
          "tip": [
            "Update only the out-of-date completions."
          ]
        }
      ]
    }
  ],
  "option": [
    {
      "name": "--reset",
      "tip": [
        "Delete all module data (completions, configs) and reinitialize.",
        "An interactive confirmation is required before anything is deleted."
      ]
    }
  ],
  "info": {
    "add": {
      "all_confirm": [
        "<@Yellow>Add all available completions, are you sure?\n",
        "<@Yellow>It's recommended to add as needed rather than adding all completions.\n",
        "<@Yellow>Press <@Magenta>Enter<@Yellow> key to continue or <@Magenta>other key<@Yellow> to cancel!"
      ],
      "done": [
        "<@Cyan>[Add Completion]\n",
        "<@Magenta>{{ $completion }}\n",
        "<@Cyan>[Trigger Alias]\n",
        "{{",
        "$alias = if ($config.alias) { $config.alias }else { @($completion) };",
        "$out = $alias | ForEach-Object { if($_ -in $conflict_alias){ '<@Magenta>' + $_+ ' <@Yellow>(It already exists. Please handle the conflict manually.)<@Magenta>' } else { '<@Magenta>' + $_ } };",
        "$out -join \"`n\";",
        "\"`n<@Cyan>[Special Configuration]\";",
        "if($json.config -or $config.hooks -ne $null){",
        "$configList = @();",
        "if($config.hooks -ne $null){",
        " $configList += @{name='enable_hooks';value=[int]$config.hooks;tip=$PSCompletions.info.completion.enable_hooks.tip -join '' -split \"`n\"};",
        "};",
        "if($json.config){ $configList += $json.config; };",
        " $config_list = $configList | ForEach-Object {",
        " '';",
        " \"<@Magenta>$($PSCompletions.wrap_whitespace($_.name))<@Blue>:\";",
        " 'Default Value: ' + $PSCompletions.wrap_whitespace($_.value);",
        " $v = $PSCompletions.config.completion[$completion].($_.name);",
        " if ($v -ne $null){ 'Current Value: <@Magenta>' + $PSCompletions.wrap_whitespace($v) + '<@Blue>'; }",
        " $PSCompletions.replace_content($_.tip, \"`n\")",
        " };",
        " $config_list -join \"`n\";",
        "} else { \"`n<@Yellow>None\" };",
        "\"`n<@Blue>----------------------------------\";",
        "}}"
      ]
    },
    "alias": {
      "add": {
        "err": {
          "cmd_exist": "<@Red>Trigger alias <@Magenta>{{ $alias }}<@Red> is invalid, <@Magenta>{{ $alias }}<@Magenta><@Red> already exists, please set other alias."
        },
        "tip": [
          "{{ \"Current trigger aliases: $($PSCompletions.data.alias.$completion -join ' ')\" }}\n",
          "Add one or more trigger aliases for {{ $completion }}."
        ]
      },
      "rm": {
        "tip_v": [
          "Remove this trigger alias."
        ]
      }
    },
    "completion": {
      "enable_hooks": {
        "tip": [
          "The hooks will parse or generate some completion data and add them dynamically."
        ]
      },
      "enable_tip": {
        "tip": [
          "Set whether to display completion tip for {{ $completion }}."
        ]
      },
      "enable_tip_example": {
        "tip": [
          "Set whether to display the example section in the completion tip for {{ $completion }} (applies when enable_tip is on)."
        ]
      },
      "enable_tip_usage": {
        "tip": [
          "Set whether to display the usage section in the completion tip for {{ $completion }} (applies when enable_tip is on)."
        ]
      },
      "language": {
        "tip": [
          "Set the language of {{ $completion }}."
        ],
        "tip_v": "Set language to {{ $language }}."
      },
      "reset_manifest": [
        "Restore this config key to the default defined in the completion's manifest."
      ],
      "reset_name": [
        "Remove this completion's special config overrides so it follows the global settings again.",
        "(Keys that declare a manifest default are restored to those defaults instead.)"
      ],
      "reset_special": [
        "Remove this special config override so the completion follows the global setting again."
      ]
    },
    "confirm_cancel": "<@Green>The operation has been canceled.",
    "description": [
      "<@Cyan>[Module Description]\n",
      "<@Blue>PSCompletions(<@Magenta>psc<@Cyan>) - A completion manager for a better and simpler tab-completion experience in PowerShell\n",
      "\n",
      "<@Cyan>[Module Version]\n",
      "<@Magenta>{{ $PSCompletions.version }}<@Cyan>\n",
      "\n",
      "<@Cyan>[Module Changelog]\n",
      "GitHub: <@Blue>https://github.com/abgox/PSCompletions/blob/main/module/CHANGELOG.md<@Cyan>\n",
      "Gitee : <@Blue>https://gitee.com/abgox/PSCompletions/blob/main/module/CHANGELOG.md<@Cyan>\n",
      "\n",
      "<@Cyan>[Module Usage]\n",
      "Enter <@Magenta>psc<@Cyan>, press <@Magenta>Space<@Cyan> and <@Magenta>Tab<@Cyan> key, you will quickly learn all usages by reading the completion tip.\n",
      "Run <@Magenta>psc<@Cyan> will display this page content again and reload the module's key bindings and data.\n",
      "\n",
      "<@Cyan>[Module Completion Menu]\n",
      "<@Blue>PSCompletions<@Cyan> provides a powerful module completion menu, built with Rust + Lua.\n",
      "\n",
      "You can enter to filter the list. Matching is wildcard by default (case-insensitive)\n",
      " - Plain text matches items containing it: <@Magenta>co<@Cyan> finds <@Magenta>config<@Cyan>, <@Magenta>completion<@Cyan>, ...\n",
      " - <@Magenta>*<@Cyan> matches any number of characters: <@Magenta>a*d<@Cyan> finds <@Magenta>add<@Cyan>, <@Magenta>and<@Cyan>, ...\n",
      " - A leading <@Magenta>^<@Cyan> matches from the start: <@Magenta>^add<@Cyan> only finds items beginning with <@Magenta>add<@Cyan>.\n",
      " - A leading <@Magenta>*<@Cyan> switches to subsequence matching (chars in order, not necessarily adjacent): <@Magenta>*vscode<@Cyan> finds <@Magenta>Visual Studio Code<@Cyan>.\n",
      " - <@Magenta>**<@Cyan> self-escapes to match a literal asterisk.\n",
      "To make subsequence the default instead: <@Magenta>psc config menu filter_mode subsequence<@Cyan>",
      "\n",
      "\n",
      "Key Bindings:\n",
      " - Select previous completion item: <@Magenta>Up<@Cyan> | <@Magenta>Shift + Tab<@Cyan> | <@Magenta>Ctrl + u<@Cyan> | <@Magenta>Ctrl + p<@Cyan> | <@Magenta>Ctrl + k<@Cyan>\n",
      " - Select next completion item: <@Magenta>Down<@Cyan> | <@Magenta>Tab<@Cyan> | <@Magenta>Ctrl + d<@Cyan> | <@Magenta>Ctrl + n<@Cyan> | <@Magenta>Ctrl + j<@Cyan>\n",
      " - Apply the selected completion item: <@Magenta>Space<@Cyan> | <@Magenta>Enter<@Cyan>\n",
      " - You can also use <@Magenta>Tab<@Cyan> when there's only one completion.\n",
      " - Move the cursor in the filter area: <@Magenta>Left<@Cyan> | <@Magenta>Right<@Cyan> | <@Magenta>Home<@Cyan> | <@Magenta>End<@Cyan>\n",
      " - Delete a filter character: <@Magenta>Backspace<@Cyan> (before the cursor) | <@Magenta>Delete<@Cyan> (after the cursor)\n",
      " - Exit the module completion menu: <@Magenta>Esc<@Cyan> | <@Magenta>Ctrl + c<@Cyan>\n",
      " - You can also use <@Magenta>Backspace<@Cyan> or <@Magenta>Delete<@Cyan> when there're no characters in the filter area.\n",
      "\n",
      "Mouse Bindings:\n",
      " - Scroll wheel: switch the selected item.\n",
      " - Left click: select the item under the cursor.\n",
      " - Double click: apply the selected item.\n",
      "\n",
      "Path Completions:\n",
      " - Use path identifiers to explicitly get path completions: <@Magenta>/<@Cyan> <@Magenta>./<@Cyan> <@Magenta>../<@Cyan> <@Magenta>~/<@Cyan> | <@Magenta>\\<@Cyan> <@Magenta>.\\<@Cyan> <@Magenta>..\\<@Cyan> <@Magenta>~\\<@Cyan>\n",
      " - Refer to: <@Blue>https://pscompletions.abgox.com/docs/path-completion<@Cyan>\n",
      "\n",
      "<@Cyan>[Global Name]\n",
      "<@Blue>PSCompletions<@Cyan> will take up two global names. <@Yellow>They are read-only, and you should not modify or override them.<@Cyan>\n",
      " <@Magenta>PSCompletions<@Cyan>: A function name. The core function of the module export. <@Magenta>psc<@Cyan> is its default alias.\n",
      " <@Magenta>$PSCompletions<@Cyan>: A variable name. Save all data related to the module.\n",
      "\n",
      "<@Cyan>[Other Content]\n",
      "Website : <@Blue>https://pscompletions.abgox.com<@Cyan>\n",
      "GitHub : <@Blue>https://github.com/abgox/PSCompletions<@Cyan>\n",
      "Gitee : <@Blue>https://gitee.com/abgox/PSCompletions<@Cyan>\n",
      "\n",
      "If <@Blue>PSCompletions<@Cyan> is helpful to you, please consider giving it a <@Yellow>Star<@Cyan>.",
      "\n"
    ],
    "filter_hint": "Type to filter...",
    "menu": {
      "config": {
        "err": {
          "trigger_key": "<@Red>It isn't a valid trigger key."
        }
      }
    },
    "min_area": "# The area is too small!",
    "module": {
      "update": [
        "\n",
        "<@Cyan>[Module Update]\n",
        "<@Blue>PSCompletions: <@Magenta>{{ $PSCompletions.version }} <@Cyan>=> <@Magenta>{{ $PSCompletions.new_version }}\n",
        "\n",
        "<@Cyan>[Module Changelog]\n",
        "GitHub: <@Blue>https://github.com/abgox/PSCompletions/blob/main/module/CHANGELOG.md<@Cyan>\n",
        "Gitee : <@Blue>https://gitee.com/abgox/PSCompletions/blob/main/module/CHANGELOG.md<@Cyan>\n",
        "\n",
        "<@Cyan>[Update Command]\n",
        "<@Magenta>Update-Module PSCompletions\n",
        "Update-PSResource PSCompletions\n",
        "scoop update abgox.PSCompletions\n",
        "scoop update pscompletions\n"
      ]
    },
    "param_err": "<@Red>Parameter error.",
    "param_max": "<@Red>Too many parameters.",
    "param_min": "<@Red>Too few parameters.",
    "reset": {
      "init_confirm": [
        "<@Yellow>Reset the PSCompletions module, are you sure?\n",
        "<@Red>It will delete everything except the module source code.\n",
        "<@Yellow>Press <@Magenta>Enter<@Yellow> key to continue or <@Magenta>other key<@Yellow> to cancel!"
      ],
      "init_done": [
        "<@Green>PSCompletions module was reset successfully!\n",
        "Initializing the module..."
      ]
    },
    "rm": {
      "all_confirm": [
        "<@Yellow>Remove all completions, are you sure?\n",
        "<@Yellow>psc will be re-added automatically after removal.\n",
        "<@Yellow>Press <@Magenta>Enter<@Yellow> key to continue or <@Magenta>other key<@Yellow> to cancel!"
      ],
      "done": "<@Green>Completion <@Magenta>{{ $completion }}<@Green> has been removed."
    },
    "set_value": "Set to {{ $value }}.",
    "update": {
      "done": [
        "<@Cyan>[Update Completion]\n",
        "<@Magenta>{{ $completion }}\n",
        "<@Cyan>[Trigger Alias]\n",
        "{{",
        "$alias = if ($config.alias) { $config.alias }else { @($completion) };",
        "$out = $alias | ForEach-Object { if($_ -in $conflict_alias){ '<@Magenta>' + $_+ ' <@Yellow>(It already exists. Please handle the conflict manually.)<@Magenta>' } else { '<@Magenta>' + $_ } };",
        "$out -join \"`n\";",
        "\"`n<@Cyan>[Special Configuration]\";",
        "if($json.config -or $config.hooks -ne $null){",
        "$configList = @();",
        "if($config.hooks -ne $null){",
        " $configList += @{name='enable_hooks';value=[int]$config.hooks;tip=$PSCompletions.info.completion.enable_hooks.tip -join '' -split \"`n\"};",
        "};",
        "if($json.config){ $configList += $json.config; };",
        " $config_list = $configList | ForEach-Object {",
        " '';",
        " \"<@Magenta>$($PSCompletions.wrap_whitespace($_.name))<@Blue>:\";",
        " 'Default Value: ' + $PSCompletions.wrap_whitespace($_.value);",
        " $v = $PSCompletions.config.completion[$completion].($_.name);",
        " if ($v -ne $null){ 'Current Value: <@Magenta>' + $PSCompletions.wrap_whitespace($v) + '<@Blue>'; }",
        " $PSCompletions.replace_content($_.tip, \"`n\")",
        " };",
        " $config_list -join \"`n\";",
        "} else { \"`n<@Yellow>None\" };",
        "\"`n<@Blue>----------------------------------\";",
        "}}"
      ],
      "no": "<@Green>All completions are up to date!",
      "skip": "<@Yellow>{{ $completion }} is a locally linked completion, update skipped."
    },
    "update_info": [
      "<@Cyan>PSCompletions has updated the completion library:\n",
      "{{",
      "$change=$PSCompletions.get_content($PSCompletions.path.change);",
      "$add=@();",
      "$rm=@();",
      "$change | ForEach-Object{ if($_ -in $PSCompletions.list){ $add += $_ }else{ $rm += $_ } };",
      "if($rm){ \"Delete: <@Magenta>$($rm)<@Cyan>`n\" };",
      "if($add){ \"Add: <@Magenta>$($add)<@Cyan>`nUse <@Magenta>psc add <completion><@Cyan> to add.`n`n\" };",
      "if($PSCompletions.update){ \"Update: <@Magenta>$($PSCompletions.update)<@Cyan>`nUse <@Magenta>psc update --old<@Cyan> to update.`n\" };",
      "}}"
    ]
  }
}