)]}'
{
  "commit": "cdd497c7600204ee91b22ddfcdb475fc1592a220",
  "tree": "5efe5d9b07f13889e688d214b961f3b3513c1b8a",
  "parents": [
    "bceb0acaa00df79b14e8e24801ac75ab4025454a"
  ],
  "author": {
    "name": "Hongxiang Jiang",
    "email": "hxjiang@golang.org",
    "time": "Fri Aug 14 16:24:19 2026 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Tue Aug 25 09:50:54 2026 -0700"
  },
  "message": "[release-v0.56] extension/src: provide two commands for implement interface\n\nAfter some investigation, I noticed the cursor position has\ndifferent meaning between two implementations.\n- For gopls, the cursor position means the type that needs to\nimplement an interface. Methods will be added right after\ntype decl.\nCursor: within type decl \"Foo\"\nInput: \"net.Error\"\n- For impl, the cursor position means the location where the\nmethods will be added. The user will have to type the type\nthat needs to implement an interface.\nCursor: after type decl \"Foo\"\nInput: \"f *Foo net.Error\"\n\nI\u0027m afraid user may find is surprising so I suggest to keep\ntwo commands instead just swap the implementation underneath.\n\nAs a result, the \"impl\" tool need to be installed for test env.\n\nFix golang/vscode-go#4063\n\nChange-Id: I07720b7e06ae40f4a3fc24afef5e8a1615f742eb\nReviewed-on: https://go-review.googlesource.com/c/vscode-go/+/815720\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Madeline Kalil \u003cmkalil@google.com\u003e\nReviewed-on: https://go-review.googlesource.com/c/vscode-go/+/820401\nAuto-Submit: Hongxiang Jiang \u003chxjiang@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7780fb924c98cdc52b507bc59f506a400ee8b3cc",
      "old_mode": 33188,
      "old_path": "docs/commands.md",
      "new_id": "1434d165b13cbccd33996f3d4b1076a5a75f54e4",
      "new_mode": 33188,
      "new_path": "docs/commands.md"
    },
    {
      "type": "modify",
      "old_id": "ac473fdbb1e51ec1c1e67a043eb4727580cf0724",
      "old_mode": 33188,
      "old_path": "docs/features.md",
      "new_id": "a54ed6b92378c90967590c23d23ea4fae510aa16",
      "new_mode": 33188,
      "new_path": "docs/features.md"
    },
    {
      "type": "modify",
      "old_id": "20238f09ac364cc3fd22f1cdb5ee5d4d54ab5122",
      "old_mode": 33188,
      "old_path": "docs/tools.md",
      "new_id": "d61acc581295bbffd6961cb8b741081488bb2075",
      "new_mode": 33188,
      "new_path": "docs/tools.md"
    },
    {
      "type": "modify",
      "old_id": "a90144194f4b2a1e1cfbf71ef315351f9634ea92",
      "old_mode": 33188,
      "old_path": "extension/package.json",
      "new_id": "0f05421ef91ae53ffa6209a66d4d32d51481e6a6",
      "new_mode": 33188,
      "new_path": "extension/package.json"
    },
    {
      "type": "modify",
      "old_id": "64a1195a9b2e638eb38e3858f5d53eefb7811c66",
      "old_mode": 33188,
      "old_path": "extension/src/commands/index.ts",
      "new_id": "558e8cdc395f266a23b76982e767d930acec5627",
      "new_mode": 33188,
      "new_path": "extension/src/commands/index.ts"
    },
    {
      "type": "modify",
      "old_id": "f4b6ced27aac3642f5d342e6ae9b7b6dd17d05ca",
      "old_mode": 33188,
      "old_path": "extension/src/goImpl.ts",
      "new_id": "7268371d57f14864e5808b437d187ab9b381d9d5",
      "new_mode": 33188,
      "new_path": "extension/src/goImpl.ts"
    },
    {
      "type": "modify",
      "old_id": "fc15077f443395dff34aa8004874846b188c47fd",
      "old_mode": 33188,
      "old_path": "extension/src/goMain.ts",
      "new_id": "72648e366f6fb6de7b905358ab25061319cd5f4a",
      "new_mode": 33188,
      "new_path": "extension/src/goMain.ts"
    },
    {
      "type": "modify",
      "old_id": "43cfba21e9186f8f9069b0e953baf73cd74536f4",
      "old_mode": 33188,
      "old_path": "extension/test/gopls/interactive.test.ts",
      "new_id": "9244575a388b5d3ad0bb879a7537c8b3a858e15c",
      "new_mode": 33188,
      "new_path": "extension/test/gopls/interactive.test.ts"
    },
    {
      "type": "modify",
      "old_id": "6e2bf00266eef3e30af774f84496ea9373c20ab8",
      "old_mode": 33188,
      "old_path": "extension/tools/installtools/main.go",
      "new_id": "5fe73b4c4c5d17cd44f856a6b5d1b6371dc94cfe",
      "new_mode": 33188,
      "new_path": "extension/tools/installtools/main.go"
    }
  ]
}
