diff --git a/src/app/plugin/pluginAPI.js b/src/app/plugin/pluginAPI.js index e83b6c618b4..58117fd5118 100644 --- a/src/app/plugin/pluginAPI.js +++ b/src/app/plugin/pluginAPI.js @@ -115,6 +115,7 @@ module.exports = (pluginManager, fileProviders, fileManager, compiler, udapp) => provider.set(path, content, (error) => { if (error) return cb(error) fileManager.syncEditor(path) + cb() }) } else { cb(path + ' not available') diff --git a/src/lib/cmdInterpreterAPI.js b/src/lib/cmdInterpreterAPI.js index 5f6d8bbe8f5..e74e2cdaf37 100644 --- a/src/lib/cmdInterpreterAPI.js +++ b/src/lib/cmdInterpreterAPI.js @@ -28,7 +28,8 @@ class CmdInterpreterAPI { offsetToLineColumnConverter: self._components.registry.get('offsettolinecolumnconverter').api } self.commandHelp = { - 'remix.getFile(path)': 'Returns te content of the file located at the given path', + 'remix.getFile(path)': 'Returns the content of the file located at the given path', + 'remix.setFile(path, content)': 'set the content of the file located at the given path', 'remix.debug(hash)': 'Start debugging a transaction.', 'remix.loadgist(id)': 'Load a gist in the file explorer.', 'remix.loadurl(url)': 'Load the given url in the file explorer. The url can be of type github, swarm, ipfs or raw http', @@ -172,6 +173,19 @@ class CmdInterpreterAPI { cb('file not found') } } + setFile (path, content, cb) { + cb = cb || function () {} + var provider = this._deps.fileManager.fileProviderOf(path) + if (provider) { + provider.set(path, content, (error) => { + if (error) return cb(error) + this._deps.fileManager.syncEditor(path) + cb() + }) + } else { + cb('file not found') + } + } execute (file, cb) { const self = this