Merge pull request #172 from zehrizzatti/multiple_filetypes
Fix for multiple filetypes set
This commit is contained in:
commit
e72652e463
@ -134,7 +134,7 @@ class Completer( object ):
|
||||
if not line_length or start_column - 1 >= line_length:
|
||||
return False
|
||||
|
||||
filetype = vimsupport.CurrentFiletypes()[ 0 ]
|
||||
filetype = self._CurrentFiletype()
|
||||
triggers = self.triggers_for_filetype[ filetype ]
|
||||
|
||||
for trigger in triggers:
|
||||
@ -266,6 +266,17 @@ class Completer( object ):
|
||||
return False
|
||||
|
||||
|
||||
def _CurrentFiletype( self ):
|
||||
filetypes = vimsupport.CurrentFiletypes()
|
||||
supported = self.SupportedFiletypes()
|
||||
|
||||
for filetype in filetypes:
|
||||
if filetype in supported:
|
||||
return filetype
|
||||
|
||||
return filetypes[0]
|
||||
|
||||
|
||||
@abc.abstractmethod
|
||||
def SupportedFiletypes( self ):
|
||||
pass
|
||||
|
@ -246,5 +246,9 @@ def DiagnosticsToDiagStructure( diagnostics ):
|
||||
|
||||
|
||||
def ClangAvailableForBuffer( buffer_object ):
|
||||
filetype = vim.eval( 'getbufvar({0}, "&ft")'.format( buffer_object.number ) )
|
||||
return filetype in CLANG_FILETYPES
|
||||
filetypes = vim.eval( 'getbufvar({0}, "&ft")'.format( buffer_object.number ) )
|
||||
supported_fts = [ft for ft in filetypes.split('.') if ft in CLANG_FILETYPES]
|
||||
if supported_fts:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
@ -60,12 +60,20 @@ class YouCompleteMe( object ):
|
||||
def GetFiletypeCompleter( self ):
|
||||
filetypes = vimsupport.CurrentFiletypes()
|
||||
|
||||
for filetype in filetypes:
|
||||
completer = self.GetFiletypeCompleterForFiletype( filetype )
|
||||
if completer:
|
||||
return completer
|
||||
completers = [self.GetFiletypeCompleterForFiletype( filetype )
|
||||
for filetype in filetypes ]
|
||||
|
||||
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 the omni completer for the first filetype
|
||||
return completers[0]
|
||||
|
||||
|
||||
def GetFiletypeCompleterForFiletype( self, filetype ):
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user