From cf39634e69455a9a5187999f55e96c208046f9c6 Mon Sep 17 00:00:00 2001
From: Gustavo Saiani <gus@metabase.com>
Date: Fri, 18 Nov 2022 04:45:18 -0300
Subject: [PATCH] Update how we handle autocomplete and format for zero-arity
 functions in ExpressionEditor (#26563)

* Update suggestionText function

* Suggest with closing parens if zero-arity

* Format zero-arity functions with ()
---
 frontend/src/metabase-lib/expressions/format.js  | 2 +-
 frontend/src/metabase-lib/expressions/suggest.js | 6 +-----
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/frontend/src/metabase-lib/expressions/format.js b/frontend/src/metabase-lib/expressions/format.js
index aafb13b5e4e..7470813e9ec 100644
--- a/frontend/src/metabase-lib/expressions/format.js
+++ b/frontend/src/metabase-lib/expressions/format.js
@@ -112,7 +112,7 @@ function formatFunction([fn, ...args], options) {
   const formattedName = getExpressionName(fn);
   const formattedArgs = args.map(arg => format(arg, options));
   return args.length === 0
-    ? formattedName
+    ? formattedName + "()"
     : `${formattedName}(${formattedArgs.join(", ")})`;
 }
 
diff --git a/frontend/src/metabase-lib/expressions/suggest.js b/frontend/src/metabase-lib/expressions/suggest.js
index 1ecc15602d2..2bdbb78ed66 100644
--- a/frontend/src/metabase-lib/expressions/suggest.js
+++ b/frontend/src/metabase-lib/expressions/suggest.js
@@ -16,11 +16,7 @@ import {
   formatSegmentName,
 } from "./index";
 
-const suggestionText = func => {
-  const { displayName, args } = func;
-  const suffix = args.length > 0 ? "(" : " ";
-  return displayName + suffix;
-};
+const suggestionText = func => func.displayName + "(";
 
 export function suggest({
   source,
-- 
GitLab