From 3d6a65a0f606a296c0905438d6ed4095dfc4f86b Mon Sep 17 00:00:00 2001 From: aniket-engg Date: Thu, 31 Aug 2023 19:40:50 +0530 Subject: [PATCH] add specific pragma in quickfix --- .../editor/src/lib/providers/codeActionProvider.ts | 12 +++++++++++- libs/remix-ui/editor/src/lib/providers/quickfixes.ts | 1 - 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/editor/src/lib/providers/codeActionProvider.ts b/libs/remix-ui/editor/src/lib/providers/codeActionProvider.ts index fb6f339aa61..ce4549a748a 100644 --- a/libs/remix-ui/editor/src/lib/providers/codeActionProvider.ts +++ b/libs/remix-ui/editor/src/lib/providers/codeActionProvider.ts @@ -60,7 +60,17 @@ export class RemixCodeActionProvider implements monaco.languages.CodeActionProvi } else { for (const fix of fixes) { if (fix && nodeAtPosition && fix.nodeType !== nodeAtPosition.nodeType) continue - else + if (fix.id === 2) { + // To add specific pragma based on error + const startIndex = error.message.indexOf('pragma') + const endIndex = error.message.indexOf(';') + const msg = error.message.substring(startIndex, endIndex + 1) + this.addQuickFix(actions, error, model.uri, { + title: fix.title, + range: fix.range, + text: msg + }) + } else this.addQuickFix(actions, error, model.uri, { title: fix.title, range: fix.range || error, diff --git a/libs/remix-ui/editor/src/lib/providers/quickfixes.ts b/libs/remix-ui/editor/src/lib/providers/quickfixes.ts index 8897dc856d1..2edb137fd6b 100644 --- a/libs/remix-ui/editor/src/lib/providers/quickfixes.ts +++ b/libs/remix-ui/editor/src/lib/providers/quickfixes.ts @@ -55,7 +55,6 @@ export default { { id: 2, title: 'Add Solidity pragma', - message: 'pragma solidity ^0.*.*;', nodeType: 'PragmaDirective', range: { startLineNumber: 2,