completions/psc/language/zh-CN.json

{
  "meta": {
    "url": "https://pscompletions.abgox.com",
    "description": [
      "PSCompletions 模块的补全。"
    ]
  },
  "next": [
    {
      "name": "add",
      "tip": [
        "添加补全(一个或多个)。"
      ],
      "example": [
        {
          "cmd": "psc add git",
          "desc": "添加 git 补全"
        },
        {
          "cmd": "psc add git scoop",
          "desc": "添加 git 和 scoop 补全"
        }
      ],
      "option": [
        {
          "name": "--all",
          "tip": [
            "添加所有的补全。",
            "注意:添加所有补全可能会导致 PowerShell 启动加载速度变慢。",
            " 推荐按需添加,而不是添加所有补全。"
          ]
        }
      ]
    },
    {
      "name": "alias",
      "tip": [
        "管理补全的触发别名。"
      ],
      "example": [
        {
          "cmd": "psc alias",
          "desc": "列出所有触发别名"
        },
        {
          "cmd": "psc alias add git g gi",
          "desc": "为 git 添加 g 和 gi 这两个触发别名"
        },
        {
          "cmd": "psc alias rm git g gi",
          "desc": "移除 git 的 g 和 gi 这两个触发别名"
        },
        {
          "cmd": "psc alias --reset",
          "desc": "从 config.json 恢复所有触发别名"
        }
      ],
      "option": [
        {
          "name": "--reset",
          "tip": [
            "从 config.json 重置所有触发别名。"
          ]
        }
      ],
      "next": [
        {
          "name": "add",
          "tip": [
            "添加补全的触发别名(一个或多个)。"
          ],
          "example": [
            {
              "cmd": "psc alias add git g gi",
              "desc": "为 git 添加 g 和 gi 这两个触发别名"
            },
            {
              "cmd": "psc alias add scoop scoop.ps1",
              "desc": "为 scoop 添加 scoop.ps1 这个触发别名"
            }
          ]
        },
        {
          "name": "rm",
          "tip": [
            "删除补全的触发别名(一个或多个)。"
          ],
          "example": [
            {
              "cmd": "psc alias rm git g gi",
              "desc": "为 git 删除 g 和 gi 这两个触发别名"
            },
            {
              "cmd": "psc alias rm scoop scoop.ps1",
              "desc": "为 scoop 删除 scoop.ps1 这个触发别名"
            }
          ]
        }
      ]
    },
    {
      "name": "completion",
      "tip": [
        "指定某个补全的特殊配置。",
        "每个补全默认带有多个特殊配置: language | enable_tip | enable_tip_usage | enable_tip_example"
      ],
      "example": [
        {
          "cmd": "psc completion git",
          "desc": "返回 git 所有特殊配置的当前值"
        },
        {
          "cmd": "psc completion git enable_tip",
          "desc": "返回 git 特殊配置的当前值"
        },
        {
          "cmd": "psc completion git enable_tip 0",
          "desc": "单独设置 git 不显示补全提示信息"
        },
        {
          "cmd": "psc completion git enable_tip_example 0",
          "desc": "单独设置 git 不显示示例部分"
        },
        {
          "cmd": "psc completion git enable_hooks 0",
          "desc": "禁用 git 的动态 hooks(hooks 默认是启用的)"
        },
        {
          "cmd": "psc completion git enable_tip --reset",
          "desc": "将单个特殊配置项重置为默认值"
        },
        {
          "cmd": "psc completion git --reset",
          "desc": "重置 git 的所有特殊配置"
        }
      ],
      "option": [
        {
          "name": "--reset",
          "tip": [
            "移除所有补全的特殊配置覆盖,使其重新继承全局设置。",
            "(声明了清单默认值的配置项会恢复为该默认值。)"
          ]
        }
      ]
    },
    {
      "name": "config",
      "tip": [
        "读取/更改模块相关的配置。"
      ],
      "example": [
        {
          "cmd": "psc config language",
          "desc": "获取语言设置"
        },
        {
          "cmd": "psc config language zh-CN",
          "desc": "设置为中文"
        },
        {
          "cmd": "psc config language en-US",
          "desc": "设置为英文"
        },
        {
          "cmd": "psc config --reset",
          "desc": "将所有配置项重置为默认值"
        },
        {
          "cmd": "psc config menu show_mode --reset",
          "desc": "将单个配置项(show_mode)重置为默认值"
        }
      ],
      "option": [
        {
          "name": "--reset",
          "tip": [
            "将所有模块配置项重置为默认值。"
          ]
        }
      ],
      "next": [
        {
          "name": "context",
          "tip": [
            "补全上下文的指示符号。"
          ],
          "option": [
            {
              "name": "--reset",
              "tip": [
                "将补全上下文的指示符号重置为默认值。"
              ]
            }
          ],
          "next": [
            {
              "name": "stay",
              "tip": [
                "默认值: ?",
                "选用后停留在当前上下文的项所显示的符号。"
              ],
              "example": [
                {
                  "cmd": "psc config context stay \"\"",
                  "desc": "设置为空字符串可以隐藏这个符号。"
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "?",
                  "tip": [
                    "默认值。",
                    "设置为 ?"
                  ]
                },
                {
                  "name": "\"\"",
                  "tip": [
                    "设置为 \"\"",
                    "这可以隐藏符号, 但是不建议这样做, 更建议修改为你喜欢的符号。",
                    "因为符号是为了让你能够直观感知到是否可以继续获取补全。"
                  ]
                }
              ]
            },
            {
              "name": "switch",
              "tip": [
                "默认值: ~",
                "选用后切换到新的上下文的项所显示的符号。"
              ],
              "example": [
                {
                  "cmd": "psc config context switch \"\"",
                  "desc": "设置为空字符串可以隐藏这个符号。"
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"\"",
                  "tip": [
                    "设置为 \"\"",
                    "这可以隐藏符号, 但是不建议这样做, 更建议修改为你喜欢的符号。",
                    "因为符号是为了让你能够直观感知到是否可以继续获取补全。"
                  ]
                },
                {
                  "name": "~",
                  "tip": [
                    "默认值。",
                    "设置为 ~"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "core",
          "tip": [
            "工具级设置。"
          ],
          "option": [
            {
              "name": "--reset",
              "tip": [
                "将核心(工具级)配置项重置为默认值。"
              ]
            }
          ],
          "next": [
            {
              "name": "enable_auto_alias_setup",
              "tip": [
                "默认值: 1",
                "自动使用 Set-Alias 添加 psc alias 定义的触发别名"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "禁止通过 Set-Alias 自动设置补全的触发别名。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "通过 Set-Alias 自动设置补全的触发别名。"
                  ]
                }
              ]
            },
            {
              "name": "language",
              "tip": [
                "读取/设置当前配置语言。",
                "配置语言会影响所有添加的补全。",
                "通过 psc completion 单独设置了语言的补全不受影响。",
                "参考: https://pscompletions.abgox.com/docs/language"
              ],
              "next": [
                {
                  "name": "en-US",
                  "tip": [
                    "设置为英文。"
                  ]
                },
                {
                  "name": "zh-CN",
                  "tip": [
                    "设置为中文。"
                  ]
                }
              ]
            },
            {
              "name": "url",
              "tip": [
                "设置补全库的 url。",
                "默认值为 \"\",表示根据语言自动选择仓库(GitHub/Gitee)。"
              ],
              "example": [
                {
                  "cmd": "psc config url",
                  "desc": "获取当前使用的 url"
                },
                {
                  "cmd": "psc config url <url>",
                  "desc": "设置 url 地址"
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"\"",
                  "tip": [
                    "默认值。",
                    "设置为 \"\"",
                    "它表示根据语言自动选择仓库(GitHub/Gitee)。",
                    "中文: https://gitee.com/abgox/PSCompletions/raw/main",
                    "其他: https://github.com/abgox/PSCompletions/raw/main"
                  ]
                },
                {
                  "name": "\"https://gh-proxy.org/https://github.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "使用 GitHub + Proxy 作为补全库"
                  ]
                },
                {
                  "name": "\"https://gh-proxy.org/https://raw.githubusercontent.com/abgox/PSCompletions/main\"",
                  "tip": [
                    "使用 GitHub + Proxy 作为补全库"
                  ]
                },
                {
                  "name": "\"https://gitee.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "使用 Gitee 作为补全库"
                  ]
                },
                {
                  "name": "\"https://github.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "使用 GitHub 作为补全库"
                  ]
                },
                {
                  "name": "\"https://raw.giteeusercontent.com/abgox/PSCompletions/raw/main\"",
                  "tip": [
                    "使用 Gitee 作为补全库"
                  ]
                },
                {
                  "name": "\"https://raw.githubusercontent.com/abgox/PSCompletions/main\"",
                  "tip": [
                    "使用 GitHub 作为补全库"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "menu",
          "tip": [
            "补全菜单设置。"
          ],
          "option": [
            {
              "name": "--reset",
              "tip": [
                "将补全菜单配置项重置为默认值。"
              ]
            }
          ],
          "next": [
            {
              "name": "enable_append_space",
              "tip": [
                "应用补全后追加一个空格。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "不追加空格。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值。",
                    "应用补全后追加一个空格。"
                  ]
                }
              ]
            },
            {
              "name": "enable_apply_when_no_match",
              "tip": [
                "默认值: 0",
                "过滤匹配不到任何补全项时显示一个实心圆,下一个输入会自动应用当前输入内容(无缓冲)。",
                "设置为 0 表示禁用。",
                "注意:外部因素(如 VSCode 点击菜单提示中的文件路径)可能导致杂散序列被自动应用。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "禁用"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "启用:无匹配时显示实心圆,下一个输入自动应用"
                  ]
                }
              ]
            },
            {
              "name": "enable_apply_when_single",
              "tip": [
                "默认值: 0",
                "当候选补全项只有一个时直接选用, 而不是显示模块补全菜单。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "默认值",
                    "只有一个补全项时直接选用,不显示菜单。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "只有一个补全项时直接选用,不显示菜单。"
                  ]
                }
              ]
            },
            {
              "name": "enable_cache",
              "tip": [
                "默认值: 1",
                "缓存补全结果 (10s),以加快再次打开相同菜单的速度。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "禁用结果缓存;每次补全都重新执行。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "缓存构建好的补全结果 10 秒。"
                  ]
                }
              ]
            },
            {
              "name": "enable_list_loop",
              "tip": [
                "默认值: 1",
                "循环显示模块补全菜单的列表。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "禁用补全列表的循环滚动。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "启用补全列表的循环滚动。"
                  ]
                }
              ]
            },
            {
              "name": "enable_native_completion",
              "tip": [
                "默认值: 1",
                "调用并集成 PowerShell 原生补全数据( TabExpansion2 )到模块菜单中展示。",
                "开启后,非模块管理的命令与路径补全也由模块菜单接管。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "仅模块管理的命令使用模块菜单;其他命令保持 PowerShell 原生补全。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "所有补全数据(含 PowerShell 原生)都由模块菜单展示。"
                  ]
                }
              ]
            },
            {
              "name": "enable_path_trailing_separator",
              "tip": [
                "默认值: 1",
                "使用带有末尾分隔符的路径补全",
                "C:\\Users\\abgox\\ (有)",
                "C:\\Users\\abgox (无)"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "路径补全移除尾部分隔符。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "路径补全添加尾部分隔符。"
                  ]
                }
              ]
            },
            {
              "name": "enable_sort_by_history",
              "tip": [
                "默认值: 1",
                "根据命令历史记录动态排序补全列表。",
                "它会读取 PSReadLine 提供的历史记录文件。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "禁用基于命令历史的动态排序。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "根据命令历史对补全项进行排序。"
                  ]
                }
              ]
            },
            {
              "name": "enable_tip",
              "tip": [
                "默认值: 1",
                "显示补全提示信息。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "隐藏补全提示信息。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "显示补全提示信息。"
                  ]
                }
              ]
            },
            {
              "name": "enable_tip_example",
              "tip": [
                "默认值: 1",
                "在补全提示信息中显示示例部分(需启用 enable_tip)。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "隐藏示例部分。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "显示示例部分(需启用 enable_tip)。"
                  ]
                }
              ]
            },
            {
              "name": "enable_tip_usage",
              "tip": [
                "默认值: 1",
                "在补全提示信息中显示用法部分(需启用 enable_tip)。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "0",
                  "tip": [
                    "隐藏用法部分。"
                  ]
                },
                {
                  "name": "1",
                  "tip": [
                    "默认值",
                    "显示用法部分(需启用 enable_tip)。"
                  ]
                }
              ]
            },
            {
              "name": "filter_mode",
              "tip": [
                "设置模块补全菜单过滤区域的匹配模式。"
              ],
              "example": [
                {
                  "cmd": "\"subsequence\"",
                  "desc": "字符按顺序匹配, 不要求连续, 所有字符均为字面量('^' 锚定首个字符)"
                },
                {
                  "cmd": "\"wildcard\"",
                  "desc": "(默认值) '*' 匹配任意字符, '**' 表示字面星号; 开头单个 '*' 切换为子序列; '^' 锚定整个模式"
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "subsequence",
                  "tip": [
                    "字符按顺序非连续匹配; '^' 锚定首个字符。"
                  ]
                },
                {
                  "name": "wildcard",
                  "tip": [
                    "默认值",
                    "'*' 匹配任意字符; '**' 为字面星号; 开头 '*' 强制子序列; '^' 锚定整个模式。"
                  ]
                }
              ]
            },
            {
              "name": "show_mode",
              "tip": [
                "设置补全菜单的显示模式。",
                "非 Windows 平台没有内联渲染(inline),总是会回退为备用屏幕(altscreen)。"
              ],
              "example": [
                {
                  "cmd": "auto",
                  "desc": "(默认值)跟随输入行,自动选择内联(主缓冲)或备用屏幕。"
                },
                {
                  "cmd": "inline-follow",
                  "desc": "跟随输入行,始终内联(主缓冲)显示。"
                },
                {
                  "cmd": "altscreen-follow",
                  "desc": "跟随输入行,始终在备用屏幕上显示。"
                },
                {
                  "cmd": "altscreen-top",
                  "desc": "固定在顶部,始终在备用屏幕上显示。"
                },
                {
                  "cmd": "altscreen-bottom",
                  "desc": "固定在底部,始终在备用屏幕上显示。"
                }
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "next": [
                {
                  "name": "\"altscreen-bottom\"",
                  "tip": [
                    "在备用屏幕上显示,固定在底部。"
                  ]
                },
                {
                  "name": "\"altscreen-follow\"",
                  "tip": [
                    "跟随输入行,在备用屏幕上显示,上方空间更大时在上方翻转显示。"
                  ]
                },
                {
                  "name": "\"altscreen-top\"",
                  "tip": [
                    "在备用屏幕上显示,固定在顶部。"
                  ]
                },
                {
                  "name": "\"auto\"",
                  "tip": [
                    "默认值。",
                    "跟随输入行:下方空间足够时内联(主缓冲)显示,否则在备用屏幕上翻转显示。"
                  ]
                },
                {
                  "name": "\"inline-follow\"",
                  "tip": [
                    "跟随输入行,始终内联(主缓冲)显示。",
                    "受限于 Host 的重绘能力,内联模式可能因非标准的特殊颜色和特殊字符导致缓冲区重绘差异。"
                  ]
                }
              ]
            },
            {
              "name": "trigger_key",
              "tip": [
                "默认值: \"Tab\"",
                "设置触发补全的按键。",
                "它会使用 Set-PSReadLineKeyHandler 进行按键绑定。"
              ],
              "option": [
                {
                  "name": "--reset",
                  "tip": [
                    "将此配置项重置为默认值。"
                  ]
                }
              ],
              "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": [
                    "默认值。",
                    "设置为 Tab"
                  ]
                },
                {
                  "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": [
        "获取补全信息(一个或多个)。"
      ],
      "example": [
        {
          "cmd": "psc info git",
          "desc": "返回 git 补全的相关信息"
        },
        {
          "cmd": "psc info git scoop",
          "desc": "返回 git 和 scoop 补全的相关信息"
        }
      ]
    },
    {
      "name": "list",
      "tip": [
        "显示已经添加的补全。"
      ],
      "example": [
        {
          "cmd": "psc list",
          "desc": "显示本地已安装的补全列表"
        }
      ]
    },
    {
      "name": "rm",
      "tip": [
        "移除补全(一个或多个)。"
      ],
      "example": [
        {
          "cmd": "psc rm git",
          "desc": "移除 git 补全"
        },
        {
          "cmd": "psc rm git scoop",
          "desc": "移除 git 和 scoop 补全"
        },
        {
          "cmd": "psc rm --all",
          "desc": "移除所有补全(psc 会在移除后自动重新添加)"
        }
      ],
      "option": [
        {
          "name": "--all",
          "tip": [
            "移除所有的补全。",
            "注意: psc 作为 PSCompletions 模块的补全,会在移除后自动重新添加。"
          ]
        }
      ]
    },
    {
      "name": "update",
      "tip": [
        "更新补全(一个或多个)。"
      ],
      "example": [
        {
          "cmd": "psc update",
          "desc": "检查更新"
        },
        {
          "cmd": "psc update --old",
          "desc": "更新所有已过时的补全"
        },
        {
          "cmd": "psc update --all",
          "desc": "更新所有补全"
        },
        {
          "cmd": "psc update psc",
          "desc": "更新 psc 补全"
        },
        {
          "cmd": "psc update git jj",
          "desc": "更新 git、jj 补全"
        }
      ],
      "option": [
        {
          "name": "--all",
          "tip": [
            "更新所有补全,即使已是最新。"
          ]
        },
        {
          "name": "--old",
          "tip": [
            "只更新已过时的补全。"
          ]
        }
      ]
    }
  ],
  "option": [
    {
      "name": "--reset",
      "tip": [
        "删除所有模块数据(补全、配置等)并重新初始化。",
        "执行前会先进行交互式确认。"
      ]
    }
  ],
  "info": {
    "add": {
      "all_confirm": [
        "<@Yellow>确定要添加全部可用补全吗?\n",
        "<@Yellow>推荐按需添加,而不是一次性添加全部补全。\n",
        "<@Yellow>按 <@Magenta>Enter<@Yellow> 键继续,或按 <@Magenta>其他键<@Yellow> 取消!"
      ],
      "done": [
        "<@Cyan>[添加补全]\n",
        "<@Magenta>{{ $completion }}\n",
        "<@Cyan>[触发别名]\n",
        "{{",
        "$alias = if ($config.alias) { $config.alias }else { @($completion) };",
        "$out = $alias | ForEach-Object { if($_ -in $conflict_alias){ '<@Magenta>' + $_+ ' <@Yellow>(命令已存在,请手动处理冲突)<@Magenta>' } else { '<@Magenta>' + $_ } };",
        "$out -join \"`n\";",
        "\"`n<@Cyan>[特殊配置]\";",
        "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>:\";",
        " '默认值: ' + $PSCompletions.wrap_whitespace($_.value);",
        " $v = $PSCompletions.config.completion[$completion].($_.name);",
        " if ($v -ne $null){ '当前值: <@Magenta>' + $PSCompletions.wrap_whitespace($v) + '<@Blue>'; }",
        " $PSCompletions.replace_content($_.tip, \"`n\")",
        " };",
        " $config_list -join \"`n\";",
        "} else { \"`n<@Yellow>无\" };",
        "\"`n<@Blue>----------------------------------\";",
        "}}"
      ]
    },
    "alias": {
      "add": {
        "err": {
          "cmd_exist": "<@Red>触发别名 <@Magenta>{{ $alias }}<@Red> 不可用, 因为 <@Magenta>{{ $alias }}<@Magenta><@Red> 是已存在的命令, 请设置其他触发别名"
        },
        "tip": [
          "{{ \"当前触发别名列表: $($PSCompletions.data.alias.$completion -join ' ')\" }}\n",
          "为 {{ $completion }} 添加一个或多个触发别名"
        ]
      },
      "rm": {
        "tip_v": [
          "移除此触发别名。"
        ]
      }
    },
    "completion": {
      "enable_hooks": {
        "tip": [
          "hooks 将解析或生成补全数据,然后动态添加到命令补全中。"
        ]
      },
      "enable_tip": {
        "tip": [
          "设置 {{ $completion }} 是否显示补全提示信息"
        ]
      },
      "enable_tip_example": {
        "tip": [
          "设置 {{ $completion }} 的补全提示信息中是否显示示例部分(需启用 enable_tip)"
        ]
      },
      "enable_tip_usage": {
        "tip": [
          "设置 {{ $completion }} 的补全提示信息中是否显示用法部分(需启用 enable_tip)"
        ]
      },
      "language": {
        "tip": [
          "设置 {{ $completion }} 的语言"
        ],
        "tip_v": "设置语言为 {{ $language }}。"
      },
      "reset_manifest": [
        "将该配置项恢复为补全清单中定义的默认值。"
      ],
      "reset_name": [
        "移除该补全的特殊配置覆盖,使其重新继承全局设置。",
        "(声明了清单默认值的配置项会恢复为该默认值。)"
      ],
      "reset_special": [
        "移除这个特殊配置项,使补全重新继承全局的同等配置。"
      ]
    },
    "confirm_cancel": "<@Green>操作取消!",
    "description": [
      "<@Cyan>[模块描述]\n",
      "<@Blue>PSCompletions(<@Magenta>psc<@Cyan>) - 一个补全管理器,为 PowerShell 带来更出色、更简便的 Tab 补全体验\n",
      "\n",
      "<@Cyan>[模块版本]\n",
      "<@Magenta>{{ $PSCompletions.version }}<@Cyan>\n",
      "\n",
      "<@Cyan>[版本日志]\n",
      "GitHub: <@Blue>https://github.com/abgox/PSCompletions/blob/main/module/CHANGELOG.zh-CN.md<@Cyan>\n",
      "Gitee : <@Blue>https://gitee.com/abgox/PSCompletions/blob/main/module/CHANGELOG.zh-CN.md<@Cyan>\n",
      "\n",
      "<@Cyan>[模块用法]\n",
      "输入 <@Magenta>psc<@Cyan> 并按下 <@Magenta>Space<@Cyan>(空格)和 <@Magenta>Tab<@Cyan> 键, 通过补全提示信息,你会快速了解所有命令用法\n",
      "运行 <@Magenta>psc<@Cyan> 会再次显示此页内容,并重载模块的按键绑定和数据\n",
      "\n",
      "<@Cyan>[模块补全菜单]\n",
      "<@Blue>PSCompletions<@Cyan> 提供了一个强大的模块补全菜单,基于 Rust + Lua 构建\n",
      "\n",
      "可以输入字符过滤列表,默认使用通配匹配(不区分大小写)\n",
      " - 普通文本匹配包含它的项: <@Magenta>co<@Cyan> 能匹配 <@Magenta>config<@Cyan>、<@Magenta>completion<@Cyan> 等\n",
      " - <@Magenta>*<@Cyan> 匹配任意数量的字符: <@Magenta>a*d<@Cyan> 能匹配 <@Magenta>add<@Cyan>、<@Magenta>and<@Cyan> 等\n",
      " - 开头 <@Magenta>^<@Cyan> 表示从开头匹配: <@Magenta>^add<@Cyan> 只匹配以 <@Magenta>add<@Cyan> 开头的项\n",
      " - 开头单个 <@Magenta>*<@Cyan> 切换为子序列匹配(字符按顺序出现、不必相邻): <@Magenta>*vscode<@Cyan> 能匹配 <@Magenta>Visual Studio Code<@Cyan>\n",
      " - <@Magenta>**<@Cyan> 会进行自转义,匹配作为普通字符的 *\n",
      "如需默认使用子序列匹配: <@Magenta>psc config menu filter_mode subsequence<@Cyan>",
      "\n",
      "\n",
      "按键绑定:\n",
      " - 选中上一个补全项: <@Magenta>Up<@Cyan> | <@Magenta>Shift + Tab<@Cyan> | <@Magenta>Ctrl + u<@Cyan> | <@Magenta>Ctrl + p<@Cyan> | <@Magenta>Ctrl + k<@Cyan>\n",
      " - 选中下一个补全项: <@Magenta>Down<@Cyan> | <@Magenta>Tab<@Cyan> | <@Magenta>Ctrl + d<@Cyan> | <@Magenta>Ctrl + n<@Cyan> | <@Magenta>Ctrl + j<@Cyan>\n",
      " - 选用当前选中的补全项: <@Magenta>Space<@Cyan>(空格)| <@Magenta>Enter<@Cyan>(回车)\n",
      " - 当只有一个补全项时,也可以使用 <@Magenta>Tab<@Cyan>\n",
      " - 移动过滤区域光标: <@Magenta>Left<@Cyan> | <@Magenta>Right<@Cyan> | <@Magenta>Home<@Cyan> | <@Magenta>End<@Cyan>\n",
      " - 删除过滤区域字符: <@Magenta>Backspace<@Cyan>(光标前)| <@Magenta>Delete<@Cyan>(光标后)\n",
      " - 退出模块补全菜单: <@Magenta>Esc<@Cyan> | <@Magenta>Ctrl + c<@Cyan>\n",
      " - 当过滤区域没有字符时,也可以使用 <@Magenta>Backspace<@Cyan>(退格)或 <@Magenta>Delete<@Cyan>(删除)\n",
      "\n",
      "鼠标绑定:\n",
      " - 滚轮: 切换选中的补全项\n",
      " - 左键单击: 选中光标所指的补全项\n",
      " - 左键双击: 选用当前选中的补全项\n",
      "\n",
      "路径补全:\n",
      " - 使用路径标识符可以显式获取路径补全: <@Magenta>/<@Cyan> <@Magenta>./<@Cyan> <@Magenta>../<@Cyan> <@Magenta>~/<@Cyan> | <@Magenta>\\<@Cyan> <@Magenta>.\\<@Cyan> <@Magenta>..\\<@Cyan> <@Magenta>~\\<@Cyan>\n",
      " - 参考: <@Blue>https://pscompletions.abgox.com/docs/path-completion<@Cyan>\n",
      "\n",
      "<@Cyan>[全局命名]\n",
      "<@Blue>PSCompletions<@Cyan> 会占用两个全局命名,<@Yellow>它们是只读的,不应该修改或覆盖它们<@Cyan>\n",
      " <@Magenta>PSCompletions<@Cyan>: 函数名, 模块导出的核心函数,<@Magenta>psc<@Cyan> 是它的默认别名\n",
      " <@Magenta>$PSCompletions<@Cyan>: 变量名, 存储模块的相关数据\n",
      "\n",
      "<@Cyan>[其他内容]\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",
      "如果 <@Blue>PSCompletions<@Cyan> 对你有所帮助, 请给这个项目一个 <@Yellow>Star<@Cyan>",
      "\n"
    ],
    "filter_hint": "输入以过滤...",
    "menu": {
      "config": {
        "err": {
          "trigger_key": "<@Magenta>{{ $arg[3] }}<@Red> 不是一个可用的按键映射,修改失败"
        }
      }
    },
    "min_area": "# 可显示区域太小!",
    "module": {
      "update": [
        "\n",
        "<@Cyan>[模块更新]\n",
        "<@Blue>PSCompletions: <@Magenta>{{ $PSCompletions.version }} <@Cyan>=> <@Magenta>{{ $PSCompletions.new_version }}\n",
        "\n",
        "<@Cyan>[模块日志]\n",
        "GitHub: <@Blue>https://github.com/abgox/PSCompletions/blob/main/module/CHANGELOG.zh-CN.md<@Cyan>\n",
        "Gitee : <@Blue>https://gitee.com/abgox/PSCompletions/blob/main/module/CHANGELOG.zh-CN.md<@Cyan>\n",
        "\n",
        "<@Cyan>[更新命令]\n",
        "<@Magenta>Update-Module PSCompletions\n",
        "Update-PSResource PSCompletions\n",
        "scoop update abgox.PSCompletions\n",
        "scoop update pscompletions\n"
      ]
    },
    "param_err": "<@Red>传入的参数错误。",
    "param_max": "<@Red>传入的参数过多。",
    "param_min": "<@Red>传入的参数过少。",
    "reset": {
      "init_confirm": [
        "<@Yellow>是否完全重置 PSCompletions 模块?\n",
        "<@Red>它会删除 PSCompletions 模块的所有内容, 包括已下载的补全, 配置等, 只会保留模块源代码文件\n",
        "<@Yellow>按下 <@Magenta>Enter<@Yellow> 键确认重置, <@Magenta>其他键<@Yellow> 取消重置!"
      ],
      "init_done": [
        "<@Green>PSCompletions 模块重置成功!\n",
        "开始初始化模块..."
      ]
    },
    "rm": {
      "all_confirm": [
        "<@Yellow>确定要移除全部补全吗?\n",
        "<@Yellow>移除后 psc 会自动重新添加。\n",
        "<@Yellow>按 <@Magenta>Enter<@Yellow> 键继续,或按 <@Magenta>其他键<@Yellow> 取消!"
      ],
      "done": "<@Green>补全 <@Magenta>{{ $completion }}<@Green> 成功被移除"
    },
    "set_value": "设置为 {{ $value }}。",
    "update": {
      "done": [
        "<@Cyan>[更新补全]\n",
        "<@Magenta>{{ $completion }}\n",
        "<@Cyan>[触发别名]\n",
        "{{",
        "$alias = if ($config.alias) { $config.alias }else { @($completion) };",
        "$out = $alias | ForEach-Object { if($_ -in $conflict_alias){ '<@Magenta>' + $_+ ' <@Yellow>(命令已存在,请手动处理冲突)<@Magenta>' } else { '<@Magenta>' + $_ } };",
        "$out -join \"`n\";",
        "\"`n<@Cyan>[特殊配置]\";",
        "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>:\";",
        " '默认值: ' + $PSCompletions.wrap_whitespace($_.value);",
        " $v = $PSCompletions.config.completion[$completion].($_.name);",
        " if ($v -ne $null){ '当前值: <@Magenta>' + $PSCompletions.wrap_whitespace($v) + '<@Blue>'; }",
        " $PSCompletions.replace_content($_.tip, \"`n\")",
        " };",
        " $config_list -join \"`n\";",
        "} else { \"`n<@Yellow>无\" };",
        "\"`n<@Blue>----------------------------------\";",
        "}}"
      ],
      "no": "<@Green>已添加的补全都是最新的!",
      "skip": "<@Yellow>{{ $completion }} 是本地链接的补全,跳过更新。"
    },
    "update_info": [
      "<@Cyan>PSCompletions 更新了补全库:\n",
      "{{",
      "$change=$PSCompletions.get_content($PSCompletions.path.change);",
      "$add=@();",
      "$rm=@();",
      "$change | ForEach-Object{ if($_ -in $PSCompletions.list){ $add += $_ }else{ $rm += $_ } };",
      "if($rm){ \"删除: <@Magenta>$($rm)<@Cyan>`n\" };",
      "if($add){ \"新增: <@Magenta>$($add)<@Cyan>`n使用 <@Magenta>psc add <completion><@Cyan> 进行添加`n`n\" };",
      "if($PSCompletions.update){ \"更新: <@Magenta>$($PSCompletions.update)<@Cyan>`n使用 <@Magenta>psc update --old<@Cyan> 进行更新`n\" };",
      "}}"
    ]
  }
}