Merge pull request #824 from mispencer/OmnisharpServerUpdate
Update OmniSharpServer to latest to resolve port issues on windows as non-admin
This commit is contained in:
commit
55663847ba
@ -1 +1 @@
|
||||
Subproject commit ee198be6f06d39cef84b0817e0b88d3e08cbc477
|
||||
Subproject commit 53ea4d7fb5190fa118ff36cdf1037644b4a2fc9f
|
@ -39,6 +39,17 @@ class CsharpCompleter( Completer ):
|
||||
A Completer that uses the Omnisharp server as completion engine.
|
||||
"""
|
||||
|
||||
subcommands = {
|
||||
'StartServer': (lambda self, request_data: self._StartServer( request_data )),
|
||||
'StopServer': (lambda self, request_data: self._StopServer()),
|
||||
'RestartServer': (lambda self, request_data: self._RestartServer( request_data )),
|
||||
'ServerRunning': (lambda self, request_data: self._ServerIsRunning()),
|
||||
'ServerReady': (lambda self, request_data: self._ServerIsReady()),
|
||||
'GoToDefinition': (lambda self, request_data: self._GoToDefinition( request_data )),
|
||||
'GoToDeclaration': (lambda self, request_data: self._GoToDefinition( request_data )),
|
||||
'GoToDefinitionElseDeclaration': (lambda self, request_data: self._GoToDefinition( request_data ))
|
||||
}
|
||||
|
||||
def __init__( self, user_options ):
|
||||
super( CsharpCompleter, self ).__init__( user_options )
|
||||
self._omnisharp_port = None
|
||||
@ -65,13 +76,7 @@ class CsharpCompleter( Completer ):
|
||||
|
||||
|
||||
def DefinedSubcommands( self ):
|
||||
return [ 'StartServer',
|
||||
'StopServer',
|
||||
'RestartServer',
|
||||
'ServerRunning',
|
||||
'GoToDefinition',
|
||||
'GoToDeclaration',
|
||||
'GoToDefinitionElseDeclaration' ]
|
||||
return CsharpCompleter.subcommands.keys()
|
||||
|
||||
|
||||
def OnFileReadyToParse( self, request_data ):
|
||||
@ -85,20 +90,10 @@ class CsharpCompleter( Completer ):
|
||||
raise ValueError( self.UserCommandsHelpMessage() )
|
||||
|
||||
command = arguments[ 0 ]
|
||||
if command == 'StartServer':
|
||||
return self._StartServer( request_data )
|
||||
elif command == 'StopServer':
|
||||
return self._StopServer()
|
||||
elif command == 'RestartServer':
|
||||
if self._ServerIsRunning():
|
||||
self._StopServer()
|
||||
return self._StartServer( request_data )
|
||||
elif command == 'ServerRunning':
|
||||
return self._ServerIsRunning()
|
||||
elif command in [ 'GoToDefinition',
|
||||
'GoToDeclaration',
|
||||
'GoToDefinitionElseDeclaration' ]:
|
||||
return self._GoToDefinition( request_data )
|
||||
if command in CsharpCompleter.subcommands:
|
||||
command_lamba = CsharpCompleter.subcommands[ command ]
|
||||
return command_lamba( self, request_data )
|
||||
else:
|
||||
raise ValueError( self.UserCommandsHelpMessage() )
|
||||
|
||||
|
||||
@ -181,6 +176,13 @@ class CsharpCompleter( Completer ):
|
||||
self._logger.info( 'Stopping OmniSharp server' )
|
||||
|
||||
|
||||
def _RestartServer ( self, request_data ):
|
||||
""" Restarts the OmniSharp server """
|
||||
if self._ServerIsRunning():
|
||||
self._StopServer()
|
||||
return self._StartServer( request_data )
|
||||
|
||||
|
||||
def _GetCompletions( self, request_data ):
|
||||
""" Ask server for completions """
|
||||
completions = self._GetResponse( '/autocomplete',
|
||||
@ -221,6 +223,15 @@ class CsharpCompleter( Completer ):
|
||||
return False
|
||||
|
||||
|
||||
def _ServerIsReady( self ):
|
||||
""" Check if our OmniSharp server is ready """
|
||||
try:
|
||||
return bool( self._omnisharp_port and
|
||||
self._GetResponse( '/checkreadystatus', silent = True ) )
|
||||
except:
|
||||
return False
|
||||
|
||||
|
||||
def _ServerLocation( self ):
|
||||
return 'http://localhost:' + str( self._omnisharp_port )
|
||||
|
||||
|
@ -73,7 +73,7 @@ def GetCompletions_CsCompleter_Works_test():
|
||||
while True:
|
||||
result = app.post_json( '/run_completer_command',
|
||||
BuildRequest( completer_target = 'filetype_default',
|
||||
command_arguments = ['ServerRunning'],
|
||||
command_arguments = ['ServerReady'],
|
||||
filetype = 'cs' ) ).json
|
||||
if result:
|
||||
break
|
||||
|
Loading…
Reference in New Issue
Block a user