代码之家  ›  专栏  ›  技术社区  ›  stsquad

Tramp是否提供从缓冲区文件名查询信息的任何API?

  •  4
  • stsquad  · 技术社区  · 14 年前

    我目前正在用Tramp在远程机器上做很多工作。但是,在构建make命令行时,项目逻辑会变得混乱,因为它将尝试cd到某些/ssh:blah….路径。

    Tramp是否提供任何API函数来测试缓冲区或缓冲区文件名是否由Tramp及其在远程计算机上实际管理?它能否提供有关连接类型的附加信息(例如ssh用户/主机详细信息)?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Erik Iverson    14 年前

    关于检查文件名是否由Tramp管理的第一个问题,请参见函数tramp-tramp-file-p,如果文件名是Tramp文件,它将返回t。

        2
  •  2
  •   phils    14 年前

    变量 tramp-file-name-regexp 用于匹配不规则文件名。 (编辑:请参阅下面的Erikriverson的回答,以获得与此匹配的更方便方法。)

    此已添加到 file-name-handler-alist (它确定所有文件名的处理程序),并与 tramp-file-name-handler ,因此您可以选择测试 find-file-name-handler 函数来查看它是否匹配。这似乎是一个稍微更强大的方法(尽管在实践中可能没有什么不同)。

    (eq (find-file-name-handler filename nil) 'tramp-file-name-handler)

    (tramp-dissect-file-name filename) 然后将返回各个连接组件(另请参见 tramp-file-name-structure 变量)。