From 846d52b509a96d207959a04288cc7be6a9931cfa Mon Sep 17 00:00:00 2001 From: Dominik Kaszewski Date: Wed, 7 Aug 2024 11:15:06 +0200 Subject: [PATCH 1/2] Skip mono check on Linux with .NET 6.0 --- ycmd/completers/cs/cs_completer.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/ycmd/completers/cs/cs_completer.py b/ycmd/completers/cs/cs_completer.py index 18f52691a4..a39ce563ed 100644 --- a/ycmd/completers/cs/cs_completer.py +++ b/ycmd/completers/cs/cs_completer.py @@ -56,6 +56,10 @@ LOGFILE_FORMAT = 'omnisharp_{port}_{sln}_{std}_' +def MonoRequired( roslyn_path: str ): + return not utils.OnWindows() and roslyn_path.endswith( '.exe' ) + + def ShouldEnableCsCompleter( user_options ): user_roslyn_path = user_options[ 'roslyn_binary_path' ] if user_roslyn_path and not os.path.isfile( user_roslyn_path ): @@ -67,12 +71,19 @@ def ShouldEnableCsCompleter( user_options ): roslyn = user_roslyn_path else: roslyn = PATH_TO_OMNISHARP_ROSLYN_BINARY - mono = FindExecutableWithFallback( user_options[ 'mono_binary_path' ], - FindExecutable( 'mono' ) ) - if roslyn and ( mono or utils.OnWindows() ): - return True - LOGGER.info( 'No mono executable at %s', mono ) - return False + + if not roslyn: + LOGGER.info( 'No roslyn executable at %s', roslyn ) + return False + + if MonoRequired( roslyn ): + mono = FindExecutableWithFallback( user_options[ 'mono_binary_path' ], + FindExecutable( 'mono' ) ) + if not mono: + LOGGER.info( 'No mono executable at %s', mono ) + return False + + return True class CsharpCompleter( Completer ): @@ -438,8 +449,7 @@ def _ConstructOmnisharpCommand( self ): '-s', str( self._solution_path ) ] - if ( not utils.OnWindows() - and self._roslyn_path.endswith( '.exe' ) ): + if ( MonoRequired( self._roslyn_path ) ): self._omnisharp_command.insert( 0, self._mono_path ) return self._omnisharp_command From 0a58e0b9205becb79bea68bbce84bb58d284d9ff Mon Sep 17 00:00:00 2001 From: Dominik Kaszewski Date: Wed, 7 Aug 2024 18:45:13 +0200 Subject: [PATCH 2/2] Fix indent --- ycmd/completers/cs/cs_completer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ycmd/completers/cs/cs_completer.py b/ycmd/completers/cs/cs_completer.py index a39ce563ed..7e3007fe8a 100644 --- a/ycmd/completers/cs/cs_completer.py +++ b/ycmd/completers/cs/cs_completer.py @@ -57,7 +57,7 @@ def MonoRequired( roslyn_path: str ): - return not utils.OnWindows() and roslyn_path.endswith( '.exe' ) + return not utils.OnWindows() and roslyn_path.endswith( '.exe' ) def ShouldEnableCsCompleter( user_options ):