November 02, 2017
On Thursday, 2 November 2017 at 10:04:44 UTC, Bastiaan Veelo wrote:
> On Thursday, 2 November 2017 at 10:00:25 UTC, Temtaime wrote:
>> Support for dub will be great :)
> Yes...
>
>> Now all works
>> Thanks !
>
> Alright :-)

Could you write more detail installation instruction?
Do I need only SublimeLinter and your plugin, or I need something more? Like tool-tips plugin? Which paths and in which menu should I edit?
November 02, 2017
On Thursday, 2 November 2017 at 15:13:31 UTC, Suliman wrote:
> On Thursday, 2 November 2017 at 10:04:44 UTC, Bastiaan Veelo wrote:
>> On Thursday, 2 November 2017 at 10:00:25 UTC, Temtaime wrote:
>>> Support for dub will be great :)
>> Yes...
>>
>>> Now all works
>>> Thanks !
>>
>> Alright :-)
>
> Could you write more detail installation instruction?
> Do I need only SublimeLinter and your plugin, or I need something more? Like tool-tips plugin? Which paths and in which menu should I edit?

I am getting error:

Package Control: No updated packages
Unable to open /C/Users/suliman/AppData/Roaming/Sublime Text 3/Packages/User/SublimeLinter.sublime-settings


November 02, 2017
it's seems that it is work, at last it show red labels on code, but for example it is do not show right auto completion after point in `std.`
https://snag.gy/uP6Uxl.jpg
November 02, 2017
I install Sublime Linter first and then this linter and error:
Unable to open /C/Users/suliman/AppData/Roaming/Sublime Text 3/Packages/User/SublimeLinter.sublime-settings

is gone. But issue with auto-completion is still exists.
November 02, 2017
On Thursday, 2 November 2017 at 15:28:36 UTC, Suliman wrote:
> I install Sublime Linter first and then this linter and error:
> Unable to open /C/Users/suliman/AppData/Roaming/Sublime Text 3/Packages/User/SublimeLinter.sublime-settings
>
> is gone. But issue with auto-completion is still exists.

Oh, my bad. it's Linter but not auto-completion tool. Really sorry.
November 02, 2017
On Thursday, 2 November 2017 at 15:53:08 UTC, Suliman wrote:
> On Thursday, 2 November 2017 at 15:28:36 UTC, Suliman wrote:
>> I install Sublime Linter first and then this linter and error:
>> Unable to open /C/Users/suliman/AppData/Roaming/Sublime Text 3/Packages/User/SublimeLinter.sublime-settings
>>
>> is gone. But issue with auto-completion is still exists.
>
> Oh, my bad. it's Linter but not auto-completion tool. Really sorry.

Correct. You can get tool tips by going to Tools->sublimeLinter->Open Settings and change to
>         "tooltips": true,
in the right hand side pane.
November 09, 2017
On Tuesday, 31 October 2017 at 16:06:24 UTC, Moritz Maxeiner wrote:
> On Tuesday, 31 October 2017 at 13:32:34 UTC, SrMordred wrote:
>> Thank you , works perfectly!
>>
>> One idea: Integrating with dub.
>> So you don´t have to manually set lib dirs and flags since its all on 'dub.json' already.
>
> You can pretty much copy paste from sublide for this [1] (my own D plugin for ST3).
>
> [1] https://github.com/MoritzMaxeiner/sublide/blob/master/dub.py#L40

Thank you Moritz!

The plugin now looks for DUB project configuration files in open folders and adds any required import paths that can be determined from those automatically.

If you have installed the plugin using Sublime Text's Package Control, you'll get the update automatically.
November 21, 2017
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.
November 21, 2017
On Tuesday, 21 November 2017 at 18:43:29 UTC, drug wrote:
> 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.
>
> 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.

Thanks for the thumbs up :-)
November 26, 2017
On Monday, 30 October 2017 at 22:22:42 UTC, Bastiaan Veelo wrote:
> [...] Unlike linters that are based on DScanner, it actually invokes dmd on the file that is being edited, as you edit. [...]

I just tried the plugin and it seems to work very well! Thanks for the good work.

Have you considered invoking dub instead of dmd if there's a dub.json/.sdl file? I imagine when people use "preBuildCommands" to generate code, for example, the linter might report false positives. Same goes for custom D versions (e.g. `version(Have_foo) { ... }`).

There's also the --single feature of dub: https://code.dlang.org/advanced_usage Such files may not work correctly with this linter at this time I presume.

All in all they way this plugin works is a great idea! The more it knows about the full commandline of the resulting dmd invocation, the more accurate it is.