diff --git a/apps/remix-ide/src/app/plugins/parser/code-parser.tsx b/apps/remix-ide/src/app/plugins/parser/code-parser.tsx index cd0445f1b25..4143cc1147c 100644 --- a/apps/remix-ide/src/app/plugins/parser/code-parser.tsx +++ b/apps/remix-ide/src/app/plugins/parser/code-parser.tsx @@ -258,6 +258,7 @@ export class CodeParser extends Plugin { nodesByContract.imports = {} nodesByContract.contracts = {} this.astWalker.walkFull(source.ast, async (node) => { + //console.log(node) if (node.nodeType === 'ContractDefinition') { const flatNodes = this._flatNodeList(node, fileName, false, compilationResult) node.gasEstimate = this._getContractGasEstimate(node, node.name, fileName, compilationResult) @@ -294,6 +295,9 @@ export class CodeParser extends Plugin { nodesByContract.contracts[node.name].baseNodes = baseNodes nodesByContract.contracts[node.name].baseNodesWithBaseContractScope = baseNodesWithBaseContractScope nodesByContract.contracts[node.name].contractScopeNodes = this._flatNodeList(node, fileName, true, compilationResult) + if(node.contractKind == 'interface'){ + console.log(nodesByContract.contracts[node.name]) + } } if (node.nodeType === 'ImportDirective') { diff --git a/libs/remix-ui/editor/src/lib/providers/completionProvider.ts b/libs/remix-ui/editor/src/lib/providers/completionProvider.ts index 93d259b236c..ee3a094246d 100644 --- a/libs/remix-ui/editor/src/lib/providers/completionProvider.ts +++ b/libs/remix-ui/editor/src/lib/providers/completionProvider.ts @@ -271,6 +271,7 @@ export class RemixCompletionProvider implements languages.CompletionItemProvider if (node.nodeType === 'ContractDefinition') { contractNode = node const contractNodes = fileNodes.contracts[node.name] + nodes = [...Object.values(fileNodes.contracts).map((c) => (c as any).contractDefinition), ...nodes] nodes = [...Object.values(contractNodes.contractScopeNodes), ...nodes] nodes = [...Object.values(contractNodes.baseNodesWithBaseContractScope), ...nodes] nodes = [...Object.values(fileNodes.imports), ...nodes]