diff --git a/apps/remix-ide/src/app/plugins/copilot/suggestion-service/copilot-suggestion.ts b/apps/remix-ide/src/app/plugins/copilot/suggestion-service/copilot-suggestion.ts index c8cfc0a9be..3b28938732 100644 --- a/apps/remix-ide/src/app/plugins/copilot/suggestion-service/copilot-suggestion.ts +++ b/apps/remix-ide/src/app/plugins/copilot/suggestion-service/copilot-suggestion.ts @@ -6,7 +6,7 @@ const profile = { name: 'copilot-suggestion', displayName: 'copilot-suggestion', description: 'copilot-suggestion', - methods: ['suggest', 'init', 'uninstall', 'status'] + methods: ['suggest', 'init', 'uninstall', 'status', 'isActivate'] } export class CopilotSuggestion extends Plugin { @@ -31,6 +31,15 @@ export class CopilotSuggestion extends Plugin { return this.ready } + async isActivate () { + try { + return await this.call('settings', 'get', 'settings/copilot/suggest/activate') + } catch (e) { + console.error(e) + return false + } + } + async suggest(content: string) { if (!await this.call('settings', 'get', 'settings/copilot/suggest/activate')) return { output: [{ generated_text: ''}]} diff --git a/libs/remix-ui/editor/src/lib/providers/inlineCompletionProvider.ts b/libs/remix-ui/editor/src/lib/providers/inlineCompletionProvider.ts index 6ffaba5aa5..814a56bd1d 100644 --- a/libs/remix-ui/editor/src/lib/providers/inlineCompletionProvider.ts +++ b/libs/remix-ui/editor/src/lib/providers/inlineCompletionProvider.ts @@ -30,6 +30,14 @@ export class RemixInLineCompletionProvider implements monacoTypes.languages.Inli console.log('not a trigger char') return; } + + try { + const isActivate = await this.props.plugin.call('copilot-suggestion', 'isActivate') + if (!isActivate) return + } catch (err) { + return; + } + // eslint-disable-next-line no-useless-escape const regex = new RegExp('\/\/(.*)\n ', 'g')