From 07c460c061d45a049715b36834b0e04fc9528cc8 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sun, 26 Mar 2017 21:08:49 +0200 Subject: [PATCH] fix #369, No completion after UDA --- src/server/autocomplete.d | 7 +++++++ tests/tc051/expected.txt | 3 +++ tests/tc051/file.d | 1 + tests/tc051/run.sh | 5 +++++ 4 files changed, 16 insertions(+) create mode 100644 tests/tc051/expected.txt create mode 100644 tests/tc051/file.d create mode 100755 tests/tc051/run.sh diff --git a/src/server/autocomplete.d b/src/server/autocomplete.d index 1a16b61..e689c9e 100644 --- a/src/server/autocomplete.d +++ b/src/server/autocomplete.d @@ -1215,6 +1215,13 @@ T getExpression(T)(T beforeTokens) expressionLoop: while (true) { + + if (i > 0 && beforeTokens[i].type == tok!"identifier" && + beforeTokens[i-1].type == tok!"@" ) + { + return beforeTokens[0 .. 0]; + } + switch (beforeTokens[i].type) { case tok!"import": diff --git a/tests/tc051/expected.txt b/tests/tc051/expected.txt new file mode 100644 index 0000000..16cf919 --- /dev/null +++ b/tests/tc051/expected.txt @@ -0,0 +1,3 @@ +identifiers +Foo s +float k diff --git a/tests/tc051/file.d b/tests/tc051/file.d new file mode 100644 index 0000000..151763c --- /dev/null +++ b/tests/tc051/file.d @@ -0,0 +1 @@ +enum UDA; struct Foo{} @UDA F diff --git a/tests/tc051/run.sh b/tests/tc051/run.sh new file mode 100755 index 0000000..96da67d --- /dev/null +++ b/tests/tc051/run.sh @@ -0,0 +1,5 @@ +set -e +set -u + +../../bin/dcd-client $1 file.d -c29 > actual.txt +diff actual.txt expected.txt