我有一个非常小的插件可以从 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/