)]}'
{
  "commit": "b94034b68e55f4ab56da0af7fd3e1a5b6532fde3",
  "tree": "453b84552d7077137c8a8794ba4e6b058c1e6b07",
  "parents": [
    "f3e4d98b10a97e1795f568933295b508e6d87466"
  ],
  "author": {
    "name": "Aisha",
    "email": "87562264+aishasalim@users.noreply.github.com",
    "time": "Sun Jul 19 16:09:08 2026 -0500"
  },
  "committer": {
    "name": "Aisha",
    "email": "87562264+aishasalim@users.noreply.github.com",
    "time": "Sun Jul 19 23:22:38 2026 -0500"
  },
  "message": "formatter: Keep space before # in unqualified typedef\n\nA parameterized type in a typedef lost the space before \u0027#\u0027:\n\n  typedef dv_base_env_cov #(.CFG_T(tl_agent_env_cfg)) tl_agent_env_cov;\n\nwas formatted as:\n\n  typedef dv_base_env_cov#(.CFG_T(tl_agent_env_cfg)) tl_agent_env_cov;\n\nThe \"no space before #\" rule in SpacesRequiredBetween() fires whenever the\n\u0027#\u0027 follows an identifier whose direct parent is kUnqualifiedId, unless the\ncontext appears in an exemption list. A typedef was not exempted.\n\nPackage-qualified types are deliberately left alone, since the existing\ntests require the \"type#(params...)::method(...)\" spelling:\n\n  typedef foo_pkg::baz_t#(.L(L), .W(W)) bar_t;\n\nThe two cases are distinguished by kQualifiedId, which only wraps the\nkUnqualifiedId in the qualified form.\n\nThe exemption is a separate IsInsideFirst() call rather than a fifth entry\nin the existing list: MatchesTagAnyOf() unrolls at most four tags and\naborts at runtime beyond that.\n\nAdds formatter tests covering a typedef that already has the space, one\nthat does not, and a short single-parameter case that stays on one line.\n\nFixes #850\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e885d742715a044ccf77fdc91791a1d2626e103e",
      "old_mode": 33188,
      "old_path": "verible/verilog/formatting/formatter_test.cc",
      "new_id": "cfd01859ccae182fada13d47dd5bb2515b100e5e",
      "new_mode": 33188,
      "new_path": "verible/verilog/formatting/formatter_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d4af24a9fab96b4bb5a58a55a257143da78461e0",
      "old_mode": 33188,
      "old_path": "verible/verilog/formatting/token-annotator.cc",
      "new_id": "fcbbdbb3b27d0d8c43aa2f0df60751acf8170f7a",
      "new_mode": 33188,
      "new_path": "verible/verilog/formatting/token-annotator.cc"
    }
  ]
}
