31.10.2017 01:22, Bastiaan Veelo пишет:
SublimeLinter-contrib-dmd [1] is a plug-in for the Sublime Text 3 editor
[2]. Unlike linters that are based on DScanner, it actually invokes dmd
on the file that is being edited, as you edit. If dmd finds anything to
complain about, an annotation is shown in the editor: warnings and
deprecations in orange, errors in red. If SublimeLinter (a plug-in
dependency) is configured to show tool tips, the error message pops up
after a click on the annotation (see screen shots [1]). SublimeLinter
offers shortcuts for jumping to errors and it is possible to postpone
on-the-fly linting or lint only on request.
The advantages of using dmd for linting are:
1. The parser is always up-to-date.
2. Full symbol resolution, including imports.
3. Mixins are expanded.
4. Templates are validated.
5. Deprecation warnings are included.
6. The "did you mean …" assistance appears right where it is most helpful.
The plug-in is easily installed from within the editor, as described on
the project page [1].
Dmd does not always get the column number exactly right, which can cause
the annotation to be misplaced, but that is just a cosmetic deficiency.
I have not tested this on larger code bases and only on Windows, but I
expect it to work on all platforms supported by Sublime Text 3. Please
let me know if you find any issues. The editor is not free, but it
continues to work after your evaluation period has expired.
On request I can add an option to configure the path to dmd, currently
it expects to find dmd using the system path.
Hope you like it,
Bastiaan.
[1] https://github.com/veelo/SublimeLinter-contrib-dmd
[2] http://www.sublimetext.com/
Thank you for your tool! It works like a charm even in mixins and works
out of box. I installed it just in case but now I've caught myself that
I start using it.