* Centralize updates to chat code block text models
There currently is a race when updating code block models. This can cause weird flashes during progressive rendering
With this fix, I've removed code in `chatListRenderer` that was updating the model. Now the `codeBlockModelCollection`/`chatViewModel` updates the text model and also computes vulns
* Update snapshots
* Improve creation of text models for chat code blocks
Refactors the chat code block logic to better support cross code blocks IntelliSense. Previously we only created text models for the visible editors in chat. With this new approach, we instead create a unique text model for each code block in the conversation. This allows us our IntelliSense features to work even if a code block is not visible in chat
Also uses this as a change to remove some duplicate I introduced to support local file editors in chat
Still a draft as the text model creation should be moved out of the chat list renderer
* Move model updating logic into view model
* Small cleanup
Adds support for rendering local file editors in chat
These editors have full editor support and are loaded from the workspace instead of having their content provided in chat
These editors can be created with a special markdown code block like:
~~~md
```vscode-local-file
{
"uri": uri_json,
"range": optional_range_data
}
```