Merge pull request #314 from BBasile/issue-313
fix #313 - ddoc, overloads sets broken
This commit is contained in:
commit
56d91114ed
|
@ -71,48 +71,37 @@ public AutocompleteResponse getDoc(const AutocompleteRequest request,
|
||||||
warning("Could not find symbol");
|
warning("Could not find symbol");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
struct Escaper(O)
|
Appender!(char[]) app;
|
||||||
{
|
|
||||||
this(O* or)
|
|
||||||
{
|
|
||||||
this.outputRange = or;
|
|
||||||
}
|
|
||||||
|
|
||||||
void put(string s)
|
void putDDocChar(dchar c)
|
||||||
{
|
|
||||||
foreach (c; s)
|
|
||||||
put(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
void put(char c)
|
|
||||||
{
|
{
|
||||||
switch (c)
|
switch (c)
|
||||||
{
|
{
|
||||||
case '\\':
|
case '\\':
|
||||||
outputRange.put('\\');
|
app.put('\\');
|
||||||
outputRange.put('\\');
|
app.put('\\');
|
||||||
break;
|
break;
|
||||||
case '\n':
|
case '\n':
|
||||||
outputRange.put('\\');
|
app.put('\\');
|
||||||
outputRange.put('n');
|
app.put('n');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
outputRange.put(c);
|
app.put(c);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
O* outputRange;
|
void putDDocString(string s)
|
||||||
|
{
|
||||||
|
foreach (c; s)
|
||||||
|
putDDocChar(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto app = appender!(char[])();
|
foreach(symbol; stuff.symbols.filter!(a => !a.doc.empty))
|
||||||
auto e = Escaper!(typeof(app))(&app);
|
|
||||||
foreach (symbol; stuff.symbols.filter!(a => !a.doc.empty))
|
|
||||||
{
|
{
|
||||||
app.clear();
|
app.clear;
|
||||||
foreach(c; symbol.doc)
|
putDDocString(symbol.doc);
|
||||||
e.put(c);
|
response.docComments ~= app.data.idup;
|
||||||
response.docComments ~= cast(string) app.data;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
foo\nF\n\nbar\nB
|
|
@ -0,0 +1,12 @@
|
||||||
|
foo;
|
||||||
|
/**
|
||||||
|
foo
|
||||||
|
F
|
||||||
|
*/
|
||||||
|
void foo();
|
||||||
|
|
||||||
|
/**
|
||||||
|
bar
|
||||||
|
B
|
||||||
|
*/
|
||||||
|
void foo(uint a);
|
|
@ -0,0 +1,5 @@
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
../../bin/dcd-client $1 file.d -d -c1 > actual1.txt
|
||||||
|
diff actual1.txt expected1.txt
|
Loading…
Reference in New Issue