豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 276 行 · 14893 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「豫言终端」之「程序解析」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「构建基础」之「包定位」之书。

「:文言:命、助、补全,同出一籍。汉语:命令路径、用法、摘要、工具、固定参数及参数数量由同一登记表维护。:」
「命令条目」即
  「字符串」
  合「字符串」
  合「字符串」
  合「字符串」
  合(「列」于「字符串」)
  合「整数」
  合「整数」
也。

「命令登记表」乃「列」于「命令条目」也。
「命令登记表」者(「列」【
  (『帮助』与『帮助 [命令…]』与『查看全部常用命令或详细用法;也可用 help』与『』与「罄」与「零」与「九九」),
  (『状态』与『状态』与『查看项目根目录与工具路径』与『』与「罄」与「零」与「零」),
  (『环境 检查』与『环境 检查』与『检查编译器和本地工具依赖』与『』与「罄」与「零」与「零」),
  (『工具 构建』与『工具 构建 [工具名]』与『构建指定工具或整套常用工具,工具名可智能补全』与『』与「罄」与「零」
    与「一」),
    (『包 列表』与『包 列表』与『列出可发现的包』与『豫构』与(「列」【『发现』】)与「零」与「零」),
    (『包 检查』与『包 检查 <包名>』与『检查包配置和依赖』与『豫构』与(「列」【『检查』】)与「一」与「一」),
    (『编译』与『编译 <包名> [豫构选项] [-- 编译器参数…]』与『按包配置构建;--输出 指定产物』与『豫构』
      与(「列」【『构建』】)与「一」与「九九」),
      (『编译文件』与『编译文件 <路径> [豫构选项] [-- 编译器参数…]』与『按源文件所属包构建』与『豫构』
        与(「列」【『文件』】)与「一」与「九九」),
        (『类型检查』与『类型检查 <包名> [豫构选项] [-- 编译器参数…]』与『只运行类型检查』与『豫构』
          与(「列」【『类型检查』】)与「一」与「九九」),
          (『格式化』与『格式化 <文件> [文件…]』与『格式化并写回指定源码文件』与『源码格式化』与「罄」与「一」
            与「九九」),
            (『文档 生成』与『文档 生成 [入口] [输出目录]』与『生成接口文档;默认编译器入口、dist/文档』
              与『文档网站生成器』与(「列」【『构建』】)与「零」与「二」),
              (『源码 生成』与『源码 生成 [输出目录]』与『生成源码浏览网站;默认 dist/源码』与『源码树浏览器』
                与(「列」【『构建』】)与「零」与「一」),
                (『网页服务』与『网页服务 <目录> [端口]』与『前台提供本机静态网页,默认端口 8000;Ctrl-C 停止』
                  与『简易网页服务器』与「罄」与「一」与「二」),
                  (『切换』与『切换 [目录]』与『切换当前目录,也可用 cd』与『』与「罄」与「零」与「一」),
                  (『目录』与『目录』与『显示当前目录,也可用 pwd』与『』与「罄」与「零」与「零」),
                  (『清屏』与『清屏』与『清空终端显示,也可用 clear』与『』与「罄」与「零」与「零」),
                  (『退出』与『退出 [状态码]』与『退出终端,也可用 exit』与『』与「罄」与「零」与「一」)
】)也。

「命令别名」乃化「字符串」而「字符串」也。
「命令别名」者会「名」而
  鉴「名」而
    有『help』则『帮助』
    或有『--help』则『帮助』
    或有『cd』则『切换』
    或有『pwd』则『目录』
    或有『clear』则『清屏』
    或有『exit』则『退出』
    或有「其他」则「名」
也。

「名称候选」乃化「字符串」而「程序候选」也。
「名称候选」者会「名」而
  「名」与「名」与(「字符串转无调拼音」于「名」)与(「字符串转拼音首字母」于「名」)
也。

「添唯一名称」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「列」于「程序候选」)
也。
「添唯一名称」者会「名」而会「已有」而
  若「或者」于(「字符串相等吗」于「名」于『』)于((「首个同名候选」于「名」于「已有」)中「零」)
  则
    「已有」
  否则
    「结尾多」授以「程序候选」于「已有」于(「名称候选」于「名」)
也。

「命令下词」乃化「字符串」而「列」于「程序候选」也。
「命令下词」者会「前缀」而
  虑「前导」者
    若「字符串相等吗」于「前缀」于『』则『』否则「前缀」附『 』
  而
  「从左折叠」授以「命令条目」授以(「列」于「程序候选」)
  于(会「条目」而
  会「已有」而
  若「串开头是它吗」于「前导」于(「条目」中「零」)
  则
    鉴「按字符分隔」于『 』于(「去除串开头」于「前导」于(「条目」中「零」))而
      有(「缀」于「首词」于「余」)则
        「添唯一名称」于「首词」于「已有」
      或有「罄」则「已有」
  否则
    「已有」
  )于「罄」于「命令登记表」
也。

「常用工具候选」乃化「有」而「列」于「程序候选」也。
「常用工具候选」者会「无」而
  「添唯一名称」
    于『豫言终端』
    于(「从左折叠」授以「命令条目」授以(「列」于「程序候选」)
    于(会「条目」而会「已有」而「添唯一名称」于(「条目」中「三」)于「已有」)
    于「罄」
    于「命令登记表」)
也。

「决定命令词」乃
  化「字符串」而
  化(「列」于「程序候选」)而
  (「整数」合「字符串」合「字符串」)
也。
「决定命令词」者会「输入」而会「候选」而
  虑「同名」者「首个同名候选」于「输入」于「候选」而
  「:文言:执行唯从实名,拼音仅供补全。汉语:不把全拼、首字母或前缀解释成可执行命令。:」
  若「同名」中「零」则「零」与(「同名」中「一」)与『』否则「一」与『』
    与(『未找到名称:』附「输入」附『;请先补全为正式名称』)
也。

「包补全根缓存」者「新引用」授以「字符串」于『』也。

「包补全缓存」者「新引用」授以(「列」于「程序候选」)于「罄」也。

「重置包补全」乃化「有」而「有」也。
「重置包补全」者会「无」而
  「写引用」于「包补全根缓存」于『』
也。

「查补全项目根」乃化「字符串」而「字符串」也。
「查补全项目根」者会「目录文字」而
  若「路径存在」于(「路径合并」于「目录文字」于『应用/豫言编译器/入口。豫』)则
    「目录文字」
  否则
    虑「父目录」者「获取文件夹名」于「目录文字」
    而
    若「或者」于(「字符串相等吗」于「父目录」于『』)于(「字符串相等吗」于「父目录」于「目录文字」)
    则
      「获取当前路径」于「元」
    否则
      「查补全项目根」于「父目录」
也。

「项目包补全」乃化「字符串」而(「列」于「程序候选」)也。
「项目包补全」者会「项目文字」而
  虑「根」者
    若「字符串相等吗」于「项目文字」于『』则
      「查补全项目根」于(「获取当前路径」于「元」)
    否则若「路径名是绝对路径」于「项目文字」则「项目文字」否则「路径合并」
    于(「获取当前路径」于「元」)于「项目文字」
  而
  若「字符串相等吗」于「根」于(「读引用」于「包补全根缓存」)则
    「读引用」于「包补全缓存」
  否则
    「:文言:一行之内,索籍一次;坏籍不阻编辑。汉语:复用豫构的包发现规则并缓存,跳过旧版目录和符号链接,发现失败只取消包候选。:」
    虑「候选」者
      「尝试运行」授以(「列」于「程序候选」)
      于(会「无」而「从左折叠」授以「包记录」授以(「列」于「程序候选」)
      于(会「记录」而会「已有」而「添唯一名称」于(「记录」中「一」)于「已有」)
      于「罄」
      于(「发现包」于「根」于『』))
      于(会「错误」而「罄」授以「程序候选」)
    而
    (「写引用」于「包补全根缓存」于「根」;
      「写引用」于「包补全缓存」于「候选」;
      「候选」)
也。

「:文言:逐词正名,余皆参量;歧则止。汉语:返回状态、规范命令路径、未消费参数、诊断;根未识别为一,已进入命令后的错误为二。:」
「管理解析结果」即
  「整数」
  合「字符串」
  合(「列」于「字符串」)
  合「字符串」
也。

「解析管理余词」乃化「字符串」而化(「列」于「字符串」)而「管理解析结果」也。
「解析管理余词」者会「前缀」而会「参数」而
  鉴「参数」而
    有「罄」则「零」与「前缀」与「罄」与『』
    或有(「缀」于「首词」于「尾」)则
      若「且」于(「字符串相等吗」于「前缀」于『』)于(「是子字符串吗」于『/』于「首词」)
      则
        「一」与「前缀」与「参数」与『显式路径交由外部程序解析』
      否则
        虑「候选」者「命令下词」于「前缀」而
        鉴「候选」而
          有「罄」则「零」与「前缀」与「参数」与『』
          或有「其他」则
            虑「词」者
              若「字符串相等吗」于「前缀」于『』则
                「命令别名」于「首词」
              否则
                「首词」
            而
            虑「结果」者「决定命令词」于「词」于「候选」
            而
            若「等于」于(「结果」中「零」)于「零」
            则
              「解析管理余词」
                于((若「字符串相等吗」于「前缀」于『』则『』否则「前缀」附『 』)附(「结果」中「一」))
                于「尾」
            否则
              (若「字符串相等吗」于「前缀」于『』则「结果」中「零」否则「二」)与「前缀」与「参数」
                与(「结果」中「二」)
也。

「管理补全词」乃
  化「字符串」而
  化(「列」于「字符串」)而
  (「列」于「程序候选」)
也。
「管理补全词」者会「项目文字」而会「已输入」而
  虑「输入」者鉴「已输入」而
    有(「缀」于「首」于「尾」)则(
      虑「首解」者
        「决定命令词」于(「命令别名」于「首」)于(「命令下词」于『』)而
      若「且」于(「等于」于(「首解」中「零」)于「零」)于(「字符串相等吗」于(「首解」中「一」)于『帮助』)则
        「尾」
      否则
        「已输入」
    )
    或有「罄」则「罄」而
    虑「结果」者「解析管理余词」于『』于「输入」而
    若「非」于(「等于」于(「结果」中「零」)于「零」)则「罄」否则
      鉴「结果」中「二」而
        有「罄」则
          若「字符串相等吗」于(「结果」中「一」)于『工具 构建』
          则
            「常用工具候选」于「元」
          否则
            若「存在吗」授以「字符串」
            于(会「命」而「字符串相等吗」于「命」于(「结果」中「一」))
            于(「列」【『编译』,『类型检查』,『包 检查』】)
            则
              「项目包补全」于「项目文字」
            否则
              「命令下词」于(「结果」中「一」)
        或有「其他」则「罄」
也。

「含全局选项的补全词」乃化(「列」于「字符串」)而(「列」于「程序候选」)也。
「含全局选项的补全词」者会「已输入」而
  递归虑「继续补全」其化「字符串」而化(「列」于「字符串」)而(「列」于「程序候选」)者
    会「项目文字」而会「参数」而鉴「参数」而
      有(「缀」于『--预演』于「余」)则
        「继续补全」于「项目文字」于「余」
      或有(「缀」于『--项目』于(「缀」于「指定文字」于「余」))则
        「继续补全」于「指定文字」于「余」
      或有「其他」则
        「管理补全词」于「项目文字」于「其他」
  而
  「继续补全」于『』于「已输入」
也。

「查命令条目」乃化「字符串」而(「列」于「命令条目」)也。
「查命令条目」者会「路径」而
  「滤」授以「命令条目」
    于(会「条目」而「字符串相等吗」于「路径」于(「条目」中「零」))
    于「命令登记表」
也。

「命令帮助文本」乃化「字符串」而「字符串」也。
「命令帮助文本」者会「路径」而
  「间合」
    于(「字节转字符串」于「一零」)
    于(「态射」授以「命令条目」授以「字符串」
      于(「滤」授以「命令条目」
        于(会「条目」而
          「或者」
            于(「字符串相等吗」于「路径」于『』)
            于(「或者」
              于(「字符串相等吗」于「路径」于(「条目」中「零」))
              于(「串开头是它吗」于(「路径」附『 』)于(「条目」中「零」))))
              于「命令登记表」)
              于(会「条目」而(「条目」中「一」)附『  —  』附(「条目」中「二」)))
也。