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