Trigger completion suggestions on dot (#1784)

This commit is contained in:
Jonatan Kłosko 2023-03-14 15:13:52 +01:00 committed by GitHub
parent a9ea50f01a
commit 070a11932f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -85,14 +85,29 @@ document.fonts.addEventListener("loadingdone", (event) => {
* See cell/live_editor.js for more details.
*/
monaco.languages.registerCompletionItemProvider("elixir", {
provideCompletionItems: (model, position, context, token) => {
if (model.__getCompletionItems__) {
return model.__getCompletionItems__(model, position);
} else {
return null;
let completionItemProvider = null;
settingsStore.getAndSubscribe((settings) => {
// We replace the completion provider to always reflect the settings
if (completionItemProvider) {
completionItemProvider.dispose();
}
completionItemProvider = monaco.languages.registerCompletionItemProvider(
"elixir",
{
// Trigger characters always open the popup, so we add dot only
// when completion while typing is enabled
triggerCharacters: settings.editor_auto_completion ? ["."] : [],
provideCompletionItems: (model, position, context, token) => {
if (model.__getCompletionItems__) {
return model.__getCompletionItems__(model, position);
} else {
return null;
}
},
}
},
);
});
monaco.languages.registerHoverProvider("elixir", {