       if atom.packages.isPackageDisabled(v)
         console.log "Enabling package '#{v}'" if atom.inDevMode()
         atom.packages.enablePackage(v)
+
+  isPathSetup: () ->
+    { access, constants} = require "fs"
+
+    pathToJar = atom.config.get("#{meta.name}.pathToJar")
+
+    access pathToJar, constants.R_OK | constants.W_OK, (error) ->
+      if error
+        notification = atom.notifications.addWarning(
+          "**#{meta.name}**: No valid \`nsL.jar\` was specified in your settings",
+          dismissable: true,
+          buttons: [
+            {
+              text: 'Open Settings'
+              onDidClick: ->
+                atom.workspace.open("atom://config/packages/#{meta.name}");
+                notification.dismiss();
+            },
+            {
+              text: 'Ignore',
+              onDidClick: ->
+                atom.config.set("#{meta.name}.mutePathWarning", true);
+                notification.dismiss();
+            }
+          ]
+        )
 
   consumeConsolePanel: (@consolePanel) ->
 

      type: "string"
      default: ""
      order: 0
    customArguments:
      title: "Custom Arguments"
      description: "Specify your preferred arguments for nsL Assembler"
      type: "string"
      default: "/nomake /nopause"
      order: 1
    alwaysShowOutput:
      title: "Always Show Output"
      description: "Displays compiler output in console panel. When deactivated, it will only show on errors"
      type: "boolean"
      default: true
      order: 2
    showBuildNotifications:
      title: "Show Build Notifications"
      description: "Displays color-coded notifications that close automatically after 5 seconds"
      type: "boolean"
      default: true
      order: 3
    clearConsole:
      title: "Clear Console"
      description: "When `console-panel` isn't available, build logs will be printed using `console.log()`. This setting clears the console prior to building."
      type: "boolean"
      default: true
      order: 4
    manageDependencies:
      title: "Manage Dependencies"
      description: "When enabled, third-party dependencies will be installed automatically"
      type: "boolean"
      default: true
      order: 5
  subscriptions: null

  activate: (state) ->


      nslCmd.on "close", ( errorCode ) ->
        if errorCode is 0 and hasError is false
          return atom.notifications.addSuccess("Transpiled successfully", dismissable: false) if atom.config.get("#{meta.name}.showBuildNotifications")

        return atom.notifications.addError("Transpile failed", dismissable: false) if atom.config.get("#{meta.name}.showBuildNotifications")
    else
      # Something went wrong
      atom.beep()
