我有一个非常小的插件可以从 use 语句开始打开 ​​perl 文件模块。它真的很基础,它只是用 '/' 替换了 '::',然后如果文件存在于 PERL5LIB 中指定的路径之一中,它就会打开它。
我希望它仅在打开文件语法被选择为 perl 时运行。
是否有任何 API 可以获取该信息?
这是我现在拥有的代码:

class OpenPerlModule(sublime_plugin.TextCommand):
    def run(self, edit=None, url=None):
        perl_file = url.replace("::", "/")
        perl_dirs = os.environ.get('PERL5LIB')
        for perl_dir in perl_dirs.split(':'):
            if (os.path.exists(perl_dir + '/' + perl_file + '.pm')):
                self.view.window().open_file(perl_dir + '/' + perl_file + '.pm')
                return

(操作系统是 Ubuntu)

最佳答案

这是您正在寻找的代码片段

self.view.settings().get("syntax")

您应该检查它是否与 Perl 相关的语法。我建议这样的事情:
syntax = self.view.settings().get("syntax")
syntax.endswith("Perl.tmLanguage") or syntax.endswith("Perl.sublime-syntax")

第二个 or 子句是覆盖 >=3080 中引入的新语法

关于python - 在 sublime text 3 插件中获取文件语法选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32740855/

10-10 15:13