     client = childProcess.spawn("dcd-client", ["-c" + position])
     reader = readline.createInterface(input: client.stdout)
     completionType = null
-    promises = []
-    fakeContext = null
+    functions = []
 
-    reader.on("line", (line) =>
+    reader.on("line", (line) ->
       parts = line.split("\t")
 
       switch completionType
         when "identifiers"
           if types[parts[1]] is "function"
-            if fakeContext is null
-              fakeContext = @createFunctionContext(text)
-
-            fakeText = fakeContext + parts[0] + "("
-            promises.push(@getCompletions(fakeText, fakeText.length, completions, parts[0]))
+            functions.push(parts[0])
           else
             completions.push(
               text: parts[0]

    client.stdin.write(text)
    client.stdin.end()

    new Promise((resolve) ->
      reader.on("close", ->
        Promise.all(promises).then((-> resolve(completions)), resolve)
      )
    )

    charPosition += coords.column

  getSuggestions: (request) ->
    @request = request
    completions = []
    @getCompletions(request.editor.getText(), @getPosition(request), completions)

