diff --git a/src/plugins/duieditor/duieditor.cpp b/src/plugins/duieditor/duieditor.cpp
index 49782d0ee38b0ee9e497df8886cecbf8b4d75b80..134baa059fddb40f33503e485c87e7ae923449f6 100644
--- a/src/plugins/duieditor/duieditor.cpp
+++ b/src/plugins/duieditor/duieditor.cpp
@@ -133,6 +133,40 @@ protected:
         return true;
     }
 
+    virtual bool visit(AST::FunctionExpression *node)
+    {
+        if (node->name)
+            _words.insert(node->name->asString());
+
+        for (AST::FormalParameterList *it = node->formals; it; it = it->next) {
+            if (it->name)
+                _words.insert(it->name->asString());
+        }
+
+        return true;
+    }
+
+    virtual bool visit(AST::FunctionDeclaration *node)
+    {
+        if (node->name)
+            _words.insert(node->name->asString());
+
+        for (AST::FormalParameterList *it = node->formals; it; it = it->next) {
+            if (it->name)
+                _words.insert(it->name->asString());
+        }
+
+        return true;
+    }
+
+    virtual bool visit(AST::VariableDeclaration *node)
+    {
+        if (node->name)
+            _words.insert(node->name->asString());
+
+        return true;
+    }
+
 private:
     QSet<QString> _words;
 };