       params  = [1..arity].map (i) -> "${#{i}:arg#{i}}"
       displayText = "#{func}/#{arity}"
 
-    if arity != '0'
-      snippet = "#{func}(#{params.join(', ')})"
-
-    snippet = snippet.replace(/^:/, '') + " $0"
+    snippet_params = params
+    snippet_params = snippet_params[1...] if snippet_params.length > 0 && pipeBefore
+
+    if snippet_params.length > 0
+      snippet = "#{func}(#{snippet_params.join(', ')})"
+
+    snippet = snippet.replace(/^:/, '') + "$0"
 
     [type, iconHTML, rightLabel] =
       switch kind

      rightLabel: 'variable'
    }

  createSuggestionForFunction = (serverSuggestion, name, kind, signature, mod, desc, spec, prefix) ->
    args = signature.split(',')
    [func, arity] = name.split('/')
    [moduleParts..., postfix] = prefix.split('.')

      when 'var'
        createSuggestionForVariable(name)
      when 'private_function'
        createSuggestionForFunction(serverSuggestion, name, kind, signature, "", desc, spec, prefix, pipeBefore)
      when 'public_function'
        createSuggestionForFunction(serverSuggestion, name, kind, signature, "", desc, spec, prefix, pipeBefore)
      when 'function'
        createSuggestionForFunction(serverSuggestion, name, kind, signature, mod, desc, spec, prefix, pipeBefore)
      when 'public_macro'
        createSuggestionForFunction(serverSuggestion, name, kind, signature, "", desc, spec, prefix, pipeBefore)
      when 'macro'
        createSuggestionForFunction(serverSuggestion, name, kind, signature, mod, desc, spec, prefix, pipeBefore)
      when 'module'
        createSuggestionForModule(serverSuggestion, name, desc, prefix, subtype)
      else
