豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 368 行 · 17543 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「操作系统」之「环境变量」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。

「程序候选」即
  「字符串」 「:执行路径:」
  合
    「字符串」 「:显示名称:」
  合
    「字符串」 「:无调全拼:」
  合
    「字符串」 「:拼音首字母:」
也。

「按字符分隔」乃化「字符串」而化「字符串」而(「列」于「字符串」)也。
「按字符分隔」者会「分隔符」而
  会「文本」而
    递归虑「继续分隔」其化(「列」于「字符串」)而化(「列」于「字符串」)而化(「列」于「字符串」)而(「列」
    于「字符串」)者
      会「剩余」而会「反片段」而会「反结果」而
        鉴「剩余」而
          有「罄」则
            「反转」授以「字符串」于(「缀」于(「串组合并」于(「反转」授以「字符串」于「反片段」))于「反结果」)
          或有(「缀」于「字符」于「字符尾」)则
            若「字符串相等吗」于「字符」于「分隔符」
            则
              「继续分隔」
                于「字符尾」
                于「罄」
                于(「缀」于(「串组合并」于(「反转」授以「字符串」于「反片段」))于「反结果」)
            否则
              「继续分隔」
                于「字符尾」
                于(「缀」于「字符」于「反片段」)于「反结果」
    而
    「继续分隔」于(「获取字符」于「文本」)于「罄」于「罄」
也。

「是特殊目录」乃化「字符串」而「爻」也。
「是特殊目录」者会「名称」而
  「或者」于(「字符串相等吗」于「名称」于『.』)于(「字符串相等吗」于「名称」于『..』)
也。

「枚举目录程序」乃化「字符串」而(「列」于「程序候选」)也。
「枚举目录程序」者会「目录」而
  若「路径存在」于「目录」
  则
    若「路径是文件夹」于「目录」
    则
      递归虑「收集」其化(「列」于「字符串」)而化(「列」于「程序候选」)而(「列」于「程序候选」)者
        会「名称们」而会「反候选」而
          鉴「名称们」而
            有「罄」则「反转」授以「程序候选」
            于「反候选」
            或有(「缀」于「名称」于「名称尾」)则
              虑「执行路径」者「路径合并」于「目录」于「名称」而
              若「且」
                于(「串含非阿斯基字符吗」于「名称」)
                于(「且」于(「非」于(「是特殊目录」于「名称」))于(「路径可执行」于「执行路径」))
              则
                「收集」
                  于「名称尾」
                  于(「缀」
                    于(「执行路径」与「名称」与(「字符串转无调拼音」于「名称」)与(「字符串转拼音首字母」于「名称」))
                    于「反候选」)
              否则
                「收集」于「名称尾」于「反候选」
      而
      「收集」于(「读文件夹」于「目录」)于「罄」
    否则
      「罄」
  否则
    「罄」
也。

「取搜索目录」乃化「有」而(「列」于「字符串」)也。
「取搜索目录」者会「无」而
  虑「路径环境」者「获取环境变量」于『PATH』而
  虑「路径文本」者
    若「路径环境」中「零」则「路径环境」中「一」否则『/usr/local/bin:/usr/bin:/bin』
  而
  「缀」于『.』于(「按字符分隔」于『:』于「路径文本」)
也。

「枚举可执行程序」乃化「有」而(「列」于「程序候选」)也。
「枚举可执行程序」者会「无」而
  递归虑「名称已存在」其化「字符串」而化(「列」于「程序候选」)而「爻」者
    会「名称」而会「候选们」而
      鉴「候选们」而
        有「罄」则「阴」
        或有(「缀」于「候选」于「候选尾」)则
          若「字符串相等吗」于「名称」于(「候选」中「一」)则
            「阳」
          否则
            「名称已存在」于「名称」于「候选尾」而
  递归虑「追加未见」其化(「列」于「程序候选」)而化(「列」于「程序候选」)而(「列」于「程序候选」)者
    会「已有」而会「新增」而
      鉴「新增」而
        有「罄」则「已有」
        或有(「缀」于「候选」于「候选尾」)则
          若「名称已存在」于(「候选」中「一」)于「已有」
          则
            「追加未见」于「已有」于「候选尾」
          否则
            「追加未见」
              于(「结尾多」授以「程序候选」于「已有」于「候选」)于「候选尾」而
  递归虑「收集目录」其化(「列」于「字符串」)而化(「列」于「程序候选」)而(「列」于「程序候选」)者
    会「目录们」而会「已有」而
      鉴「目录们」而
        有「罄」则「已有」
        或有(「缀」于「目录」于「目录尾」)则
          虑「实际目录」者
            若「字符串相等吗」于「目录」于『』则
              『.』
            否则
              「目录」
          而
          「收集目录」
            于「目录尾」
            于(「追加未见」于「已有」于(「枚举目录程序」于「实际目录」))
  而
  「收集目录」于(「取搜索目录」于「元」)于「罄」
也。

「首个同名候选」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「爻」合「字符串」合「字符串」)
也。
「首个同名候选」者会「名称」而会「候选们」而
  鉴「候选们」而
    有「罄」则「阴」与『』与『』
    或有(「缀」于「候选」于「候选尾」)则
      若「字符串相等吗」于(「候选」中「一」)于「名称」
      则
        「阳」与(「候选」中「零」)与(「候选」中「一」)
      否则
        「首个同名候选」于「名称」于「候选尾」
也。

「候选符合拼音」乃化「爻」而化「字符串」而化「程序候选」而「爻」也。
「候选符合拼音」者会「要求完整」而会「查询」而会「候选」而
  虑「全拼」者「候选」中「二」而
  虑「简拼」者「候选」中「三」而
  若「要求完整」
  则
    「或者」于(「字符串相等吗」于「查询」于「全拼」)于(「字符串相等吗」于「查询」于「简拼」)
  否则
    「或者」于(「串开头是它吗」于「查询」于「全拼」)于(「串开头是它吗」于「查询」于「简拼」)
也。

「筛选拼音候选」乃
  化「爻」而
  化「字符串」而
  化(「列」于「程序候选」)而
  (「列」于「程序候选」)
也。
「筛选拼音候选」者会「要求完整」而会「查询」而会「候选们」而
  鉴「候选们」而
    有「罄」则「罄」
    或有(「缀」于「候选」于「候选尾」)则
      若「候选符合拼音」于「要求完整」于「查询」于「候选」
      则
        「缀」于「候选」于(「筛选拼音候选」于「要求完整」于「查询」于「候选尾」)
      否则
        「筛选拼音候选」于「要求完整」于「查询」于「候选尾」
也。

「候选符合模糊拼音」乃化「字符串」而化「程序候选」而「爻」也。
「候选符合模糊拼音」者会「查询」而会「候选」而
  「或者」
    于(「串是模糊子序列吗」于「查询」于(「候选」中「二」))
    于(「串是模糊子序列吗」于「查询」于(「候选」中「三」))
也。

「筛选模糊拼音候选」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「列」于「程序候选」)
也。
「筛选模糊拼音候选」者会「查询」而会「候选们」而
  鉴「候选们」而
    有「罄」则「罄」
    或有(「缀」于「候选」于「候选尾」)则
      若「候选符合模糊拼音」于「查询」于「候选」
      则
        「缀」于「候选」于(「筛选模糊拼音候选」于「查询」于「候选尾」)
      否则
        「筛选模糊拼音候选」于「查询」于「候选尾」
也。

「筛选非前缀模糊候选」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「列」于「程序候选」)
也。
「筛选非前缀模糊候选」者会「查询」而会「候选们」而
  鉴「候选们」而
    有「罄」则「罄」
    或有(「缀」于「候选」于「候选尾」)则
      若「且」
        于(「候选符合模糊拼音」于「查询」于「候选」)
        于(「非」于(「候选符合拼音」于「阴」于「查询」于「候选」))
      则
        「缀」于「候选」于(「筛选非前缀模糊候选」于「查询」于「候选尾」)
      否则
        「筛选非前缀模糊候选」于「查询」于「候选尾」
也。

「排列实时候选」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「列」于「程序候选」)
也。
「排列实时候选」者会「查询」而会「候选们」而
  「附加」授以「程序候选」
    于(「筛选拼音候选」于「阴」于「查询」于「候选们」)
    于(「筛选非前缀模糊候选」于「查询」于「候选们」)
也。

「实时匹配程序」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「列」于「程序候选」)
也。
「实时匹配程序」者会「输入」而会「候选们」而
  虑「查询」者「字符串转无调拼音」于「输入」而
  若「字符串相等吗」于「查询」于『』
  则
    「罄」
  否则
    「排列实时候选」于「查询」于「候选们」
也。

「展开补全目录」乃化「字符串」而「字符串」也。
「展开补全目录」者会「目录」而
  若「字符串相等吗」于「目录」于『~』
  则
    虑「主目录结果」者「获取环境变量」于『HOME』而
    若「主目录结果」中「零」则「主目录结果」中「一」否则「目录」
  否则若「串开头是它吗」于『~/』于「目录」
  则
    虑「主目录结果」者「获取环境变量」于『HOME』而
    若「主目录结果」中「零」
    则
      (「主目录结果」中「一」)附(「去除串开头」于『~』于「目录」)
    否则
      「目录」
  否则
    「目录」
也。

「分解补全路径」乃化「字符串」而(「字符串」合「字符串」合「字符串」)也。
「分解补全路径」者会「输入路径」而
  鉴「串从右搜索单个」于『/』于「输入路径」而
    有「可无」则
      『』与「输入路径」与『.』
    或有(「可有」于「斜线序数」)则
      虑「插入前缀」者
        「获取子字符串」于「零」于(「加」于「斜线序数」于「一」)于「输入路径」而
        虑「目录文字」者
          「获取子字符串」于「零」于「斜线序数」于「输入路径」而
          虑「查询」者
            「获取子字符串」
              于(「加」于「斜线序数」于「一」)
              于(「串长度」于「输入路径」)于「输入路径」而
              虑「实际目录」者
                若「且」
                  于(「等于」于「斜线序数」于「零」)
                  于(「串开头是它吗」于『/』于「输入路径」)
                则
                  『/』
                否则
                  「展开补全目录」于「目录文字」
              而
              「插入前缀」与「查询」与「实际目录」
也。

「枚举路径候选」乃化「字符串」而化「爻」而(「列」于「程序候选」)也。
「枚举路径候选」者会「输入路径」而会「只要目录」而
  虑「路径部分」者「分解补全路径」于「输入路径」而
  虑「插入前缀」者「路径部分」中「零」而
  虑「查询」者「字符串转无调拼音」于(「路径部分」中「一」)而
  虑「实际目录」者「路径部分」中「二」而
  若「且」于(「路径存在」于「实际目录」)于(「路径是文件夹」于「实际目录」)
  则
    递归虑「收集」其化(「列」于「字符串」)而化(「列」于「程序候选」)而(「列」于「程序候选」)者
      会「名称们」而会「反候选」而
        鉴「名称们」而
          有「罄」则(
            虑「候选们」者「反转」授以「程序候选」于「反候选」而
            若「字符串相等吗」于「查询」于『』则「候选们」否则「排列实时候选」
            于「查询」于「候选们」
          )
          或有(「缀」于「名称」于「名称尾」)则
            虑「实际路径」者「路径合并」于「实际目录」于「名称」
            而
            虑「是目录」者「路径是文件夹」于「实际路径」
            而
            若「且」
              于(「串含非阿斯基字符吗」于「名称」)
              于(「且」于(「非」于(「是特殊目录」于「名称」))于(「或者」于「是目录」于(「非」于「只要目录」)))
            则
              虑「尾缀」者
                若「是目录」则『/』否则『』
              而
              虑「补全路径」者「插入前缀」附「名称」附「尾缀」
              而
              虑「候选」者「补全路径」与「补全路径」与(「字符串转无调拼音」于「名称」)
                与(「字符串转拼音首字母」于「名称」)
              而
              「收集」于「名称尾」于(「缀」于「候选」于「反候选」)
            否则
              「收集」于「名称尾」于「反候选」
    而
    「收集」于(「读文件夹」于「实际目录」)于「罄」
  否则
    「罄」
也。

「描述候选」乃化(「列」于「程序候选」)而「字符串」也。
「描述候选」者会「候选们」而
  「间合」于『,』于(「态射」授以「程序候选」授以「字符串」于「候选们」于(会「候选」而「候选」中「一」))
也。

「从拼音候选决定」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「整数」合「字符串」合「字符串」)
也。
「从拼音候选决定」者会「原命令」而会「候选们」而
  虑「查询」者「字符串转无调拼音」于「原命令」而
  若「字符串相等吗」于「查询」于『』则
    「一」与『』与(『找不到命令:』附「原命令」)
  否则
    虑「完整候选」者「筛选拼音候选」于「阳」于「查询」于「候选们」而
    鉴「完整候选」而
      有((「列」【「唯一」】))则
        「零」与(「唯一」中「零」)与『』
      或有「罄」则(
        虑「前缀候选」者「筛选拼音候选」于「阴」于「查询」于「候选们」而
        鉴「前缀候选」而
          有((「列」【「唯一」】))则
            「零」与(「唯一」中「零」)与『』
          或有「罄」则「一」与『』与(『找不到命令:』附「原命令」)
          或有「其他」则
            「二」与『』与(『拼音有多个匹配:』附(「描述候选」于「前缀候选」))
      )
      或有「其他」则
        「二」与『』与(『拼音有多个匹配:』附(「描述候选」于「完整候选」))
也。

「解析程序」乃化「字符串」而(「整数」合「字符串」合「字符串」)也。
「解析程序」者会「原命令」而
  虑「直接结果」者「查找可执行程序」于「原命令」而
  若「直接结果」中「零」
  则
    「零」与(「直接结果」中「一」)与『』
  否则若「是子字符串吗」于『/』于「原命令」
  则
    「一」与『』与(『不是可执行文件:』附「原命令」)
    「:文言:补全可用拼音,执行必用实名。汉语:外部程序也只按精确名称或路径执行,不回退到拼音匹配。:」
  否则
    「一」与『』与(『找不到命令:』附「原命令」附『;请先用智能补全填入正式名称』)
也。