diff --git a/pythonx/UltiSnips/snippet/source/base.py b/pythonx/UltiSnips/snippet/source/base.py index 4d6933f2..a7e4079f 100644 --- a/pythonx/UltiSnips/snippet/source/base.py +++ b/pythonx/UltiSnips/snippet/source/base.py @@ -15,6 +15,7 @@ class SnippetSource: def __init__(self): self._snippets = defaultdict(SnippetDictionary) self._extends = defaultdict(set) + self._must_refresh = True def ensure(self, filetypes): """Ensures that snippets are loaded.""" diff --git a/pythonx/UltiSnips/snippet/source/file/base.py b/pythonx/UltiSnips/snippet/source/file/base.py index c3e00f3a..e36c142a 100644 --- a/pythonx/UltiSnips/snippet/source/file/base.py +++ b/pythonx/UltiSnips/snippet/source/file/base.py @@ -27,9 +27,11 @@ def __init__(self): SnippetSource.__init__(self) def ensure(self, filetypes): - for ft in self.get_deep_extends(filetypes): - if self._needs_update(ft): - self._load_snippets_for(ft) + if self._must_refresh: + for ft in self.get_deep_extends(filetypes): + if self._needs_update(ft): + self._load_snippets_for(ft) + self._must_refresh = False def refresh(self): self.__init__()