Subject: 31.0.50; Extending c-ts-common-baseline-indent-rule

From: [email-masked]
Date: Sun, 09 Mar 2025 21:55:24 -0500

Hi Yuan.

I’ve been working on replacing some of the bespoke indentation
rules in lua-ts-mode with c-ts-common-baseline-indent-rule and ran
into one spot it didn’t handle.

If the parent (table, args, params) starts with a comment all the
siblings follow that indentation instead of ignoring the comment
and falling back to the default indent-offset; e.g.

  -- currently lua-ts-mode indents like:
  local my_table = { -- there is a comment here
      x_offset = 12,
      y_offset = 30,
  }

  -- using c-ts-common-baseline-indent-rule we get:
  local my_table = { -- there is a comment here
                     x_offset = 12,
                     y_offset = 30,
  }

And similarly for arguments & parameters:

  -- current:
  very_fun(-- do the very fun stuff
      "This is a string",
      3.1415926535897932,
      { x = 1, y = 2 },
  )

  -- c-t-c-b-i-r:
  very_fun(-- do the very fun stuff
           "This is a string",
           3.1415926535897932,
           { x = 123, y = 99 },
  )

Is this something it could be extended to do or should I just
stick with custom rules for this kind of thing?

Other than that it’s pretty much eliminated the need for all the
other rules I was using to get this stuff working.

Thanks.