Configuring a client
File extensions
The LSP server must know how each file extensions are associated with a parser.
The client is responsible for sending this information to the server.
Using VScode
LSP client, this is done via providing perFileParser
object in the initializationOptions
of LanguageClientOptions
.
import { LanguageClient, LanguageClientOptions, ServerOptions, RequestType } from 'vscode-languageclient/node';
// We tell the server that .py files are associated with the python parser defined via the configure_parsers! macro.
const initializationOptions = {
perFileParser: {
"py": "python"
}
}
const clientOptions: LanguageClientOptions = {
documentSelector: [{ language: 'python' }],
synchronize: {
fileEvents: workspace.createFileSystemWatcher('**/*.py')
},
outputChannel: channel,
uriConverters: createUriConverters(),
initializationOptions
};