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