Estoy haciendo una extensión vscode para un lenguaje de programación. Al principio estaba haciendo todo el trabajo usando la extensión api. Ahora quiero cambiar de LSP. La función que implementé fue que muestra la definición de funciones integradas al pasar el mouse.
Este fue el código:
vscode.languages.registerHoverProvider("lc", { provideHover(document, position) { const word = document.getText( document.getWordRangeAtPosition(position, /\b\w+(?=\(.*\))/) ); if (builtin_funcs[word] != undefined) { return new vscode.Hover( new vscode.MarkdownString(`${builtin_funcs[word]}`) ); } else { return null; } }, }); estaba usando la función getWordRangeAtPosition con la expresión regular /\b\w+(?=\(.*\))/ para hacer coincidir las funciones. Después de obtener el nombre de la función, lo busqué en la matriz builtin_funcs y devolví la definición. 
Ahora quiero portar esto a LSP pero no puedo encontrar el equivalente de la función getWordRangeAtPosition .