diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e85e239859..90c49a25f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,6 +83,10 @@ jobs: with: java-version: 17 distribution: 'adopt' + - name: Install .NET 6 + uses: actions/setup-dotnet@v2 + with: + dotnet-version: '6.x.x' - name: Install Python uses: actions/setup-python@v2 with: @@ -233,6 +237,10 @@ jobs: with: java-version: 17 distribution: 'adopt' + - name: Install .NET 6 + uses: actions/setup-dotnet@v2 + with: + dotnet-version: '6.x.x' - name: Install Python uses: actions/setup-python@v2 with: diff --git a/build.py b/build.py index 4f586f2864..24a92d50a4 100755 --- a/build.py +++ b/build.py @@ -876,44 +876,49 @@ def GetCsCompleterDataForPlatform(): #################################### DATA = { 'win32': { - 'version': 'v1.37.11', + 'version': 'v1.39.2', 'download_url': ( 'https://github.com/OmniSharp/omnisharp-roslyn/release' - 's/download/v1.37.11/omnisharp.http-win-x86.zip' ), - 'file_name': 'omnisharp.http-win-x86.zip', - 'check_sum': ( '461544056b144c97e8413de8c1aa1ddd9e2902f5a9f2223af8046d65' - '4d95f2a0' ), + 's/download/v1.39.2/omnisharp.http-win-x86-net6.0.' + 'zip' ), + 'file_name': 'omnisharp.http-win-x86-net6.0.zip', + 'check_sum': ( 'd6814b0a1e501e9b3c72eadf13b06f31e8bbd8e2e04568754f2dd4e5' + '07310633' ), }, 'win64': { - 'version': 'v1.37.11', + 'version': 'v1.39.2', 'download_url': ( 'https://github.com/OmniSharp/omnisharp-roslyn/release' - 's/download/v1.37.11/omnisharp.http-win-x64.zip' ), - 'file_name': 'omnisharp.http-win-x64.zip', - 'check_sum': ( '7f6f0abfac00d028b90aaf1f56813e4fbb73d84bdf2c4704862aa976' - '1b61a59c' ), + 's/download/v1.39.2/omnisharp.http-win-x64-net6.0.' + 'zip' ), + 'file_name': 'omnisharp.http-win-x64-net6.0.zip', + 'check_sum': ( 'a1f31b0efb535e38beb76a8daaeeab2fac7488452197ac588335be43' + 'f3bd46bb' ), }, 'macos': { - 'version': 'v1.37.11', + 'version': 'v1.39.2', 'download_url': ( 'https://github.com/OmniSharp/omnisharp-roslyn/release' - 's/download/v1.37.11/omnisharp.http-osx.tar.gz' ), - 'file_name': 'omnisharp.http-osx.tar.gz', - 'check_sum': ( '84b84a8a3cb8fd3986ea795d9230457c43bf130b482fcb77fef57c67' - 'e151828a' ), + 's/download/v1.39.2/omnisharp.http-osx-x64-net6.0.tar.' + 'gz' ), + 'file_name': 'omnisharp.http-osx-x64-net6.0.tar.gz', + 'check_sum': ( '33163bdd54428b8a2a10ca987a577e7f9776d85bf2e892c756d45789' + '351c3782' ), }, 'linux32': { - 'version': 'v1.37.11', + 'version': 'v1.39.2', 'download_url': ( 'https://github.com/OmniSharp/omnisharp-roslyn/release' - 's/download/v1.37.11/omnisharp.http-linux-x86.tar.gz' ), - 'file_name': 'omnisharp.http-linux-x86.tar.gz', - 'check_sum': ( 'a5ab39380a5d230c75f08bf552980cdc5bd8c31a43348acbfa66f1f4' - '6f12851f' ), + 's/download/v1.39.2/omnisharp.http-linux-x64-net6.0.ta' + 'r.gz' ), + 'file_name': 'omnisharp.http-linux-x64-net6.0.tar.gz', + 'check_sum': ( '7c37055febe0fbcc1f0cddc62143665665baeb163f96beda5fade0e3' + 'd0048680' ), }, 'linux64': { - 'version': 'v1.37.11', + 'version': 'v1.39.2', 'download_url': ( 'https://github.com/OmniSharp/omnisharp-roslyn/release' - 's/download/v1.37.11/omnisharp.http-linux-x64.tar.gz' ), - 'file_name': 'omnisharp.http-linux-x64.tar.gz', - 'check_sum': ( '9a6e9a246babd777229eebb57f0bee86e7ef5da271c67275eae5ed9d' - '7b0ad563' ), + 's/download/v1.39.2/omnisharp.http-linux-x64-net6.0.ta' + 'r.gz' ), + 'file_name': 'omnisharp.http-linux-x64-net6.0.tar.gz', + 'check_sum': ( '7c37055febe0fbcc1f0cddc62143665665baeb163f96beda5fade0e3' + 'd0048680' ), }, } if OnWindows(): diff --git a/update_omnisharp.py b/update_omnisharp.py index 566f186ce4..a21d9754a5 100755 --- a/update_omnisharp.py +++ b/update_omnisharp.py @@ -23,11 +23,11 @@ "releases/{version}/{file_name}" ), } FILE_NAME = { - 'win32': 'omnisharp.http-win-x86.zip', - 'win64': 'omnisharp.http-win-x64.zip', - 'macos': 'omnisharp.http-osx.tar.gz', - 'linux32': 'omnisharp.http-linux-x86.tar.gz', - 'linux64': 'omnisharp.http-linux-x64.tar.gz', + 'win32': 'omnisharp.http-win-x86-net6.0.zip', + 'win64': 'omnisharp.http-win-x64-net6.0.zip', + 'macos': 'omnisharp.http-osx-x64-net6.0.tar.gz', + 'linux32': 'omnisharp.http-linux-x64-net6.0.tar.gz', + 'linux64': 'omnisharp.http-linux-x64-net6.0.tar.gz', } diff --git a/ycmd/completers/cs/cs_completer.py b/ycmd/completers/cs/cs_completer.py index bb7544987e..b21eb89ff0 100644 --- a/ycmd/completers/cs/cs_completer.py +++ b/ycmd/completers/cs/cs_completer.py @@ -50,9 +50,9 @@ PATH_TO_ROSLYN_OMNISHARP, 'Omnisharp.exe' ) if ( not os.path.isfile( PATH_TO_OMNISHARP_ROSLYN_BINARY ) and os.path.isfile( os.path.join( - PATH_TO_ROSLYN_OMNISHARP, 'omnisharp', 'OmniSharp.exe' ) ) ): + PATH_TO_ROSLYN_OMNISHARP, 'OmniSharp' ) ) ): PATH_TO_OMNISHARP_ROSLYN_BINARY = ( - os.path.join( PATH_TO_ROSLYN_OMNISHARP, 'omnisharp', 'OmniSharp.exe' ) ) + os.path.join( PATH_TO_ROSLYN_OMNISHARP, 'OmniSharp' ) ) LOGFILE_FORMAT = 'omnisharp_{port}_{sln}_{std}_' diff --git a/ycmd/tests/cs/subcommands_test.py b/ycmd/tests/cs/subcommands_test.py index 3205714f52..f62bfc1360 100644 --- a/ycmd/tests/cs/subcommands_test.py +++ b/ycmd/tests/cs/subcommands_test.py @@ -109,23 +109,28 @@ def test_Subcommands_FixIt_Multi( self, app ): filetype = 'cs', filepath = fixit_test ) response = app.post_json( '/run_completer_command', request ).json + assert_that( response, has_entries( { 'fixits': contains_exactly( has_entries( { - 'text': 'Introduce constant', + 'text': 'Introduce parameter for \'5\'', 'command': has_entries( { 'index': 0 } ), 'resolve': True } ), has_entries( { - 'text': 'Convert to binary', + 'text': 'Introduce parameter for all occurrences of \'5\'', 'command': has_entries( { 'index': 1 } ), 'resolve': True } ), has_entries( { - 'text': 'Convert to hex', + 'text': 'Convert to binary', 'command': has_entries( { 'index': 2 } ), 'resolve': True } ), + has_entries( { + 'text': 'Convert to hex', + 'command': has_entries( { 'index': 3 } ), + 'resolve': True } ), ) } ) ) request.pop( 'command_arguments' ) - request.update( { 'fixit': response[ 'fixits' ][ 1 ] } ) + request.update( { 'fixit': response[ 'fixits' ][ 2 ] } ) response = app.post_json( '/resolve_fixit', request ).json assert_that( response, has_entries( { 'fixits': contains_exactly( has_entries( {