[Launched] Formula building, now bigger and better

We love big formulas — but we won’t lie. They can get gnarly very quickly, especially when you’re building and experimenting with an ever-growing formula list (Missy Elliot said it best here). So what’s a maker to do? Especially as we certainly won’t be slowing down the feature parade.

If you caught Maria and Steve’s webinar on custom templates yesterday, you may have picked up on our hint towards an enhanced formula building experiencing. I’m excited to confirm that the rumors are true: starting today, you’ll find a larger and richer formula builder throughout the Coda-verse.

  • Is bigger always better? When it comes to parsing through complicated formulas and navigating the parentheses maze, we think yes! The formula builder is now expandable so you can more easily work on longer formulas. No more scrolling to find the end of your formula. It’s all laid out in its color-coded glory.
  • Presto, clean finish! The builder now supports common keyboard interactions such as Enter and Tab. Or, automatically indent your formula with a press of a button. Precise, elegant indents every time, with no need to argue tabs or spaces.

  • Resources galore. Our formula list is now more prominently featured, just where you need it. Also available on canvas via /formula reference

A sneak peek that isn’t a spoiler alert? Sign us up! This is perhaps my favorite addition to our enhanced formula builder. Now, you can ensure you’re referencing the right table, column, row, etc. A cleaner, clearer way for your doc to grow.

  • Preview as you build . Now, when you reference an object in your formula, you can know what it looks like and where it’s from. You’ll automatically see a preview of the reference — whether it’s a table, another formula, or a control — so you can be confident every step of the way.
  • Enjoy the origin story . Each doc is a saga, a record of how your ideas have grown into cross-functional projects and real results. Now you can trace each object back to where it came from, whether it’s a nested page or a base table from day one. Each preview also comes with a link to that object’s origin story so you can double check (or just reminisce about the past).

We set out to make a doc as powerful as an app. Formulas have and always will be a part of that dream. We hope that these new changes can help you access our constantly growing library of formulas in a bigger, brighter way.

Looking for inspiration? Check out coda.io/formulas to see what formulas are waiting for you!

79 Likes

FI-NAL-LY!!!
:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:

20 Likes

P.S. Well, the auto-formatting rules could be a bit different. E.g.,

how I’d do it how Coda does it
image image

But I guess @Federico_Stefanato will be happy, his style is more like on the right :slight_smile:

But the addition of a big editor and Tab/Shift+Tab is huge for me! Thank you!

5 Likes

No Wayyyyyyy :partying_face: :grin: :partying_face: !!!

Thank You :partying_face: :partying_face: :+1: !!!

3 Likes

As someone that works with formulas in a day to day basis, Thank you!

3 Likes

Yaaaaay!

Agreed. I really dislike newlines before dot operators :confused:

1 Like

Hallelujah!!
Long over due, but thank you for doing it and supporting intedenting and auto-format!

2 Likes

Auto-format is better than no auto-format :slight_smile:

But I’d kindly request that Auto-format was more forgiving to existing nesting rules and didn’t attempt to reformat what was meticulously formatted previously. e.g. in that example of mine, it collapsed

List(
  List("A", "B"),
  List("C", "D")
)

into a single line. Ideally the re-formatter should keep what doesn’t look like invalid formatting (similarly to how IntelliJ IDEs do it) and only attempt to reformat what is clearly misformatted code.

Oh, and yeah, I’m all in for

Function(
  ...
).AnotherFunction(
  ...
)

style and not

Function(...)
  .AnotherFunction(...)

Even though I admit that filter-like functions do look nice in this style…

Table.Filter(...)
  .Sort(...)
  .First()

…I’d still prefer the ). because what I usually want to wrap is the contents of a filter, e.g.:

Table.Filter(
  X < Y
  AND Z > A
  AND (B <= C OR D >= E)
  AND (F.IsBlank() OR F.In(G))
).Sort(...).First()

:white_check_mark: good

and I want neither of

Table.Filter(
  X < Y
  AND Z > A
  AND (B <= C OR D >= E)
  AND (F.IsBlank() OR F.In(G))
)
  .Sort(...)
  .First()

:x: bad — visual discontinuity

nor

Table.Filter(
  X < Y
  AND Z > A
  AND (B <= C OR D >= E)
  AND (F.IsBlank() OR F.In(G)))
  .Sort(...)
  .First()

:x: bad — hard to tell at glance where Filter ended

9 Likes

I’ve been hoping this would be added since the beginning! :tada:Thanks Coda team :partying_face:

2 Likes

This is amazing.

Question: will the formula tips still be in there, I hope?

2 Likes

This is really amazing! Big formula editor was one of my Top 3, if not Top 1 :smiley: , improvement I was waiting for! It makes life so much easier when working with longer formulas. Other stuff like formatting and Tab indentations is just icing on the cake :slight_smile:
Great Job!
Cant wait to see further improvements you guys will bring to editor, this is fantastic step in right direction! :slight_smile:

4 Likes

Okay, the .Filter() formatting is not as bad as I anticipated. I prefer putting hanging operators on the new line instead of keeping them on the previous line, and I’d still prefer if the auto-formatter kept my existing splitting into lines (didn’t put Task OR Client on the same line and didn’t break Estimated optimistic/pessimistic into multiple lines) but otherwise given the big editor, this is actually rather good:

I probably won’t use it as is though. Evidence above :slight_smile: I prefer slightly different code style

8 Likes

This is so powerful, good job.

2 Likes

Damn. The Codans continue to deliver more continuously useful product updates than any other product team I’ve encountered. Also, I really appreciate the dedication to puns. :rofl:

7 Likes

Yeah the autoformatting option is an unexpected bonus here. Great work, team.

4 Likes

Super excited for this! Great work guys. This, a mobile update and a charts update have been my big things I’ve been looking forward to.

2 Likes

Amazing… thank you Coda geniuses.

2 Likes

This is a true game changer. Coda will rule the world.

3 Likes

This is FANTASTIC. Thank you!

2 Likes

This is great. The team is approaching the Factorio team standard… :wink:

3 Likes