SystemVerilog linter forked from : https://github.com/KoenGoe/atom-vcs-linter)
Requires 'ncvlog' (Cadence Incisive) to compile the current verilog file. Cadence Incisive , seems to give the most "incisive" error messages - hence the fork from atom-vcs-linter
Keeping the ncvlog compile to a single file keeps run time super speedy, and therefore the linter can work in-line during editing ( you might want https://atom.io/packages/autosave-onchange)
This downside to this approach, is that project-wide dependencies such as 'include filepaths , and module instantiations may give false positives / false negatives.
ncvlog-linter runs the following command line each time the current file is saved ( in this example lint_test.v)
ncvlog -sv +incdir+. -logfile /tmp/logfile lint_test.v
Each of the error messages are then parsed , and reformatted before being passed back to the linter package. I.e. :
ncvlog: 15.20-s060: (c) Copyright 1995-2018 Cadence Design Systems, Inc. endmodule | ncvlog: *E,EXPLPA (lint_test.v,6|8): expecting a left parenthesis ('(') [12.1.2][7.1(IEEE)].
lint_test.sv:6:Error:expecting a left parenthesis ('(') [12.1.2][7.1(IEEE)].
Good catch. Let us know what about this package looks wrong to you, and we'll investigate right away.