)]}'
{
  "commit": "95f84b6d5f3a703d750e880d7215d673c400bd6d",
  "tree": "0de92632f93f569dfd7eebaf0de1edce765ee067",
  "parents": [
    "620a92aff1cf0862216c63d2e5ec0117ef0cb1a6"
  ],
  "author": {
    "name": "Alex Putman",
    "email": "aputman@golang.org",
    "time": "Mon Jun 29 16:45:49 2026 -0400"
  },
  "committer": {
    "name": "Alex Putman",
    "email": "aputman@golang.org",
    "time": "Fri Jul 10 09:20:02 2026 -0700"
  },
  "message": "gopls: respect client capabilities for semtok enabled tokens and mods\n\nThe client capabilities for Semantic Tokens allows the client to specify\nthe maximum set of token types and modifiers that they support. gopls\nseparately then allows for users to specify their own subsets of those\ntwo lists that they want to further filter on (`gopls.semanticTokenTypes`\nand `gopls.semanticTokenModifiers`).\n\nPreviously we only checked the UI settings. It isn\u0027t the biggest issue\nto send clients tokens that they didn\u0027t support in the capabilities,\nbut it seems better to respect the protocol the client defined.\n\nSo now for a token or modifier to be returned from the server, it must:\n\n1. Be in the initial client capabilities list OR\n2. Be set true in (or absent from) the UI settings map \n\nFor the marker tests, I also added the \"capabilities.json\" changes to\nhighlight what a client needs to do to receive those tokens. I also\nadded them by default to the settings, but kept the capability override\nas well for visibility.\n\nFixes golang/go#80309\n\nChange-Id: I4ed8a89f06917ceb360de5eec65f34756a6a6964\nReviewed-on: https://go-review.googlesource.com/c/tools/+/795322\nReviewed-by: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ed078528e889af5eff2740e350a66d5ab6ed696",
      "old_mode": 33188,
      "old_path": "gopls/internal/protocol/semtok/semtok.go",
      "new_id": "9ef3d30677372c41770a111ebe92d6eb56ac2562",
      "new_mode": 33188,
      "new_path": "gopls/internal/protocol/semtok/semtok.go"
    },
    {
      "type": "modify",
      "old_id": "19bf723299fe43bfd49b867e1c2c7af7176bd0fa",
      "old_mode": 33188,
      "old_path": "gopls/internal/settings/settings.go",
      "new_id": "c7a7142bc2d110c7277d0d0c47cf6d3c8c034d67",
      "new_mode": 33188,
      "new_path": "gopls/internal/settings/settings.go"
    },
    {
      "type": "modify",
      "old_id": "1a01979fe35bff1ddf7b0c8205061e34b8bceabd",
      "old_mode": 33188,
      "old_path": "gopls/internal/template/implementations.go",
      "new_id": "e82f80b84e9b725a37d40268ccc230d210fa2447",
      "new_mode": 33188,
      "new_path": "gopls/internal/template/implementations.go"
    },
    {
      "type": "modify",
      "old_id": "03f9b1e25dfe5d9892cbba616dfb704ab4fb494a",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/integration/fake/editor.go",
      "new_id": "0159380585a33414575a48f963a1fdb9a3c3a617",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/integration/fake/editor.go"
    },
    {
      "type": "modify",
      "old_id": "5d09eb17868da7c4b0d0f65da487aa1f2382963a",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/integration/misc/semantictokens_test.go",
      "new_id": "6069fe467fcaf70d5038deb67151d3fbb31e3723",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/integration/misc/semantictokens_test.go"
    },
    {
      "type": "modify",
      "old_id": "c577cc666af166ccd107aa2d06f2f1b3d6724717",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/testdata/token/format.txt",
      "new_id": "6acd1c94f0ff26599e2813c6b2ea4dfbc70d2167",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/testdata/token/format.txt"
    },
    {
      "type": "modify",
      "old_id": "b6c3d183c5570be5a40cbeddfb9f731959540ec6",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/marker/testdata/token/shadowing.txt",
      "new_id": "81e91b87fe89fa8780f690d6c0ad6e3b6f6aa9e4",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/marker/testdata/token/shadowing.txt"
    }
  ]
}
