mirror of https://gitlab.com/basile.b/dexed.git
symlist - add func params, close #147
This commit is contained in:
parent
061174fbac
commit
5e10057d17
|
@ -151,7 +151,22 @@ class SymbolListBuilder(ListFmt Fmt): ASTVisitor
|
||||||
pasStream.put("\ritem\r");
|
pasStream.put("\ritem\r");
|
||||||
pasStream.put(format("line=%d\r", dt.name.line));
|
pasStream.put(format("line=%d\r", dt.name.line));
|
||||||
pasStream.put(format("col=%d\r", dt.name.column));
|
pasStream.put(format("col=%d\r", dt.name.column));
|
||||||
|
static if (is(DT == FunctionDeclaration))
|
||||||
|
{
|
||||||
|
if (dt.parameters && dt.parameters.parameters &&
|
||||||
|
dt.parameters.parameters.length)
|
||||||
|
{
|
||||||
|
import dparse.formatter : fmtNode = format;
|
||||||
|
Appender!string app;
|
||||||
|
fmtNode(&app, dt.parameters);
|
||||||
|
pasStream.put(format("name='%s%s'\r", dt.name.text, app.data));
|
||||||
|
}
|
||||||
|
else pasStream.put(format("name='%s'\r", dt.name.text));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
pasStream.put(format("name='%s'\r", dt.name.text));
|
pasStream.put(format("name='%s'\r", dt.name.text));
|
||||||
|
}
|
||||||
pasStream.put("symType=" ~ symbolTypeStrings[st] ~ "\r");
|
pasStream.put("symType=" ~ symbolTypeStrings[st] ~ "\r");
|
||||||
static if (dig) if (_deep)
|
static if (dig) if (_deep)
|
||||||
{
|
{
|
||||||
|
@ -166,7 +181,22 @@ class SymbolListBuilder(ListFmt Fmt): ASTVisitor
|
||||||
JSONValue item = parseJSON("{}");
|
JSONValue item = parseJSON("{}");
|
||||||
item["line"] = JSONValue(dt.name.line);
|
item["line"] = JSONValue(dt.name.line);
|
||||||
item["col"] = JSONValue(dt.name.column);
|
item["col"] = JSONValue(dt.name.column);
|
||||||
|
static if (is(DT == FunctionDeclaration))
|
||||||
|
{
|
||||||
|
if (dt.parameters && dt.parameters.parameters &&
|
||||||
|
dt.parameters.parameters.length)
|
||||||
|
{
|
||||||
|
import dparse.formatter : fmtNode = format;
|
||||||
|
Appender!string app;
|
||||||
|
fmtNode(&app, dt.parameters);
|
||||||
|
item["name"] = JSONValue(dt.name.text ~ app.data);
|
||||||
|
}
|
||||||
|
else item["name"] = JSONValue(dt.name.text);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
item["name"] = JSONValue(dt.name.text);
|
item["name"] = JSONValue(dt.name.text);
|
||||||
|
}
|
||||||
item["type"] = JSONValue(symbolTypeStrings[st]);
|
item["type"] = JSONValue(symbolTypeStrings[st]);
|
||||||
static if (dig) if (_deep)
|
static if (dig) if (_deep)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue