)]}'
{
  "commit": "f451690e36862fa90368d14a7b083707cdbc5bfc",
  "tree": "42864bf99ef20f92980126b02c6d9bd17bc52b3c",
  "parents": [
    "17b346669257beead68ff0b8c30cacde32da9196"
  ],
  "author": {
    "name": "Rob Findley",
    "email": "rfindley@google.com",
    "time": "Tue May 18 13:33:26 2021 -0400"
  },
  "committer": {
    "name": "Robert Findley",
    "email": "rfindley@google.com",
    "time": "Wed May 19 14:12:23 2021 +0000"
  },
  "message": "internal/lsp/lsprpc: partial integration of the jsonrpc_v2 library\n\nUpdate the protocol package to allow wrapping the jsonrpc2 API, and add\nwrappers for v1 and v2 of the API, so that we may switch between them.\n\nAdd simple bindings for the lsprpc package for jsonrpc2_v2 package, and\nget them working well enough to pass a version TestClientLogging test.\nThis seemed like a reasonable checkpoint.\n\nAlso add some type safety to client closing: all LSP clients must\nimplement io.Closer.\n\nChange-Id: Ib2e6906e0db0c94102a7e794de932d6b61d54670\nReviewed-on: https://go-review.googlesource.com/c/tools/+/320850\nTrust: Robert Findley \u003crfindley@google.com\u003e\nTrust: Ian Cottrell \u003ciancottrell@google.com\u003e\nRun-TryBot: Robert Findley \u003crfindley@google.com\u003e\ngopls-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Ian Cottrell \u003ciancottrell@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1279ba326244df6129bc5e78d74509259d6be4ef",
      "old_mode": 33188,
      "old_path": "internal/jsonrpc2_v2/jsonrpc2.go",
      "new_id": "4e853d5b5682515ebec5a332ee08f2d802d7b9de",
      "new_mode": 33188,
      "new_path": "internal/jsonrpc2_v2/jsonrpc2.go"
    },
    {
      "type": "modify",
      "old_id": "7165db9b89af129a4b33bbe8b6fb8709bf73b946",
      "old_mode": 33188,
      "old_path": "internal/lsp/general.go",
      "new_id": "5bdc4bf351fc221e9ed0f9ec2298054b2704f9f1",
      "new_mode": 33188,
      "new_path": "internal/lsp/general.go"
    },
    {
      "type": "modify",
      "old_id": "621e42acb1d54396c93a122d2dcce8cd91a1cb74",
      "old_mode": 33188,
      "old_path": "internal/lsp/lsp_test.go",
      "new_id": "7208216e94f71e5252a65daf7ccee570f1f110a4",
      "new_mode": 33188,
      "new_path": "internal/lsp/lsp_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "15fdda2ffb453f1454cc51b1da9d65e050d5aa22",
      "new_mode": 33188,
      "new_path": "internal/lsp/lsprpc/binder.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aa9c9d491632c6cc7e1572b17eef6bd341121230",
      "new_mode": 33188,
      "new_path": "internal/lsp/lsprpc/binder_test.go"
    },
    {
      "type": "modify",
      "old_id": "04cf5ca9a0f4147448ed46624916b805257275bf",
      "old_mode": 33188,
      "old_path": "internal/lsp/lsprpc/lsprpc.go",
      "new_id": "730f9f7a9d346dbdb26207e4b4fd91cbeea6b2cc",
      "new_mode": 33188,
      "new_path": "internal/lsp/lsprpc/lsprpc.go"
    },
    {
      "type": "modify",
      "old_id": "ef2555d9f1c33729bfbf0e851f5abefe3aea05a8",
      "old_mode": 33188,
      "old_path": "internal/lsp/lsprpc/lsprpc_test.go",
      "new_id": "1bdde591845a4005150073914aa955f968c52a32",
      "new_mode": 33188,
      "new_path": "internal/lsp/lsprpc/lsprpc_test.go"
    },
    {
      "type": "modify",
      "old_id": "40bb0831bcd065a5c028fca7e10ab2de3ce1d527",
      "old_mode": 33188,
      "old_path": "internal/lsp/protocol/protocol.go",
      "new_id": "05adf41ef124a9097d973b20cd174d6e3d5ca683",
      "new_mode": 33188,
      "new_path": "internal/lsp/protocol/protocol.go"
    },
    {
      "type": "modify",
      "old_id": "1f33c02b08712a601d5ea1ec0484eb6c269e5298",
      "old_mode": 33188,
      "old_path": "internal/lsp/protocol/tsclient.go",
      "new_id": "79e57b9c05c06f2521e150656ef35edd2543886c",
      "new_mode": 33188,
      "new_path": "internal/lsp/protocol/tsclient.go"
    },
    {
      "type": "modify",
      "old_id": "51d6142c0d91e268111cc24acdef0d7e5d5a9e25",
      "old_mode": 33188,
      "old_path": "internal/lsp/protocol/tsprotocol.go",
      "new_id": "ef83dea2c9510b6d50fc9f7b95d9cfad35f8b509",
      "new_mode": 33188,
      "new_path": "internal/lsp/protocol/tsprotocol.go"
    },
    {
      "type": "modify",
      "old_id": "a4799682919bf85a7ee4bda537a570b5a1a2b994",
      "old_mode": 33188,
      "old_path": "internal/lsp/protocol/tsserver.go",
      "new_id": "cc50a6dddc2491e46806bbfcf7d6bcc4ab500883",
      "new_mode": 33188,
      "new_path": "internal/lsp/protocol/tsserver.go"
    },
    {
      "type": "modify",
      "old_id": "abf73450e0630c5e11f212517ae422c50969f1fb",
      "old_mode": 33188,
      "old_path": "internal/lsp/protocol/typescript/code.ts",
      "new_id": "9461c24227bdb928f744efa4ef4e2427401089af",
      "new_mode": 33188,
      "new_path": "internal/lsp/protocol/typescript/code.ts"
    },
    {
      "type": "modify",
      "old_id": "dd6d6e205d209941266079eddee112c8eef999ef",
      "old_mode": 33188,
      "old_path": "internal/lsp/server.go",
      "new_id": "99786fe26e5315376fdcdc0b8c3a89a99f5a7ff2",
      "new_mode": 33188,
      "new_path": "internal/lsp/server.go"
    }
  ]
}
