Jump to page: 1 24  
Page
Thread overview
Dutyl - a Vim plugin for running D tools
Aug 14, 2014
Idan Arye
Aug 15, 2014
Brad Anderson
Aug 18, 2014
Idan Arye
Aug 18, 2014
Idan Arye
Aug 19, 2014
Idan Arye
Aug 21, 2014
BlackEdder
Aug 21, 2014
Rory McGuire
Aug 21, 2014
Idan Arye
Aug 21, 2014
Rory McGuire
Aug 21, 2014
Weaseldog
Aug 21, 2014
Idan Arye
Sep 03, 2014
Idan Arye
Sep 04, 2014
Thomas Mader
Sep 04, 2014
Thomas Mader
Sep 04, 2014
Idan Arye
Sep 04, 2014
Thomas Mader
Sep 05, 2014
Idan Arye
Sep 07, 2014
John Colvin
Sep 07, 2014
Idan Arye
Sep 08, 2014
Idan Arye
Sep 13, 2014
Idan Arye
Sep 14, 2014
Andrei Amatuni
Sep 14, 2014
Idan Arye
Sep 14, 2014
Andrei Amatuni
Sep 14, 2014
Idan Arye
Sep 15, 2014
Idan Arye
Sep 25, 2014
John Colvin
Sep 28, 2014
Idan Arye
Sep 29, 2014
John Colvin
Sep 30, 2014
Idan Arye
Sep 30, 2014
John Colvin
Sep 30, 2014
Idan Arye
Oct 04, 2014
Idan Arye
August 14, 2014
GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: http://www.vim.org/scripts/script.php?script_id=5003

The main problem with my Vim plugin for DCD(placed inside the DCD repo) is the need to set the import paths manually. It was a manual task that the user had to do: DCD doesn't know the import path the current project is using. Vim doesn't know either.

Luckily - DUB knows. So instead of separate Vim plugins for different tools, each operating it's own tool alone, I wanted to create one plugin that'll operate both DUB and DCD - one that can get the list of import modules from DUB and send it to DCD. That's how Dutyl was born.

Currently, Dutyl's only features are using DCD for autocompletion and for DDocs, but it has a module system that allows it to add other tools, either to get more functionality or to get backup for features that some tools can't support for specific projects. Like dependency injection but with a real usecase: for projects that don't use DUB, Dutyl can back up to a manually written list of import paths saved in a hidden file in the project's dir.

I'm open for suggestions for other tools and features to add to Dutyl(write them here, or preferably open GitHub issues with them)
August 15, 2014
nice, thanks

August 15, 2014
On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
> GitHub repo: https://github.com/idanarye/vim-dutyl
> vim.org page: http://www.vim.org/scripts/script.php?script_id=5003
>
> The main problem with my Vim plugin for DCD(placed inside the DCD repo) is the need to set the import paths manually. It was a manual task that the user had to do: DCD doesn't know the import path the current project is using. Vim doesn't know either.
>
> Luckily - DUB knows. So instead of separate Vim plugins for different tools, each operating it's own tool alone, I wanted to create one plugin that'll operate both DUB and DCD - one that can get the list of import modules from DUB and send it to DCD. That's how Dutyl was born.
>
> Currently, Dutyl's only features are using DCD for autocompletion and for DDocs, but it has a module system that allows it to add other tools, either to get more functionality or to get backup for features that some tools can't support for specific projects. Like dependency injection but with a real usecase: for projects that don't use DUB, Dutyl can back up to a manually written list of import paths saved in a hidden file in the project's dir.
>
> I'm open for suggestions for other tools and features to add to Dutyl(write them here, or preferably open GitHub issues with them)

Nice, I was planning on doing something just like this someday.
August 18, 2014
On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
> GitHub repo: https://github.com/idanarye/vim-dutyl
> vim.org page: http://www.vim.org/scripts/script.php?script_id=5003

Very very nice... So... how does it work?

I added a Bundle "idanarye/vim-dutyl" to my $MTVIMRC.
I added the following three lines as well

let g:dutyl_stdImportPaths=['C:\D\dmd2\src\phobos']
call dutyl#register#tool('dcd-client','C:/D/DCD/dcd-client')
call dutyl#register#tool('dcd-server','C:/D/DCD/dcd-server')

When I try to do a completion with ctrl-X ctrl-O I get DCD server to only output some errors:
Cannot cache modules in C:\some\folder\for\dub\packages\derelict-blabla\" -I E:\my\project\subfolder" because it does not exist

(The folders are in the filesystem, I can confirm they DO exist)
Am I missing something, or should I open an issue at github?
August 18, 2014
On Monday, 18 August 2014 at 07:24:28 UTC, francesco cattoglio wrote:
> On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
>> GitHub repo: https://github.com/idanarye/vim-dutyl
>> vim.org page: http://www.vim.org/scripts/script.php?script_id=5003
>
> Very very nice... So... how does it work?
>
> I added a Bundle "idanarye/vim-dutyl" to my $MTVIMRC.
> I added the following three lines as well
>
> let g:dutyl_stdImportPaths=['C:\D\dmd2\src\phobos']
> call dutyl#register#tool('dcd-client','C:/D/DCD/dcd-client')
> call dutyl#register#tool('dcd-server','C:/D/DCD/dcd-server')
>
> When I try to do a completion with ctrl-X ctrl-O I get DCD server to only output some errors:
> Cannot cache modules in C:\some\folder\for\dub\packages\derelict-blabla\" -I E:\my\project\subfolder" because it does not exist
>
> (The folders are in the filesystem, I can confirm they DO exist)
> Am I missing something, or should I open an issue at github?

This is not the only Dutyl Windows problem - I'm currently fixing them in the `feature/fix-windows-issues` branch. Currently I solved unix-vs-windows file format problem and a problem with VimProc different shell escape conventions, but it doesn't seem like this is the problem here - looks more like a path format problem.

At any rate, please open a GitHub issue, and it would help if you can run the vim command

    let @+=string(dutyl#core#requireFunctions('importPaths').importPaths())

in your project's folder. It will it'll place something in your clipboard - please paste it in the GitHub issue.
August 18, 2014
On Monday, 18 August 2014 at 12:36:42 UTC, Idan Arye wrote:
> On Monday, 18 August 2014 at 07:24:28 UTC, francesco cattoglio wrote:
>> On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
>>> GitHub repo: https://github.com/idanarye/vim-dutyl
>>> vim.org page: http://www.vim.org/scripts/script.php?script_id=5003
>>
>> Very very nice... So... how does it work?
>>
>> I added a Bundle "idanarye/vim-dutyl" to my $MTVIMRC.
>> I added the following three lines as well
>>
>> let g:dutyl_stdImportPaths=['C:\D\dmd2\src\phobos']
>> call dutyl#register#tool('dcd-client','C:/D/DCD/dcd-client')
>> call dutyl#register#tool('dcd-server','C:/D/DCD/dcd-server')
>>
>> When I try to do a completion with ctrl-X ctrl-O I get DCD server to only output some errors:
>> Cannot cache modules in C:\some\folder\for\dub\packages\derelict-blabla\" -I E:\my\project\subfolder" because it does not exist
>>
>> (The folders are in the filesystem, I can confirm they DO exist)
>> Am I missing something, or should I open an issue at github?
>
> This is not the only Dutyl Windows problem - I'm currently fixing them in the `feature/fix-windows-issues` branch. Currently I solved unix-vs-windows file format problem and a problem with VimProc different shell escape conventions, but it doesn't seem like this is the problem here - looks more like a path format problem.
>
> At any rate, please open a GitHub issue, and it would help if you can run the vim command
>
>     let @+=string(dutyl#core#requireFunctions('importPaths').importPaths())
>
> in your project's folder. It will it'll place something in your clipboard - please paste it in the GitHub issue.

My bad - turns out it was related to shell escape conventions, though this particular problem was introduced in the `feature/fix-windows-issues` branch. Was this the one you were using?

At any rate, it's fixed now in that branch, and I aim to merge it tomorrow and release a bugfix version.
August 19, 2014
On Monday, 18 August 2014 at 07:24:28 UTC, francesco cattoglio wrote:
> On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
>> GitHub repo: https://github.com/idanarye/vim-dutyl
>> vim.org page: http://www.vim.org/scripts/script.php?script_id=5003
>
> Very very nice... So... how does it work?
>
> I added a Bundle "idanarye/vim-dutyl" to my $MTVIMRC.
> I added the following three lines as well
>
> let g:dutyl_stdImportPaths=['C:\D\dmd2\src\phobos']
> call dutyl#register#tool('dcd-client','C:/D/DCD/dcd-client')
> call dutyl#register#tool('dcd-server','C:/D/DCD/dcd-server')
>
> When I try to do a completion with ctrl-X ctrl-O I get DCD server to only output some errors:
> Cannot cache modules in C:\some\folder\for\dub\packages\derelict-blabla\" -I E:\my\project\subfolder" because it does not exist
>
> (The folders are in the filesystem, I can confirm they DO exist)
> Am I missing something, or should I open an issue at github?

OK, I found the real culprit - it's the backslash before the double quotes. Even tough Windows uses backqoutes for separation, it still uses them as escape characters when placed before special characters...

Anyways, version 1.0.1 is out with many bugfixes and speedups - including a fix for this problem.
August 20, 2014
On Tuesday, 19 August 2014 at 19:03:45 UTC, Idan Arye wrote:
> Anyways, version 1.0.1 is out with many bugfixes and speedups - including a fix for this problem.

I can confirm it works under windows now! Very good job, and thank you for your efforts :)
August 21, 2014
On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
> I'm open for suggestions for other tools and features to add to Dutyl(write them here, or preferably open GitHub issues with them)

Any idea if this plugin works in conjunction with YouCompleteMe?
August 21, 2014
When I try to use this it just says that complete is not able to work at and suggests that DCD might not be running. Ubuntu 14.04. dcd-server and client are in path, even tried adding explicitly.

How does one debug this plugin?


On Thu, Aug 21, 2014 at 10:50 AM, BlackEdder via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote:

> On Thursday, 14 August 2014 at 22:20:52 UTC, Idan Arye wrote:
>
>> I'm open for suggestions for other tools and features to add to Dutyl(write them here, or preferably open GitHub issues with them)
>>
>
> Any idea if this plugin works in conjunction with YouCompleteMe?
>


« First   ‹ Prev
1 2 3 4