语言服务器如何访问与源文件位于同一目录中的文件

how can a language server access a file in the same directory as the source file

我正在为我的自定义语言编写一个语言服务器。 源文件的处理方式部分受与源文件位于同一目录中的 manifest.json 文件的影响。在一个工作区中,可能有多个目录,每个目录有多个源文件和 1 个清单文件。 例子

DirA
    manifest.json
    sourcefile1.xyz
    sourcefile2.xyz
DirB
    DirB1
        manifest.json
        sf3.xyz
    DirB2
        manifest.json
        sf4.xyz

如何在用户编辑 .xyz 文件时使 manifest.json 文件可供语言服务器使用。

语言服务器接收到包含 uri 的 TextDocument class。 如果此 uri 存储在磁盘上,则它具有 'file' 协议。使用path.dirname(uri),可以得到文件的目录。