@@ -90,21 +90,7 @@ function findManualExecutable(uri: Uri, folder?: WorkspaceFolder): string | null
9090
9191/** Searches the PATH for whatever is set in serverVariant */
9292function findLocalServer ( context : ExtensionContext , uri : Uri , folder ?: WorkspaceFolder ) : string | null {
93- const serverVariant = workspace . getConfiguration ( 'haskell' , uri ) . languageServerVariant ;
94-
95- // Set the executable, based on the settings.
96- let exes : string [ ] = [ ] ; // should get set below
97- switch ( serverVariant ) {
98- case 'haskell-ide-engine' :
99- exes = [ 'hie-wrapper' , 'hie' ] ;
100- break ;
101- case 'haskell-language-server' :
102- exes = [ 'haskell-language-server-wrapper' , 'haskell-language-server' ] ;
103- break ;
104- case 'ghcide' :
105- exes = [ 'ghcide' ] ;
106- break ;
107- }
93+ const exes : string [ ] = [ 'haskell-language-server-wrapper' , 'haskell-language-server' ] ;
10894
10995 for ( const exe of exes ) {
11096 if ( executableExists ( exe ) ) {
@@ -151,13 +137,8 @@ async function activateServerForFolder(context: ExtensionContext, uri: Uri, fold
151137 serverExecutable = findManualExecutable ( uri , folder ) ?? findLocalServer ( context , uri , folder ) ;
152138 if ( serverExecutable === null ) {
153139 // If not, then try to download haskell-language-server binaries if it's selected
154- if ( workspace . getConfiguration ( 'haskell' , uri ) . languageServerVariant === 'haskell-language-server' ) {
155- serverExecutable = await downloadHaskellLanguageServer ( context , uri , folder ) ;
156- if ( ! serverExecutable ) {
157- return ;
158- }
159- } else {
160- showNotInstalledErrorMessage ( uri ) ;
140+ serverExecutable = await downloadHaskellLanguageServer ( context , uri , folder ) ;
141+ if ( ! serverExecutable ) {
161142 return ;
162143 }
163144 }
@@ -170,16 +151,12 @@ async function activateServerForFolder(context: ExtensionContext, uri: Uri, fold
170151
171152 let args : string [ ] = [ '--lsp' ] ;
172153
173- const serverVariant = workspace . getConfiguration ( 'haskell' , uri ) . languageServerVariant ;
174- // ghcide does not accept -d and -l params
175- if ( serverVariant !== 'ghcide' ) {
176- if ( logLevel === 'messages' ) {
177- args = args . concat ( [ '-d' ] ) ;
178- }
154+ if ( logLevel === 'messages' ) {
155+ args = args . concat ( [ '-d' ] ) ;
156+ }
179157
180- if ( logFile !== '' ) {
181- args = args . concat ( [ '-l' , logFile ] ) ;
182- }
158+ if ( logFile !== '' ) {
159+ args = args . concat ( [ '-l' , logFile ] ) ;
183160 }
184161
185162 // If we're operating on a standalone file (i.e. not in a folder) then we need
@@ -251,22 +228,3 @@ export async function deactivate() {
251228 }
252229 await Promise . all ( promises ) ;
253230}
254-
255- function showNotInstalledErrorMessage ( uri : Uri ) {
256- const variant = workspace . getConfiguration ( 'haskell' , uri ) . languageServerVariant ;
257- let projectUrl = '' ;
258- switch ( variant ) {
259- case 'haskell-ide-engine' :
260- projectUrl = '/haskell/haskell-ide-engine' ;
261- break ;
262- case 'haskell-language-server' :
263- projectUrl = '/haskell/haskell-language-server' ;
264- break ;
265- case 'ghcide' :
266- projectUrl = '/digital-asset/ghcide' ;
267- break ;
268- }
269- const notInstalledMsg : string =
270- variant + ' executable missing, please make sure it is installed, see https://github.com' + projectUrl + '.' ;
271- window . showErrorMessage ( notInstalledMsg ) ;
272- }
0 commit comments