• Will Chen's avatar
    Use specific languages for shiki (#1938) · 1ce39958
    Will Chen 提交于
    <!-- CURSOR_SUMMARY -->
    > [!NOTE]
    > Refactors code highlighting to use react-shiki/core with a singleton
    highlighter and preloaded langs/themes, adds a fallback renderer, bumps
    react-shiki, and adds tests for message summarization.
    > 
    > - **Frontend**
    > - **CodeHighlight** (`src/components/chat/CodeHighlight.tsx`): Replace
    `useShikiHighlighter` with `ShikiHighlighter` from `react-shiki/core`
    using a singleton `createHighlighterCore` and JS regex engine; preload
    common languages and GitHub light/dark themes; add `<pre><code>`
    fallback while loading.
    > - **Tests**
    > - Add/expand Vitest suite for `formatMessagesForSummary`
    (`src/__tests__/formatMessagesForSummary.test.ts`): covers truncation,
    ordering, special chars, undefined content, and edge cases.
    > - **Dependencies**
    >   - Upgrade `react-shiki` to `^0.9.0` in `package.json`.
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    b32d224cd21d3c76e77799f2995905e523406bf9. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    
    
    
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Preloaded a specific set of Shiki languages and themes using react-shiki
    core, and updated CodeHighlight to use a singleton highlighter. This
    reduces bundle size and stabilizes code rendering with a simple fallback
    while loading.
    
    - **Refactors**
    - Switched to react-shiki/core with ShikiHighlighter and a singleton
    highlighter.
    - Preloaded common languages
    (js/ts/jsx/tsx/html/css/json/markdown/python/etc.) and GitHub light/dark
    themes.
    - Used the JavaScript regex engine and added a plain <pre><code>
    fallback until the highlighter is ready.
    
    - **Dependencies**
      - Upgraded react-shiki to ^0.9.0.
    
    <sup>Written for commit b32d224cd21d3c76e77799f2995905e523406bf9.
    Summary will update automatically on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    1ce39958
名称
最后提交
最后更新
..
chat 正在载入提交数据...
home 正在载入提交数据...
preview_panel 正在载入提交数据...
settings 正在载入提交数据...
ui 正在载入提交数据...
AppList.tsx 正在载入提交数据...
AppSearchDialog.tsx 正在载入提交数据...
AppUpgrades.tsx 正在载入提交数据...
AutoApproveSwitch.tsx 正在载入提交数据...
AutoFixProblemsSwitch.tsx 正在载入提交数据...
AutoUpdateSwitch.tsx 正在载入提交数据...
BugScreenshotDialog.tsx 正在载入提交数据...
CapacitorControls.tsx 正在载入提交数据...
ChatInputControls.tsx 正在载入提交数据...
ChatList.tsx 正在载入提交数据...
ChatModeSelector.tsx 正在载入提交数据...
ChatPanel.tsx 正在载入提交数据...
ChatSearchDialog.tsx 正在载入提交数据...
CommunityCodeConsentDialog.tsx 正在载入提交数据...
ConfirmationDialog.tsx 正在载入提交数据...
ContextFilesPicker.tsx 正在载入提交数据...
CopyErrorMessage.tsx 正在载入提交数据...
CreateAppDialog.tsx 正在载入提交数据...
CreateCustomModelDialog.tsx 正在载入提交数据...
CreateCustomProviderDialog.tsx 正在载入提交数据...
CreatePromptDialog.tsx 正在载入提交数据...
CustomErrorToast.tsx 正在载入提交数据...
DeleteConfirmationDialog.tsx 正在载入提交数据...
DyadProSuccessDialog.tsx 正在载入提交数据...
EditCustomModelDialog.tsx 正在载入提交数据...
ErrorBoundary.tsx 正在载入提交数据...
GitHubConnector.tsx 正在载入提交数据...
GitHubIntegration.tsx 正在载入提交数据...
HelpBotDialog.tsx 正在载入提交数据...
HelpDialog.tsx 正在载入提交数据...
ImportAppButton.tsx 正在载入提交数据...
ImportAppDialog.tsx 正在载入提交数据...
InputRequestToast.tsx 正在载入提交数据...
LoadingBlock.tsx 正在载入提交数据...
MaxChatTurnsSelector.tsx 正在载入提交数据...
McpConsentToast.tsx 正在载入提交数据...
McpToolsPicker.tsx 正在载入提交数据...
ModelPicker.tsx 正在载入提交数据...
NeonConnector.tsx 正在载入提交数据...
NeonDisconnectButton.tsx 正在载入提交数据...
NeonIntegration.tsx 正在载入提交数据...
NodePathSelector.tsx 正在载入提交数据...
PortalMigrate.tsx 正在载入提交数据...
PriceBadge.tsx 正在载入提交数据...
ProBanner.tsx 正在载入提交数据...
ProModeSelector.tsx 正在载入提交数据...
ProviderSettings.tsx 正在载入提交数据...
ReleaseChannelSelector.tsx 正在载入提交数据...
RuntimeModeSelector.tsx 正在载入提交数据...
ScreenshotSuccessDialog.tsx 正在载入提交数据...
SettingsList.tsx 正在载入提交数据...
SetupBanner.tsx 正在载入提交数据...
SetupProviderCard.tsx 正在载入提交数据...
SupabaseConnector.tsx 正在载入提交数据...
SupabaseIntegration.tsx 正在载入提交数据...
TelemetryBanner.tsx 正在载入提交数据...
TelemetrySwitch.tsx 正在载入提交数据...
TemplateCard.tsx 正在载入提交数据...
ThinkingBudgetSelector.tsx 正在载入提交数据...
VercelConnector.tsx 正在载入提交数据...
VercelIntegration.tsx 正在载入提交数据...
ZoomSelector.tsx 正在载入提交数据...
app-sidebar.tsx 正在载入提交数据...
appItem.tsx 正在载入提交数据...