SublimeLinter-contrib-dmd: dmd feedback as you type

Bastiaan Veelo Bastiaan at Veelo.net
Mon Oct 30 22:22:42 UTC 2017


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/


More information about the Digitalmars-d-announce mailing list