Иконочные чипы для упоминаний в Web Shell
Проблема
Пользовательское меню упоминаний @ может вставлять ссылки на расширения, файлы и MCP, но принятые элементы отображались в composer как обычный текст. В предыдущей реализации composer эти ссылки отображались в виде иконочных чипов. Текущей пользовательской архитектуре упоминаний также нужен способ, позволяющий элементам упоминаний, определяемым хостом (например, таблицам), использовать тот же рендеринг чипов.
Дизайн
- Сохранить за меню упоминаний @ ответственность за выбор и вставку текста.
- Позволить элементам упоминаний опционально предоставлять
composerTag, описывающий вставленную ссылку. - Продолжить автоматическое создание composer tags для встроенных провайдеров файлов, расширений и MCP, чтобы существующие встроенные упоминания снова получили иконочные чипы без изменений на стороне хоста.
- Добавить проп
composerTagIconsвWebShell, чтобы хосты могли регистрировать URL иконок поcomposerTag.kind. - Разрешать иконки во время рендеринга composer через единый хелпер, который сначала проверяет кастомные иконки, а затем использует встроенные.
- Сохранять разрешенные URL иконок только во внутренних данных inline-декораций и удалять их из публичных значений composer tag.
Область применения
Это изменение охватывает регистрацию и рендеринг иконок composer tag для принятых элементов упоминаний @ и программно вставленных inline-тегов. Оно не изменяет видимые строки пикера упоминаний @ и не добавляет новый API регистрации провайдеров сверх существующего интерфейса atProviders.
Риски
- URL кастомных иконок применяются через CSS-маски, поэтому значения URL необходимо экранировать перед записью в CSS custom properties.
- Существующие inline-декорации должны обновляться, если
composerTagIconsизменяется, пока текст остается в редакторе.
Last updated on