mirror of
https://github.com/SilasMarvin/lsp-ai.git
synced 2025-12-18 23:14:28 +01:00
Clean up vscode plugin
This commit is contained in:
@@ -40,13 +40,6 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"default": {},
|
"default": {},
|
||||||
"description": "JSON configuration for LSP-AI generation"
|
"description": "JSON configuration for LSP-AI generation"
|
||||||
},
|
|
||||||
"lsp-ai.inlineCompletionConfiguration": {
|
|
||||||
"type": "object",
|
|
||||||
"default": {
|
|
||||||
"maxCompletionsPerSecond": 1
|
|
||||||
},
|
|
||||||
"description": "JSON configuration for LSP-AI generation"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -180,8 +180,6 @@ export function activate(context: vscode.ExtensionContext) {
|
|||||||
context.subscriptions.push(vscode.commands.registerTextEditorCommand(generateCommand, generateCommandHandler));
|
context.subscriptions.push(vscode.commands.registerTextEditorCommand(generateCommand, generateCommandHandler));
|
||||||
|
|
||||||
// Register as an inline completion provider
|
// Register as an inline completion provider
|
||||||
let lastInlineCompletion = Date.now();
|
|
||||||
let inlineCompletionRequestCounter = 0;
|
|
||||||
vscode.languages.registerInlineCompletionItemProvider({ pattern: '**' },
|
vscode.languages.registerInlineCompletionItemProvider({ pattern: '**' },
|
||||||
{
|
{
|
||||||
provideInlineCompletionItems: async (document: vscode.TextDocument, position: vscode.Position) => {
|
provideInlineCompletionItems: async (document: vscode.TextDocument, position: vscode.Position) => {
|
||||||
@@ -193,24 +191,8 @@ export function activate(context: vscode.ExtensionContext) {
|
|||||||
model: generationConfiguration.model,
|
model: generationConfiguration.model,
|
||||||
parameters: generationConfiguration.parameters
|
parameters: generationConfiguration.parameters
|
||||||
};
|
};
|
||||||
|
const result = await client.sendRequest("textDocument/generation", params);
|
||||||
inlineCompletionRequestCounter += 1;
|
return [new vscode.InlineCompletionItem(result["generatedText"])];
|
||||||
let localInlineCompletionRequestCounter = inlineCompletionRequestCounter;
|
|
||||||
|
|
||||||
if ((Date.now() - lastInlineCompletion) / 1000 < 1 / inlineCompletionConfiguration["maxCompletionsPerSecond"]) {
|
|
||||||
await new Promise(r => setTimeout(r, ((1 / inlineCompletionConfiguration["maxCompletionsPerSecond"]) - ((Date.now() - lastInlineCompletion) / 1000 )) * 1000));
|
|
||||||
if (inlineCompletionRequestCounter == localInlineCompletionRequestCounter) {
|
|
||||||
lastInlineCompletion = Date.now();
|
|
||||||
const result = await client.sendRequest("textDocument/generation", params);
|
|
||||||
return [new vscode.InlineCompletionItem(result["generatedText"])];
|
|
||||||
} else {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
lastInlineCompletion = Date.now();
|
|
||||||
const result = await client.sendRequest("textDocument/generation", params);
|
|
||||||
return [new vscode.InlineCompletionItem(result["generatedText"])];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user