Lint D code while you type in Vim
w0rp via Digitalmars-d
digitalmars-d at puremagic.com
Sun Sep 18 02:46:15 PDT 2016
On Saturday, 17 September 2016 at 04:57:03 UTC, Basile B. wrote:
>
> You should use Dscanner to do this, not DMD. DScanner does not
> (or few) semantic, so just the module AST is necessary. It's
> way faster.
>
> I know this because I was doing something similar to build the
> symbol list in Coedit 1 (using "-c -o- -Xf").
> Finally a custom tool based on libdparse (and somehow doing one
> of the Dscanner job) was much faster.
>
> Also "dub describe" can be very slow.
I just pushed a commit now which runs DUB in the Bash wrapper
script as well, so it will never cause any input lag. I want to
run DMD on D source files so I can get semantic analysis in Vim.
That lets me know when a function call I am making is wrong, etc.
Because the jobs run asynchronously, it doesn't matter if the job
takes a few seconds to run. You will see the errors eventually
without the process interrupting your editing of a particular
file.
I plan to add a DScanner linter command too, and I'll be adding a
configuration variable for selecting particular linters, so you
can only use DScanner if you only want that, or use both DScanner
and DMD.
I realised that I could easily get Windows support too by
switching from using Bash to D for the wrapper script, and I
could use maybe RDMD to compile and run the wrapper script. I'll
do that eventually.
More information about the Digitalmars-d
mailing list