Extensions may contribute a terminal profile icon as "$(debug)", which
is the documented syntax and what the profile quick pick already
parses. The settings enum description wrapped that string in $() once
more, so the default profile setting showed $($(debug)).
Parse string icons with ThemeIcon.fromString first and fall back to
the plain id.
FileSearchProviderOptions.session is declared as an object, but
searches without a cache key got undefined, so providers that key a
WeakMap on the session threw.
Give those searches their own session and cancel it once the search
is done, like clearCache does for cached sessions.
Quick chat puts the input toolbars in the same row as the editor and
gives the editor whatever width the toolbars leave. A long model name
made the toolbars wider than the row, so the editor shrank to nothing
and the send button and the side actions were pushed out of view.
Cap the model name width in quick chat so it ellipsizes, like it does
in the chat view.