Check for a native completer with multiple filetypes
GetFiletypeCompleter would always return a omnicompleter for the first filetype in case there was no native completer, and the lookup would stop. This changes that behaviour to get all possible completers and tries to find a native one among them. If no native completer is found, it returns the omnicompleter for the first filetypes, as it used to.
This commit is contained in:
parent
1acd3e84c7
commit
ac1e04fc14
@ -60,11 +60,19 @@ class YouCompleteMe( object ):
|
|||||||
def GetFiletypeCompleter( self ):
|
def GetFiletypeCompleter( self ):
|
||||||
filetypes = vimsupport.CurrentFiletypes()
|
filetypes = vimsupport.CurrentFiletypes()
|
||||||
|
|
||||||
for filetype in filetypes:
|
completers = [self.GetFiletypeCompleterForFiletype( filetype )
|
||||||
completer = self.GetFiletypeCompleterForFiletype( filetype )
|
for filetype in filetypes ]
|
||||||
if completer:
|
|
||||||
|
if not completers:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Try to find a native completer first
|
||||||
|
for completer in completers:
|
||||||
|
if completer and completer is not self.omnicomp:
|
||||||
return completer
|
return completer
|
||||||
return None
|
|
||||||
|
# Return the omni completer for the first filetype
|
||||||
|
return completers[0]
|
||||||
|
|
||||||
|
|
||||||
def GetFiletypeCompleterForFiletype( self, filetype ):
|
def GetFiletypeCompleterForFiletype( self, filetype ):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user