豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 248 行 · 11622 字节 · UTF-8
§
「:
文言:以拼音索候选,以实名行命。
汉语:拼音仅用于智能补全,执行只接受正式名称与明确别名。
:」

寻观「标准库」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「环境变量」之书。
寻观「标准库」之「操作系统」之「进程」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「豫言终端」之「命令解析」之书。
寻观「豫言终端」之「程序解析」之书。
寻观「豫言终端」之「交互编辑」之书。
寻观「豫言终端」之「命令目录」之书。
寻观「豫言终端」之「工具适配」之书。

「命令名等于三者之一」乃
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「爻」
也。
「命令名等于三者之一」者会「命令名」而会「甲」而会「乙」而会「丙」而
  「或者」
    于(「字符串相等吗」于「命令名」于「甲」)
    于(「或者」于(「字符串相等吗」于「命令名」于「乙」)于(「字符串相等吗」于「命令名」于「丙」))
也。

「取主目录」乃化「有」而「字符串」也。
「取主目录」者会「无」而
  虑「结果」者「获取环境变量」于『HOME』而
  若「结果」中「零」则「结果」中「一」否则『.』
也。

「展开主目录」乃化「字符串」而「字符串」也。
「展开主目录」者会「目录文字」而
  若「字符串相等吗」于「目录文字」于『~』则
    「取主目录」于「元」
  否则
    若「串开头是它吗」于『~/』于「目录文字」
    则
      (「取主目录」于「元」)附(「去除串开头」于『~』于「目录文字」)
    否则
      「目录文字」
也。

「执行切换」乃化(「列」于「字符串」)而「整数」也。
「执行切换」者会「参数们」而
  鉴「参数们」而
    有「罄」则「执行切换」于((「列」【(「取主目录」于「元」)】))
    或有((「列」【「目录文字」】))则(
      虑「实际路径」者「展开主目录」于「目录文字」而
      虑「结果」者「切换当前路径」于「实际路径」而
      若「等于」于(「结果」中「零」)于「零」
      则
        「零」
      否则
        (「标准错误打印行」于(『无法切换到「』附「实际路径」附『」:』附(「结果」中「一」));
          「一」)
    )
    或有「其他」则
      (「标准错误打印行」于『切换:只能接受一个目录』;
        「二」)
也。

「执行退出」乃化(「列」于「字符串」)而「整数」也。
「执行退出」者会「参数们」而
  鉴「参数们」而
    有「罄」则
      (「退出」于「零」;
        「零」)
    或有((「列」【「状态文字」】))则(
      虑「状态」者「理解整数」于「状态文字」而(「退出」于「状态」;
        「状态」)
    )
    或有「其他」则
      (「标准错误打印行」于『退出:最多接受一个状态码』;
        「二」)
也。

「执行外部程序」乃化「字符串」而化(「列」于「字符串」)而「整数」也。
「执行外部程序」者会「命令名」而会「参数们」而
  虑「解析结果」者「解析程序」于「命令名」而
  若「等于」于(「解析结果」中「零」)于「零」
  则
    「运行并继承标准流」于(「解析结果」中「一」)于「参数们」
  否则
    (「标准错误打印行」于(「解析结果」中「二」);
      「一二七」)
也。

「无参数目录命令」乃化「字符串」而化(「列」于「字符串」)而「爻」也。
「无参数目录命令」者会「命令名」而会「参数们」而
  鉴「参数们」而
    有「罄」则(
      虑「实际路径」者「展开主目录」于「命令名」而
      若「路径存在」于「实际路径」则「路径是文件夹」于「实际路径」否则「阴」
    )
    或有「其他」则「阴」
也。

「执行规范参数」乃化(「列」于「字符串」)而「整数」也。
「执行规范参数」者会「参数列」而
  鉴「参数列」而
    有「罄」则「零」
    或有(「缀」于「命令名」于「参数们」)则
      若「且」于(「读引用」于「只预演」)于(「命令名等于三者之一」于「命令名」于『切换』于『清屏』于『退出』)
      则
        (「打印行」于(『预演内建命令:』附「命令名」);
          「打印调用参数」于「参数们」;
          「零」)
      否则
        若「字符串相等吗」于「命令名」于『切换』则
          「执行切换」于「参数们」
        否则
          若「字符串相等吗」于「命令名」于『目录』则
            (「打印行」于(「获取当前路径」于「元」);
              「零」)
          否则
            若「字符串相等吗」于「命令名」于『帮助』则
              「显示管理帮助」于「参数们」
            否则
              若「字符串相等吗」于「命令名」于『清屏』则
                (「打印」于((「字节转字符串」于「二七」)附『[2J』附(「字节转字符串」于「二七」)附『[H』);
                  「零」)
              否则
                若「字符串相等吗」于「命令名」于『退出』则
                  「执行退出」于「参数们」
                否则
                  「执行管理命令」于「命令名」于「参数们」
也。

「执行管理参数」乃化(「列」于「字符串」)而「整数」也。
「执行管理参数」者会「参数」而
  鉴「参数」而
    有((「列」【『-c』,「命令文字」】))则(
      虑「结果」者「解析命令行」于「命令文字」而
      若「结果」中「零」则「执行管理参数」于(「结果」中「一」)
      否则
        (「标准错误打印行」于(「结果」中「二」);
          「二」)
    )
    或有(「缀」于『--项目』于(「缀」于「项目文字」于「余」))则
      (「写引用」于「指定项目」于「项目文字」;
        「执行管理参数」于「余」)
    或有(「缀」于『--预演』于「余」)则
      (「写引用」于「只预演」于「阳」;
        「执行管理参数」于「余」)
    或有((「列」【『--项目』】))则
      (「标准错误打印行」于『--项目 后须指定路径』;
        「二」)
    或有「罄」则「显示管理帮助」于「罄」
    或有(「缀」于「首」于「余」)则
      虑「解析」者「解析管理余词」于『』于「参数」
      而
      若「等于」于(「解析」中「零」)于「零」
      则
        「执行规范参数」于(「缀」于(「解析」中「一」)于(「解析」中「二」))
      否则若「等于」于(「解析」中「零」)于「二」
      则
        (「标准错误打印行」于(「解析」中「三」);
          「二」)
      否则若「读引用」于「只预演」
      则
        (「标准错误打印行」于『--预演 只支持已登记的管理命令』;
          「二」)
      否则若「无参数目录命令」于「首」于「余」则「执行切换」于(「列」【「首」】)
      否则
        「执行外部程序」于「首」于「余」
也。

「:文言:一命既毕,复其初设。汉语:单条命令的项目和预演选项不泄漏到下次交互执行。:」
「执行参数列」乃化(「列」于「字符串」)而「整数」也。
「执行参数列」者会「参数」而
  鉴「参数」而
    有「罄」则「零」
    或有「余」则
      虑「旧项目」者「读引用」于「指定项目」而
      虑「旧预演」者「读引用」于「只预演」而
      虑「状态」者「执行管理参数」于「参数」而(「写引用」于「指定项目」于「旧项目」;
        「写引用」于「只预演」于「旧预演」;
        「状态」)
也。

「执行命令行」乃化「字符串」而「整数」也。
「执行命令行」者会「命令行」而
  虑「解析结果」者「解析命令行」于「命令行」而
  若「解析结果」中「零」
  则
    「执行参数列」于(「解析结果」中「一」)
  否则
    (「标准错误打印行」于(『命令行错误:』附(「解析结果」中「二」));
      「二」)
也。

「生成提示」乃化「整数」而「字符串」也。
「生成提示」者会「上次状态」而
  若「标准输出是终端」于「元」
  则
    虑「逃逸」者「字节转字符串」于「二七」而
    虑「状态前缀」者
      若「等于」于「上次状态」于「零」则『』否则(「逃逸」附『[31m』附(「整数表示」于「上次状态」)附『 』)
    而
    「状态前缀」附「逃逸」附『[36m』附(「获取当前路径」于「元」)附「逃逸」附『[0m ❯ 』
  否则
    (「获取当前路径」于「元」)附『 > 』
也。

「交互循环」乃化「整数」而「有」也。
「交互循环」者会「上次状态」而
  若「且」于(「标准输入是终端」于「元」)于(「标准输出是终端」于「元」)
  则
    虑「候选索引」者「枚举可执行程序」于「元」而
    虑「无」者「重置包补全」于「元」而
    虑「读取结果」者
      「读取交互命令行」于(「生成提示」于「上次状态」)于「候选索引」而
    若「等于」于(「读取结果」中「零」)于「零」
    则
      「交互循环」于(「执行命令行」于(「读取结果」中「一」))
    否则若「等于」于(「读取结果」中「零」)于「二」
    则
      「交互循环」于「一三零」
    否则
      「退出」于「上次状态」
  否则
    虑「读取结果」者「尝试读取标准输入行」于「元」而
    若「读取结果」中「零」
    则
      「交互循环」于(「执行命令行」于(「读取结果」中「一」))
    否则
      「退出」于「上次状态」
也。

鉴「获取参数」于「元」而
  有「罄」则「交互循环」于「零」
  或有((「列」【『-c』,「命令行」】))则
    「退出」于(「执行命令行」于「命令行」)
  或有(「缀」于『-c』于「余」)则
    (「标准错误打印行」于『用法:yysh -c 「命令行」』;
      「退出」于「二」)
  或有「其他」则
    「退出」于(「执行参数列」于「其他」)。