python-在Sublime Text 3插件中获取文件语法选择

我有一个非常小的插件,可以从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中引入的新语法

上一篇:SublimeText/Notepad 常用插件


下一篇:python – 在OSX上使用Sublime Text 2的MatPlotLib