On Monday, 5 March 2018 at 09:19:52 UTC, Arjan wrote:
On Sunday, 4 March 2018 at 16:51:06 UTC, Basile B. wrote:
[1] https://github.com/BBasile/Coedit/commit/f8c5e686c8c6aaa7dc2c770121767e3e59806a0e

Thanks for givin me the idea original poster.

Guess I will have to give coedit another try then.. ;-)

So you do use dub behind the scenes so it seems? Care to elaborate a little on how you achieved this?

No this feature is based on dmd / ldmd or gdmd. It's a kind of rdmd.
Basically the current source for the editor which has the focused:

- is auto saved or saved to a temp file if it's a new module
- its shebang is parsed to detect custom options (such as "-release" or "-g") - is optionally scanned to detect if the option "-main" has to be passed or not. - is optionally scanned to detect all "import ...;". The results are used to detect what are the deps in a database based on the "library manager". From the deps -I<path> and *.a or *.lib or *.d are detected. - if the option for autodetection is not checked then the whole libman is passed as import path, additional source or libs to link.
- everything is compiled
- result is run.

The same happens when using the action "run file unittest", just -unittest is added to the compiler arguments.

Beside Coedit also support DUB single file package but nothing is done by the IDE, just DUB is called and the IDE let him doing his job ;)

Reply via email to