|
@@ -36,12 +36,28 @@ class OmniCompleter( Completer ):
|
|
|
return []
|
|
|
|
|
|
|
|
|
+ def ShouldUseCache( self ):
|
|
|
+ return vimsupport.GetBoolValue( "g:ycm_cache_omnifunc" )
|
|
|
+
|
|
|
+
|
|
|
+ def ShouldUseNow( self, start_column ):
|
|
|
+ if self.ShouldUseCache():
|
|
|
+ return super( OmniCompleter, self ).ShouldUseNow( start_column )
|
|
|
+ return self.ShouldUseNowInner( start_column )
|
|
|
+
|
|
|
def ShouldUseNowInner( self, start_column ):
|
|
|
if not self.omnifunc:
|
|
|
return False
|
|
|
return super( OmniCompleter, self ).ShouldUseNowInner( start_column )
|
|
|
|
|
|
|
|
|
+ def CandidatesForQueryAsync( self, query, unused_start_column ):
|
|
|
+ if self.ShouldUseCache():
|
|
|
+ return super( OmniCompleter, self ).CandidatesForQueryAsync(
|
|
|
+ query, unused_start_column )
|
|
|
+ else:
|
|
|
+ return self.CandidatesForQueryAsyncInner( query, unused_start_column )
|
|
|
+
|
|
|
def CandidatesForQueryAsyncInner( self, query, unused_start_column ):
|
|
|
if not self.omnifunc:
|
|
|
self.stored_candidates = None
|
|
@@ -81,6 +97,12 @@ class OmniCompleter( Completer ):
|
|
|
self.omnifunc = vim.eval( '&omnifunc' )
|
|
|
|
|
|
|
|
|
+ def CandidatesFromStoredRequest( self ):
|
|
|
+ if self.ShouldUseCache():
|
|
|
+ return super( OmniCompleter, self ).CandidatesFromStoredRequest()
|
|
|
+ else:
|
|
|
+ return self.CandidatesFromStoredRequestInner()
|
|
|
+
|
|
|
def CandidatesFromStoredRequestInner( self ):
|
|
|
return self.stored_candidates if self.stored_candidates else []
|
|
|
|