豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 139 行 · 7350 字节 · UTF-8
§
「:
文言:遍览仓中豫源,以编器求实类,委 TextMate 划色,逐位相校。
汉语:扫描 Git 工作树中的豫言文件,将解析器语义标记写成 JSONL,再运行 JS TextMate 对照器。
:」

寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「标准库」之「语言核心」之「异常」之书。
寻观「癸象工具」之「总集」之书。
寻观「构建基础」之「包定位」之书。
寻观「构建基础」之「包上下文」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「源码语义标记」之书。

「按行分隔」乃化「字符串」而「列」于「字符串」也。
「按行分隔」者会「文字」而
  (「态射」授以(「列」于「字符串」)授以「字符串」)
  于(「元素分隔」授以「字符串」于(会「字」而「串相等」于「字」于『「:换行:」』)于(「获取字符」于「文字」))
  于「通字符转串」
也。

「应核验源码」乃化「字符串」而「爻」也。
「应核验源码」者会「相对路径」而
  「且」
    于(「串结尾是它吗」于『。豫』于「相对路径」)
      于(「非」于(「是子字符串吗」于『_v0/』于「相对路径」))
也。

「错误记录」乃化「字符串」而化「字符串」而「字符串」也。
「错误记录」者会「相对路径」而会「错误」而
  「癸象表示」于(「癸象对象」于(「列」【
    『源文件』与(「癸象字符串」于「相对路径」),
    『错误』与(「癸象字符串」于「错误」)
  】))
也。

「核验记录」乃化「字符串」而化「字符串」而「字符串」也。
「核验记录」者会「根」而会「相对路径」而
  「尝试运行」授以「字符串」
    于(会「无」而「解析源码语义标记为JSON」于「相对路径」于(「读文件」于(「路径合并」于「根」于「相对路径」)))
    于(会「错误」而「错误记录」于「相对路径」于「错误」)
也。

「扫描记录」乃
  化「字符串」而
  化(「列」于「字符串」)而
  化(「列」于「字符串」)而
  「列」于「字符串」
也。
「扫描记录」者会「根」而会「路径们」而会「反记录」而
  鉴「路径们」而
    有「罄」则「反转」于「反记录」
    或有(「缀」于「相对路径」于「余下」)则
      若「应核验源码」于「相对路径」
      则
        「扫描记录」于「根」于「余下」于(「缀」于「相对路径」于「反记录」)
      否则
        「扫描记录」于「根」于「余下」于「反记录」
也。

「列出候选文件」乃化「字符串」而「列」于「字符串」也。
「列出候选文件」者会「根」而
  虑「结果」者
    「获取输出」
      于『git』
      于(「列」【『-C』,「根」,『-c』,『core.quotepath=false』,『ls-files』,『-co』,『--exclude-standard』】)而
  若「结果」中「零」则
    「按行分隔」于(「结果」中「一」)
  否则
    「发生事故」授以(「列」于「字符串」)于(「结果」中「二」)
也。

「建立核验上下文」乃化「字符串」而「有」也。
「建立核验上下文」者会「根」而
  虑「候选」者「发现包」于「根」于『』而
  虑「身份们」者
    (「态射」授以「包记录」授以「包标识」)于「候选」于「包身份」而
    虑「索引」者
      (「态射」授以「包记录」授以「包记录」)
      于「候选」
      于(会「包值」而
        (「包值」中「零」)与(「包值」中「一」)与(「包值」中「二」)
          与
        (「滤」授以「包标识」
          于(会「身份」而「非」于(「包标识相等」于「身份」于(「包身份」于「包值」)))
          于「身份们」)与『』
      )
    而
    「写文件」于(「路径合并」于「根」于『yy语法高亮上下文.txt』)
    于(「编码包上下文」于「索引」)
也。

「准备单文件上下文」乃化「字符串」而「有」也。
「准备单文件上下文」者会「根」而
  虑「无」者
    「启用包上下文」于(「路径合并」于「根」于『yy语法高亮上下文.txt』)而
    虑「索引」者「读引用」授以「包索引」于「包上下文索引」而
    虑「身份们」者
      (「态射」授以「包记录」授以「包标识」)于「索引」于「包身份」而
      虑「根包」者「包记录」也(『豫言』与『语法高亮核验仓根』与(「路径合并」于「根」于『yy语法高亮核验仓根。包。豫』)
        与「身份们」与『』)
      而
      「写引用」于「包上下文索引」于(「缀」于「根包」于「索引」)
也。

「执行核验」乃化「字符串」而化「字符串」而「整数」也。
「执行核验」者会「根」而会「记录路径」而
  虑「无」者「建立核验上下文」于「根」而
  虑「记录」者「扫描记录」于「根」于(「列出候选文件」于「根」)于「罄」而
  虑「无」者
    「写文件」于「记录路径」于(「间合」于『「:换行:」』于「记录」)而
    虑「无」者
      「打印行」于(『待核验 』附(「整数表示」于(「长度」于「记录」))附『 个源码文件。』)而
      虑「脚本」者
        「路径合并」于「根」于『应用/开发工具/yuyan-vscode/test/语法高亮核验.mjs』
      而
      「运行并传递输出」
        于『node』
        于(「列」【「脚本」,「根」,「记录路径」,(「命令行参数」之「获取程序名」于「元」)】)
也。

虑「根」者
  「获取当前路径」于「元」而
鉴「获取参数」于「元」而
  有「罄」则「进程」之「退出」于(「执行核验」于「根」于(「路径合并」于「根」于『yy语法高亮文件表.txt』))
  或有((「列」【「用户根」】))则
    「进程」之「退出」于(「执行核验」于「用户根」于(「路径合并」于「用户根」于『yy语法高亮文件表.txt』))
  或有((「列」【『文件』,「用户根」,「相对路径」】))则
    (「准备单文件上下文」于「用户根」;
      「打印行」于(「核验记录」于「用户根」于「相对路径」);
      「进程」之「退出」于「零」)
  或有「其他」则
    「发生事故」于『用法:yy语法高亮核验 【仓库根目录】』
。