@@ -90,21 +90,7 @@ function findManualExecutable(uri: Uri, folder?: WorkspaceFolder): string | null
90
90
91
91
/** Searches the PATH for whatever is set in serverVariant */
92
92
function 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' ] ;
108
94
109
95
for ( const exe of exes ) {
110
96
if ( executableExists ( exe ) ) {
@@ -151,13 +137,8 @@ async function activateServerForFolder(context: ExtensionContext, uri: Uri, fold
151
137
serverExecutable = findManualExecutable ( uri , folder ) ?? findLocalServer ( context , uri , folder ) ;
152
138
if ( serverExecutable === null ) {
153
139
// 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 ) {
161
142
return ;
162
143
}
163
144
}
@@ -170,16 +151,12 @@ async function activateServerForFolder(context: ExtensionContext, uri: Uri, fold
170
151
171
152
let args : string [ ] = [ '--lsp' ] ;
172
153
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
+ }
179
157
180
- if ( logFile !== '' ) {
181
- args = args . concat ( [ '-l' , logFile ] ) ;
182
- }
158
+ if ( logFile !== '' ) {
159
+ args = args . concat ( [ '-l' , logFile ] ) ;
183
160
}
184
161
185
162
// 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() {
251
228
}
252
229
await Promise . all ( promises ) ;
253
230
}
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