)]}'
{
  "commit": "7027307b381e2b8421c95ebb2f872b8e3c567f3e",
  "tree": "7f9027f4ba1f57b305ebfba47d3b0d920093de95",
  "parents": [
    "837699bf55d27975e9e5b881b8794683bb1b10c8"
  ],
  "author": {
    "name": "Philip Zeyliger",
    "email": "philip@bold.dev",
    "time": "Wed May 28 18:26:14 2025 +0000"
  },
  "committer": {
    "name": "Autoformatter",
    "email": "bot@sketch.dev",
    "time": "Wed May 28 22:47:10 2025 +0000"
  },
  "message": "webui: replace hardcoded Monaco language map with dynamic detection\n\nReplace the static language mapping in the Monaco diff editor with\nMonaco\u0027s built-in language registry for automatic language detection.\n\nChanges:\n1. Remove hardcoded langMap that only supported 8 languages (js, ts, py,\n   html, css, json, md, go)\n2. Implement dynamic language detection using monaco.languages.getLanguages()\n3. Cache language list for performance since it doesn\u0027t change at runtime\n4. Maintain exact extension matching including the dot prefix (.js, .ts, etc.)\n5. Preserve fallback to \u0027plaintext\u0027 for unknown extensions\n\nBenefits:\n- Automatically supports all languages Monaco knows about (40+ languages)\n- No maintenance burden when Monaco adds new language support\n- Removes duplication between Monaco\u0027s registry and our hardcoded map\n- Better future-proofing as Monaco language support evolves\n\nThe implementation uses Monaco\u0027s ILanguageExtensionPoint interface which\nprovides language.extensions arrays for each registered language. This\nis more reliable than maintaining our own mapping and ensures consistency\nwith Monaco\u0027s actual language support.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\n\nChange-ID: sca31f0ae899ae54dk\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a1b948fef9e70599451021d35c6b3268988b3304",
      "old_mode": 33188,
      "old_path": "webui/src/web-components/sketch-monaco-view.ts",
      "new_id": "1d7363b978acc766eb9821bfbda1e99d8d6a2384",
      "new_mode": 33188,
      "new_path": "webui/src/web-components/sketch-monaco-view.ts"
    }
  ]
}
