)]}'
{
  "commit": "c2a8f45adaadaf02c21094599d4e77cd5b404e66",
  "tree": "16e9a03b29459d7ecdd2a9b29bad24a15d7012e9",
  "parents": [
    "3f7dfa39cfd22df88b3253d179ba6ead6e3421fe"
  ],
  "author": {
    "name": "Heschi Kreinick",
    "email": "heschi@google.com",
    "time": "Fri Dec 27 15:46:49 2019 -0500"
  },
  "committer": {
    "name": "Heschi Kreinick",
    "email": "heschi@google.com",
    "time": "Mon Dec 30 21:11:27 2019 +0000"
  },
  "message": "internal/imports,lsp: use callbacks for completion functions\n\nWe only need to return a relatively small number of completions to the\nuser. There\u0027s no point continuing once we have those, so switch the\ncompletion functions to be callback-based, and cancel once we\u0027ve got\nwhat we want.\n\nChange-Id: Ied199fb1f41346819c7237dfed8251fa3ac73ad7\nReviewed-on: https://go-review.googlesource.com/c/tools/+/212634\nRun-TryBot: Heschi Kreinick \u003cheschi@google.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Rebecca Stambler \u003crstambler@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7ae035f1300c2b1caa739a1b2287a7493a057365",
      "old_mode": 33188,
      "old_path": "internal/imports/fix.go",
      "new_id": "07536d2e79d7caf6acdcfad228c37f6a16d81cf3",
      "new_mode": 33188,
      "new_path": "internal/imports/fix.go"
    },
    {
      "type": "modify",
      "old_id": "b48a69a8358cb8e1ba4e55df9dfe22d54a576161",
      "old_mode": 33188,
      "old_path": "internal/imports/fix_test.go",
      "new_id": "9e1dff8f136012c594f3af08721ad32f33630e2b",
      "new_mode": 33188,
      "new_path": "internal/imports/fix_test.go"
    },
    {
      "type": "modify",
      "old_id": "c857043c926556403e78f1981bac1240a4d97ebd",
      "old_mode": 33188,
      "old_path": "internal/imports/imports.go",
      "new_id": "3855c8a8f3530dc4b6d83e55494df16432ad6656",
      "new_mode": 33188,
      "new_path": "internal/imports/imports.go"
    },
    {
      "type": "modify",
      "old_id": "2632937744f575e96c41987a2d237daa1ad00650",
      "old_mode": 33188,
      "old_path": "internal/imports/mod.go",
      "new_id": "fb665a3ed72fb857cdc2f008055fe21c062d2bcf",
      "new_mode": 33188,
      "new_path": "internal/imports/mod.go"
    },
    {
      "type": "modify",
      "old_id": "61a6beb5a39619aa77dfab126945e68043c7b68f",
      "old_mode": 33188,
      "old_path": "internal/imports/mod_test.go",
      "new_id": "e98f222f503adf9239b1567e33bba8f5befc4478",
      "new_mode": 33188,
      "new_path": "internal/imports/mod_test.go"
    },
    {
      "type": "modify",
      "old_id": "767181d4f020d06114f57def49079fb654506c64",
      "old_mode": 33188,
      "old_path": "internal/lsp/source/completion.go",
      "new_id": "ef2318eed1c2f695486f8a5d8f4a183e77c4bd86",
      "new_mode": 33188,
      "new_path": "internal/lsp/source/completion.go"
    },
    {
      "type": "modify",
      "old_id": "e11e2cdfbac84bdfbb56adeea853db2e8fc323d1",
      "old_mode": 33188,
      "old_path": "internal/lsp/source/format.go",
      "new_id": "406c795f6d164baee1b6137fb596ecd271dfd24f",
      "new_mode": 33188,
      "new_path": "internal/lsp/source/format.go"
    },
    {
      "type": "modify",
      "old_id": "734b201994eef1d13fdd1dfcf18ff25179d28a8b",
      "old_mode": 33188,
      "old_path": "internal/lsp/tests/tests.go",
      "new_id": "3b9d129b7c068bc393e001624d1fc8bdcb906720",
      "new_mode": 33188,
      "new_path": "internal/lsp/tests/tests.go"
    }
  ]
}
