Re: Is there anyone willing to do the videos 18sex website?

2015-12-01 Thread Idan Arye via Digitalmars-d-announce

On Tuesday, 1 December 2015 at 02:14:07 UTC, Walter Bright wrote:

On 11/30/2015 2:18 PM, Jonny wrote:

On Sunday, 29 November 2015 at 12:23:16 UTC, tired_eyes wrote:

On Sunday, 29 November 2015 at 02:19:30 UTC, mcss wrote:
I want to find a partner to do the world's largest 18sex 
video site.


Lol, such an ambitious project! Dlang definetely needs a 
success story of that

kind :) Please keep us posted!


I'm sure if there was an incentive, like free sex with the 
female clients, then
it wouldn't be that difficult to amass a group of programmers 
to do the work!


This thread has gone far enough. Please stop.


Still more productive than the DUB format thread...


Re: Please vote for the DConf logo

2015-11-04 Thread Idan Arye via Digitalmars-d-announce
On Wednesday, 4 November 2015 at 09:30:30 UTC, Andrei 
Alexandrescu wrote:

Reply to this with 1.1, 1.2, 2, or 3:

1) by ponce:

Variant 1: 
https://github.com/p0nce/dconf.org/blob/master/2016/images/logo-sample.png
Variant 2: 
https://raw.githubusercontent.com/p0nce/dconf.org/4f0f2b5be8ec2b06e3feb01d6472ec13a7be4e7c/2016/images/logo2-sample.png


2) by Jonas Drewsen:

https://dl.dropboxusercontent.com/u/188292/g4421.png

3) by anonymous:

PNG: http://imgur.com/GX0HUFI
SVG: https://gist.github.com/anonymous/4ef7282dfec9ab327084


Thanks,

Andrei


1.2


Re: Fastest JSON parser in the world is a D project

2015-10-14 Thread Idan Arye via Digitalmars-d-announce

On Wednesday, 14 October 2015 at 07:35:49 UTC, Marco Leise wrote:
auto json = parseTrustedJSON(`{ "coordinates": [ { "x": 1, 
"y": 2, "z": 3 }, … ] }`);


I assume parseTrustedJSON is not validating? Did you use it in 
the benchmark? And were the competitors non-validating as well?


Dutyl 1.5.0 released - dfmt support added

2015-04-23 Thread Idan Arye via Digitalmars-d-announce

GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: http://www.vim.org/scripts/script.php?script_id=5003

Now Dutyl can use dfmt to indent and/or format D code. Formatting 
and indentation is done using Vim's regular operators(gq and =).


Re: dfmt 0.3.0

2015-04-20 Thread Idan Arye via Digitalmars-d-announce

On Monday, 20 April 2015 at 17:40:48 UTC, Brian Schott wrote:

https://github.com/Hackerpilot/dfmt
https://github.com/Hackerpilot/dfmt/releases/tag/v0.3.0

dfmt is a D source code formatter. Version 0.3.0 fixes several 
bugs and introduces the ability to place configuration options 
in your projects' .editorconfig files.


Random stats:

9000 possible bike shed colours

2555 lines (according to wc)
1477 lines of code (according to D-Scanner)
98 regression tests
11 issues closed in this release
2 ways to spell color


Looks nice. BTW, it looks like the editorconfig format has 
something called Domain-Specific 
Properties(https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#ideas-for-domain-specific-properties) 
- configurations that only make sense for a limited number of 
languages or file formats. Some of dfmt-specific properties can 
fit there - for example dfmt_brace_style can be 
indent_brace_style. The other dfmt-specific properties can not be 
mapped to that list, but most of them are not really D-specific, 
so you can make PRs for properties you want to reserve the name.


Re: Gary Willoughby: Why Go's design is a disservice to intelligent programmers

2015-03-30 Thread Idan Arye via Digitalmars-d-announce

On Monday, 30 March 2015 at 07:45:50 UTC, Paulo  Pinto wrote:

On Monday, 30 March 2015 at 03:26:14 UTC, deadalnix wrote:

On Sunday, 29 March 2015 at 16:32:32 UTC, Idan Arye wrote:
Computer science is all about tradeoffs. I used to love Ruby, 
but then a Rails project got out of hand... Nowadays I use it 
mainly as a bash replacement - Hundredfolds more expressive, 
only a tiny tiny bit syntax overhead, and for things that 
bash's safety would be enough Ruby's certainly suffices.


This is pretty much the recurring story with ruby. The first 
10 000 lines are a lot of fun, and then it gets out of hands.


Just like any other language with dynamic typing.


This has more to do with the module system than with the typing. 
In Ruby, the `require` function reads a source file and 
interprets it in the global namespace. This means that from that 
point on, all symbols declared in that source file(and the source 
files it `require`s) are now part of the global namespace and 
accessible from anywhere(even from places that didn't `require` 
it), and that all monkey-patching done in that source file from 
now on applies *everywhere*.


Compare it to Python, that has a module system that handles 
namespacing and forces you to `import` a module in each scope you 
want to use it. This means that if foo.py uses stuff from bar.py 
it must `import` it directly and can't rely on some other baz.py 
that might dropt it's `import` to bar.py because it no longer 
needs it without knowing that foo.py was using it.


Note that Ruby does has `module`s that can be used for 
namespacing(or for mixins...) but using them is a hassle, because 
you either have to always use fully qualified names or to `mixin` 
them into the current namespace(which propagates to other scopes 
that want to use stuff from YOUR namespace...)


Also note that Python also has ways to mess with the gloabl 
context - but you have to actually dig in to do this, compared to 
Ruby where messing up the global context is the standard way of 
doing things.


Re: Gary Willoughby: Why Go's design is a disservice to intelligent programmers

2015-03-29 Thread Idan Arye via Digitalmars-d-announce
On Sunday, 29 March 2015 at 15:57:18 UTC, Andrei Alexandrescu 
wrote:
On 3/29/15 4:43 AM, Marc =?UTF-8?B?U2Now7x0eiI=?= 
schue...@gmx.net wrote:

On Sunday, 29 March 2015 at 08:37:54 UTC, Idan Arye wrote:
On Saturday, 28 March 2015 at 18:47:04 UTC, Walter Bright 
wrote:
On 3/28/2015 3:20 AM, Jonathan M Davis via 
Digitalmars-d-announce wrote:
Personally, I'm not sure that much is gained in pitting Go 
against D
precisely because they're so different that they're likely 
to appeal to

completely different sets of people.


I also do not regard Go as a competitor to D. It's more of a
competitor to Java and Ruby.


How is Go a competitor to Ruby? I cannot think of a single 
parameter
where Go and Ruby don't take the exact opposite 
approach!(other than
the obvious ones like both use require the programmer to 
write code)


I think it's more of a competitor to Rails. Ruby as a language 
is as you
say very different from Go. Incidentally, it shows that it is 
possible

to make a language simple without crippling it.


... but efficiency. Ruby is 50 times slower than all languages, 
including itself.


Andrei


Not to mention orthogonal safety. Even for a dynamically typed 
scripting language Ruby sacrifices a lot of safety. Not 
memory-wise but orthogonality-wise - it's design is very hackish, 
and you can remove an import(require) to foo.rb from bar.rb 
thus causing a bug in baz.rb that was importing bar.rb and thus 
indirectly importing qux.rb because foo.rb was importing it, and 
qux.rb is monkey-patching class Qux to override some method to 
return a different value. Have fun trying to debug this!


Computer science is all about tradeoffs. I used to love Ruby, but 
then a Rails project got out of hand... Nowadays I use it mainly 
as a bash replacement - Hundredfolds more expressive, only a tiny 
tiny bit syntax overhead, and for things that bash's safety would 
be enough Ruby's certainly suffices.


Re: Gary Willoughby: Why Go's design is a disservice to intelligent programmers

2015-03-29 Thread Idan Arye via Digitalmars-d-announce

On Saturday, 28 March 2015 at 18:47:04 UTC, Walter Bright wrote:
On 3/28/2015 3:20 AM, Jonathan M Davis via 
Digitalmars-d-announce wrote:
Personally, I'm not sure that much is gained in pitting Go 
against D
precisely because they're so different that they're likely to 
appeal to

completely different sets of people.


I also do not regard Go as a competitor to D. It's more of a 
competitor to Java and Ruby.


How is Go a competitor to Ruby? I cannot think of a single 
parameter where Go and Ruby don't take the exact opposite 
approach!(other than the obvious ones like both use require the 
programmer to write code)


Re: dfmt 0.1.3 (codename: yebblied)

2015-03-08 Thread Idan Arye via Digitalmars-d-announce

I really need to find the time to add dfmt support to Dutyl...


Re: Dutyl - a Vim plugin for running D tools

2014-10-04 Thread Idan Arye via Digitalmars-d-announce

On Tuesday, 30 September 2014 at 15:52:46 UTC, Idan Arye wrote:
On Tuesday, 30 September 2014 at 08:47:43 UTC, John Colvin 
wrote:
True, but it does make auto-complete work properly when you 
open a single source file in a project, without having to 
manually set the current directory. Vim's current directory 
(either global or per-window) isn't part of my workflow*.


It could be an optional feature (a flag in .vimrc would be 
fine) with an override (temporarily manually specify the 
location of dub.json), but I think it makes a significant 
usability improvement.



I'm trying to think of a pathological case where it would be a 
bad idea, but I can't think of anything realistic.



*Am I doing something very wrong here? If using (l)cd in vim 
is part of almost everyone's workflow I should probably just 
start using it more and stop complaining :)


I usually open Vim at the project's and use NERDTree to 
navigate the file, but I suppose people that start Vim directly 
on the file they want to edit won't bother `cd`ing to the 
project's root every time, so we shouldn't force them to do so 
just so they can use Dutyl...


If I'm going to look up the tree to find dub.json anyways, I 
might as well export the project's root as part of the API. I 
can add a `dutyl#projectRoot()` that returns that value, and I 
can also add `:DUexecute` command that'll run a command in the 
project's root. That'll make it easier to call DUB from Vim 
using your type of workflow.


I'm still pondering though what to with the ConfigFile feature. 
`.dutyl.configFile` should mark the project's root, but it's 
creation could prove problematic. If the user opens a file deep 
in the source tree and runs `:DUConfigFileEditImportPaths` from 
there it'll create the config file in the wrong place...


And... it's done. Check out version 1.4.0

GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: http://www.vim.org/scripts/script.php?script_id=5003


Re: Dutyl - a Vim plugin for running D tools

2014-09-30 Thread Idan Arye via Digitalmars-d-announce

On Tuesday, 30 September 2014 at 08:47:43 UTC, John Colvin wrote:
True, but it does make auto-complete work properly when you 
open a single source file in a project, without having to 
manually set the current directory. Vim's current directory 
(either global or per-window) isn't part of my workflow*.


It could be an optional feature (a flag in .vimrc would be 
fine) with an override (temporarily manually specify the 
location of dub.json), but I think it makes a significant 
usability improvement.



I'm trying to think of a pathological case where it would be a 
bad idea, but I can't think of anything realistic.



*Am I doing something very wrong here? If using (l)cd in vim is 
part of almost everyone's workflow I should probably just start 
using it more and stop complaining :)


I usually open Vim at the project's and use NERDTree to navigate 
the file, but I suppose people that start Vim directly on the 
file they want to edit won't bother `cd`ing to the project's root 
every time, so we shouldn't force them to do so just so they can 
use Dutyl...


If I'm going to look up the tree to find dub.json anyways, I 
might as well export the project's root as part of the API. I can 
add a `dutyl#projectRoot()` that returns that value, and I can 
also add `:DUexecute` command that'll run a command in the 
project's root. That'll make it easier to call DUB from Vim using 
your type of workflow.


I'm still pondering though what to with the ConfigFile feature. 
`.dutyl.configFile` should mark the project's root, but it's 
creation could prove problematic. If the user opens a file deep 
in the source tree and runs `:DUConfigFileEditImportPaths` from 
there it'll create the config file in the wrong place...


Re: Dutyl - a Vim plugin for running D tools

2014-09-28 Thread Idan Arye via Digitalmars-d-announce

On Thursday, 25 September 2014 at 15:40:22 UTC, John Colvin 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


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)


How does dutyl know where to look for dub.json? It doesn't seem 
to find it on my system.


It looks for a file named dub.json in the current folder. If it 
can not find it, it looks for package.json.


Re: Dutyl - a Vim plugin for running D tools

2014-09-15 Thread Idan Arye via Digitalmars-d-announce
OK, version 1.3.0 is out. I fixed that off-by-one mistake and 
added some tags-related features:


 * A new command - :DUupdateCTags - for updating the tags file
 * DUjump and friends now push to the tag stack, so you can jump 
back with CTRL+T.


Re: Dutyl - a Vim plugin for running D tools

2014-09-14 Thread Idan Arye via Digitalmars-d-announce

On Sunday, 14 September 2014 at 03:22:35 UTC, Andrei Amatuni
wrote:

On Saturday, 13 September 2014 at 15:19:56 UTC, Idan Arye wrote:
Version 1.2.0 is out now. I've added the command 
:DUsyntaxCheck, :DUlsyntaxCheck :DUstyleCheck, and 
:DUlstyleCheck to run Dscanner's syntax or style checks and 
store the results in the quickfix or location list. As per 
Vim's conventions for commands that update these lists, it'll 
automatically jump to the first entry unless the command is 
called with a bang.


GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: 
http://www.vim.org/scripts/script.php?script_id=5003


I just updated both Dutyl and DCD and something broke along the 
way. I can see that Vim is communicating with DCD because the 
DCD server log shows that it received a request after a dot 
completion, but nothing shows up in Vim.


The problem was with Dutyl - I used the `uniq` function, which
apparently was bleeding
new(https://github.com/LaTeX-Box-Team/LaTeX-Box/issues/190#issuecomment-47459338).

The fix is in `develop` now. It worked for me(on my Windows
installation - which has a not-as-up-to-date version of Vim as my
Linux installation) - let me know it works for you and I'll make
it an official bugfix.


Re: Dutyl - a Vim plugin for running D tools

2014-09-14 Thread Idan Arye via Digitalmars-d-announce

On Sunday, 14 September 2014 at 20:42:54 UTC, Andrei Amatuni
wrote:

On Sunday, 14 September 2014 at 20:06:13 UTC, Idan Arye wrote:

On Sunday, 14 September 2014 at 03:22:35 UTC, Andrei Amatuni
wrote:
On Saturday, 13 September 2014 at 15:19:56 UTC, Idan Arye 
wrote:
Version 1.2.0 is out now. I've added the command 
:DUsyntaxCheck, :DUlsyntaxCheck :DUstyleCheck, and 
:DUlstyleCheck to run Dscanner's syntax or style checks and 
store the results in the quickfix or location list. As per 
Vim's conventions for commands that update these lists, 
it'll automatically jump to the first entry unless the 
command is called with a bang.


GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: 
http://www.vim.org/scripts/script.php?script_id=5003


I just updated both Dutyl and DCD and something broke along 
the way. I can see that Vim is communicating with DCD because 
the DCD server log shows that it received a request after a 
dot completion, but nothing shows up in Vim.


The problem was with Dutyl - I used the `uniq` function, which
apparently was bleeding
new(https://github.com/LaTeX-Box-Team/LaTeX-Box/issues/190#issuecomment-47459338).

The fix is in `develop` now. It worked for me(on my Windows
installation - which has a not-as-up-to-date version of Vim as 
my
Linux installation) - let me know it works for you and I'll 
make

it an official bugfix.



Just updated it. It's working about 60-70% of the time now.
Sometimes it won't complete at first, and then after erasing and
retyping once or twice it'll show the completions. Thanks for 
the

quick fix though!


I've noticed these things too. Might be an off-by-one mistake
with the byte position calculation. That'll have to wait for the
next bugfix version though - I've just released the bugfix for
the `uniq` problem(v1.2.1).


Re: Dutyl - a Vim plugin for running D tools

2014-09-07 Thread Idan Arye via Digitalmars-d-announce

On Sunday, 7 September 2014 at 18:14:33 UTC, John Colvin wrote:

On Wednesday, 3 September 2014 at 19:38:44 UTC, Idan Arye wrote:
Version 1.1.0 is out now. It provides the :DUjump command for 
jumping to the declaration of the symbol under the cursor. If 
DCD is not running, Dscanner will be used instead. You can 
also give :DUjump the symbol as an argument - in this case 
it'll always use Dscanner(since DCD only supports getting the 
symbol by byte position).


GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: 
http://www.vim.org/scripts/script.php?script_id=5003


Can DUjump be set to open in a new window (internal to vim, not 
a new instance of vim)? For an example of why this would be 
better: you can't currently use DUjump if the file has unsaved 
changes.


Sure, no problem, I'll get to it in the next release.

To be consistent with other Vim commands I'm gonna add :DUsjump 
and DUvjump for jumping in new windows.


I also plan on adding the bang option - :DUjump!(and it's split 
variants) - which will force it to use Dscanner even if DCD is 
running. I find that sometimes it's becoming too complicated for 
DCD to follow the declarations chain all the way to the source, 
and Dscanner - which gets the symbol from the command line 
arguments instead of a getting a byte position in a file - 
performs better. Even if it can't filter to find the exact 
declaration that I'm looking for, it displays multiple options 
that the one I'm looking for is among them, which is better than 
DCD that can't follow the entire chain and finds nothing.


Re: Dutyl - a Vim plugin for running D tools

2014-09-04 Thread Idan Arye via Digitalmars-d-announce

On Thursday, 4 September 2014 at 05:58:19 UTC, Thomas Mader wrote:
Wouldn't it be better if all this functionality you build in a 
vim only solution be integrated into DCD instead?
This way all sorts of compilers and maybe IDEs would benefit 
from it and AFAIK there is already a request for DCD to add dub 
support.


I already suggested it to Brian a year ago. That was his answer:
http://forum.dlang.org/thread/icfphxuqhctbqnlgl...@forum.dlang.org#post-fxtqrnpshsnrpiumkzmh:40forum.dlang.org

That was before DUB became the (de-facto) official build system 
so he might change his mind, but right now Dutyl actually 
benefits from DCD's lack of DUB support, since it means you can 
rely on manual configured file for non-DUB projects.


Re: Damncheck - a property-based testing library

2014-09-04 Thread Idan Arye via Digitalmars-d-announce

On Thursday, 4 September 2014 at 05:39:04 UTC, George wrote:

Hey everyone,

As my first take on D after spending around 2 weeks learning it 
I

thought I should write something useful that sort of encompasses
everything interesting about D (for me it was the flexibility of
working with types and lazy arguments).

After looking at dashcheck 
(https://github.com/mcandre/dashcheck)

I thought I'd improve it. While improving it I noticed that my
program is much different and decided to release my code as
another project; Damncheck (http://github.com/geezee/damncheck).

I was hoping to get some feedback from the community regarding
the quality of the code and if something can be written the
D-way. I have also written a blog post about the process
(http://blog.zakhour.me/post/d/damncheck-on-building-a-property-based-testing-library-for-d/)

Thank you for your time,
George.


You should make your generators accept seeds. Seedless randoms 
are bad for unit testing, since you can't replicate failed tests.


Re: Dutyl - a Vim plugin for running D tools

2014-09-04 Thread Idan Arye via Digitalmars-d-announce

On Thursday, 4 September 2014 at 18:11:47 UTC, Thomas Mader wrote:

On Thursday, 4 September 2014 at 10:39:34 UTC, Idan Arye wrote:
On Thursday, 4 September 2014 at 05:58:19 UTC, Thomas Mader 
wrote:
Wouldn't it be better if all this functionality you build in 
a vim only solution be integrated into DCD instead?
This way all sorts of compilers and maybe IDEs would benefit 
from it and AFAIK there is already a request for DCD to add 
dub support.


I already suggested it to Brian a year ago. That was his 
answer:

http://forum.dlang.org/thread/icfphxuqhctbqnlgl...@forum.dlang.org#post-fxtqrnpshsnrpiumkzmh:40forum.dlang.org

That was before DUB became the (de-facto) official build 
system so he might change his mind, but right now Dutyl 
actually


https://github.com/Hackerpilot/DCD/issues/85


OK, so Brian moved from not caring *for* that feature to not 
caring *about* the feature - probably because now we do have a 
de-factor standard build system. Still - it won't happen unless 
someone implements it and it won't be Brian because he is 
focusing on making DCD's(and Dscanner's... and libdparse's in 
general) parsing abilities even more awesome.


benefits from DCD's lack of DUB support, since it means you 
can rely on manual configured file for non-DUB projects.


I don't see why the manual configured file support needs to be 
removed if DCD would support dub.

Wouldn't it be possible to change it to a coexisting solution?


As long as DCD retains the ability to manually register the 
import paths Dutyl will keep working, but if it didn't I might 
have not created the config-file module and the DUB module.




At any rate, Dutyl's architecture makes sure to prevent the DCD 
module from knowing where it got the import paths from, to 
prevent the config-file and the DUB module from knowing what will 
be done with the import paths they provide, and to prevent the 
completion function from knowing which modules provided the 
import paths and which tools provided autoocompletion(currently 
only DCD can provide autocompletion, but the architecture still 
forces the completion function to be agnostic about that).


This means that if DCD ever gets DUB support, I'll have to either:

1) Hack the architecture and break agnosticism to make Dutyl use 
the dub.json for import paths in autocompletion in DUB projects. 
I obviously don't want to hack my own architecture in order to 
break the agnosticism rules I set myself...


2) Make the import gathering lazy, and add a special path for 
taking configuration from any project file. This will require 
some serious changes to the architecture so it'll take the most 
work, but it'll retain it's tool agnosticism.


3) Ignore DCD's DUB integration and keep providing the import 
paths manually.



Since parsing out the import paths from `dub describe` is blazing 
fast, I think I'll remain with the third option - so in the end I 
couldn't care less if DCD gets DUB integration.


Re: Dutyl - a Vim plugin for running D tools

2014-09-03 Thread Idan Arye via Digitalmars-d-announce
Version 1.1.0 is out now. It provides the :DUjump command for 
jumping to the declaration of the symbol under the cursor. If DCD 
is not running, Dscanner will be used instead. You can also give 
:DUjump the symbol as an argument - in this case it'll always use 
Dscanner(since DCD only supports getting the symbol by byte 
position).


GitHub repo: https://github.com/idanarye/vim-dutyl
vim.org page: http://www.vim.org/scripts/script.php?script_id=5003


Debugging D in Vim with Vebugger

2014-08-29 Thread Idan Arye via Digitalmars-d-announce
The commit where I added this is actually two months old, but I 
have only now made it an official release so I guess it's still 
news.


From version 1.2.0, my debugger frontend for Vim, Vebugger, 
allows debugging D programs with GDB.


This is done by invoking the debugger with the `VBGstartGDBForD` 
command. Using regular `VBGstartGDB` won't work since D uses it's 
own `main` function.


Notice that this won't work under Windows, since GDB can not 
debug D programs under Windows.


GitHub repo: https://github.com/idanarye/vim-vebugger
vim.org page: http://www.vim.org/scripts/script.php?script_id=4941


Re: Dutyl - a Vim plugin for running D tools

2014-08-21 Thread Idan Arye via Digitalmars-d-announce
On Thursday, 21 August 2014 at 08:57:55 UTC, Rory McGuire via 
Digitalmars-d-announce wrote:
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?


Is the DCD server running? It needs to be running for Dutyl to 
use it. You can either run it manually or use the Dutyl's 
`:DUDCDstartServer` command.


You can check if the server is currently running by opening a 
shell and typing `dcd-client --query`.


Re: Dutyl - a Vim plugin for running D tools

2014-08-21 Thread Idan Arye via Digitalmars-d-announce

On Thursday, 21 August 2014 at 10:20:24 UTC, Weaseldog wrote:

On Thursday, 21 August 2014 at 08:50:50 UTC, BlackEdder 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?


YouCompleteMe will use the available omnifunc as a fallback if 
no semantic completer for the filetype is provided.

So, yes, it should work.


I looked a bit into YouCompleteMe to see if I can add a proper 
semantic completer. It appears that semantic completers run on 
the YCMD server rather then inside the Vim instance - which makes 
writing a semantic completer infeasible.


The semantic completer will need to be able to read the import 
paths and to invoke DCD. These two functionalities are 
implemented in Dutyl with VimScript - but to access these 
implementations it'll need to some interface to call these 
functions. I don't know if the YCDM-Vim interaction supports the 
server calling the client, or if Vim's own server-client 
mechanism can be used for it(which will require extra 
configuration), but at any rate it doesn't make much sense to use 
the completion server when the work is done in the Vim instance.


Another option is to reimplement that functionality in Python - 
but if the the import paths gathering, the DCD invokation, and 
the glue code that connects them are all reimplemented there is 
no point in making this part of Dutyl...


Also note that Dutyl sends the content of the current buffer to 
DCD, not the file saved on disc. This diffidently requires access 
to the Vim instance, and changing it is not an option unless you 
want to have to save before you autocomplete.


Re: D 2.066 is out. Enjoy!

2014-08-19 Thread Idan Arye via Digitalmars-d-announce
On Tuesday, 19 August 2014 at 05:03:40 UTC, Jonathan M Davis 
wrote:
On Tuesday, 19 August 2014 at 04:26:48 UTC, Andrei Alexandrescu 
wrote:
Well that's what happened - someone started 2.067. What's the 
advantage of doing this? Now we need to worry about master and 
2.067 instead of just master. -- Andrei



Well, what you do at that point is just fix all of the 
regressions on the branch, and when it's ready you do another 
release. You don't put anything else on it. All of the normal 
dev work goes on master. And some point after the branch has 
been released as the next release, you branch again.


Now, unless we have enough regressions on master that it's 
going to take us over a month to fix them, I think that 
branching right after releasing is a bit much, though if some 
of the regressions are bad enough, maybe it would make sense to 
release faster. And given how long we've been trying to get 
2.066 ready after branching it and how much work has been done 
on master since then, maybe it makes sense. I don't know.


I would have thought though that we'd aim to branch something 
like 2 to 4 weeks after releasing and then take about a month 
to make sure that all regressions are fixed so that we get a 
release about every two months. All the major dev work just 
continues on master, and it'll end up on a branch about every 
two months staggered from when that branch gets released as an 
official release.


Certainly, aiming for something along those lines would get us 
faster releases than we've been doing. We've been waiting way 
too long to branch and then been rather slow about getting 
through all of the regressions. By branching earlier, we should 
be able to release more quickly.


- Jonathan M Davis


In that case, shouldn't it be 2.066.1?


Re: Dutyl - a Vim plugin for running D tools

2014-08-19 Thread Idan Arye via Digitalmars-d-announce
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.


Re: Dutyl - a Vim plugin for running D tools

2014-08-18 Thread Idan Arye via Digitalmars-d-announce
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.


Re: Dutyl - a Vim plugin for running D tools

2014-08-18 Thread Idan Arye via Digitalmars-d-announce

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.


Dutyl - a Vim plugin for running D tools

2014-08-14 Thread Idan Arye via Digitalmars-d-announce

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)