Archived
1
0

Adds disabling of linting

This commit is contained in:
Jip J. Dekker 2016-01-18 21:18:55 +01:00
parent 68ba9ee827
commit deb978614c
2 changed files with 30 additions and 23 deletions

View File

@ -2,10 +2,14 @@
module.exports = AtomLanguageMZN =
config:
enableLinter:
type: 'boolean'
default: true
description: "Enable linting using `mzn2fzn`"
mzn2fznPath:
type: 'string'
default: 'mzn2fzn'
description: "Path to Minizinc's compiler `mzn2fzn`"
description: 'Path to Minizinc\'s compiler `mzn2fzn`'
activate: (state) ->
console.log 'language-mzn: package loaded,

View File

@ -7,30 +7,33 @@ class LinterMZN
atom.config.get "language-mzn.#{key}"
lint: (textEditor) =>
return new Promise (resolve, reject) =>
output = ''
command = @config 'mzn2fznPath'
args = ['--instance-check-only', textEditor.getPath()]
options = process.env
if @config 'enableLinter'
return new Promise (resolve, reject) =>
output = ''
command = @config 'mzn2fznPath'
args = ['--instance-check-only', textEditor.getPath()]
options = process.env
stdout = (data) ->
atom.notifications.addWarning data
stderr = (data) ->
output += data
exit = (code) =>
if code is 0
stdout = (data) ->
atom.notifications.addWarning data
stderr = (data) ->
output += data
exit = (code) =>
if code is 0
resolve []
else
messages = @parse output, textEditor.getPath()
resolve messages
@lintProcess = new BufferedProcess({command, args, options, stdout, stderr, exit})
@lintProcess.onWillThrowError ({error, handle}) ->
atom.notifications.addError "Failed to run #{command}",
detail: "#{error.message}"
dismissable: true
handle()
resolve []
else
messages = @parse output, textEditor.getPath()
resolve messages
@lintProcess = new BufferedProcess({command, args, options, stdout, stderr, exit})
@lintProcess.onWillThrowError ({error, handle}) ->
atom.notifications.addError "Failed to run #{command}",
detail: "#{error.message}"
dismissable: true
handle()
resolve []
else
return []
parse: (output, filePath) =>
messages = []