diff --git a/package.json b/package.json index a55f256..2c225c4 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "prepare": "npm run build" }, "package-deps": [ - "atom-ide-markdown-service", "busy-signal" ], "dependencies": { diff --git a/src/main.ts b/src/main.ts index 31e3e47..d6721af 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,11 +10,20 @@ export function activate() { // Events subscribed to in atom's system can be easily cleaned up with a CompositeDisposable signatureHelpManager = new SignatureHelpManager() subscriptions.add(signatureHelpManager) - ;(require("atom-package-deps") as typeof import("atom-package-deps")) - .install("atom-ide-signature-help", true) + + installPackageDeps() .then(() => { signatureHelpManager.initialize() }) + .catch((e) => { + atom.notifications.addError(e) + }) +} + +async function installPackageDeps() { + if (!atom.packages.isPackageLoaded("busy-signal")) { + await (await import("atom-package-deps")).install("atom-ide-signature-help", true) + } } /** Called by Atom when deactivating an extension */