diff --git a/shared/messages.ts b/shared/messages.ts index 8b49026..1ccbd01 100644 --- a/shared/messages.ts +++ b/shared/messages.ts @@ -41,6 +41,7 @@ export type ThemeMessage = { colors: Colors; codeFont?: string; codeFontSize?: number; + fontLigatures?: boolean; }; // extension -> webview diff --git a/webview/App.css b/webview/App.css index 1b4dae1..a4e9386 100644 --- a/webview/App.css +++ b/webview/App.css @@ -1,3 +1,4 @@ +@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap"); @import url("@vscode/codicons/dist/codicon.css"); :root { @@ -10,6 +11,7 @@ ); --code-font-weight: var(--vscode-editor-font-weight, normal); --code-font-size: var(--vscode-editor-font-size, 14px); + --code-font-variant-ligatures: contextual; --ui-font-family: var( --vscode-font-family, @@ -152,12 +154,7 @@ body { &.decomp-me-dark, &.decomp-me-light { - --code-font-family: var( - --vscode-editor-font-family, - Menlo, - Monaco, - monospace - ); + --code-font-family: var(Jetbrains Mono, Menlo, Monaco, monospace); --ui-font-size: .8rem; } &.decomp-me-dark { @@ -168,12 +165,7 @@ body { color-scheme: dark; } &.decomp-me-light { - --code-font-family: var( - --vscode-editor-font-family, - Menlo, - Monaco, - monospace - ); + --code-font-family: var(Jetbrains Mono, Menlo, Monaco, monospace); --ui-font-size: .8rem; --panel-background: #fdfcfd; --background: #fdfcfd; diff --git a/webview/common/ContextMenu.module.css b/webview/common/ContextMenu.module.css index afcfb53..dc11b3d 100644 --- a/webview/common/ContextMenu.module.css +++ b/webview/common/ContextMenu.module.css @@ -13,6 +13,7 @@ font-family: var(--code-font-family); font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); cursor: pointer; height: 1.5em; color: var(--menu-foreground); diff --git a/webview/common/Header.module.css b/webview/common/Header.module.css index 7e47f5b..209be6a 100644 --- a/webview/common/Header.module.css +++ b/webview/common/Header.module.css @@ -24,6 +24,7 @@ font-family: var(--code-font-family); font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); text-wrap: nowrap; white-space: pre; overflow: hidden; diff --git a/webview/common/TooltipShared.module.css b/webview/common/TooltipShared.module.css index 8e6ec3b..d4e4ac1 100644 --- a/webview/common/TooltipShared.module.css +++ b/webview/common/TooltipShared.module.css @@ -7,6 +7,7 @@ font-family: var(--code-font-family); font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); word-break: break-word; } diff --git a/webview/state.ts b/webview/state.ts index 5ec0da8..1d9dfb9 100644 --- a/webview/state.ts +++ b/webview/state.ts @@ -389,6 +389,12 @@ window.addEventListener('message', (event) => { } else { document.body.style.removeProperty('--code-font-size'); } + if (message.fontLigatures != null) { + document.body.style.setProperty( + '--code-font-variant-ligatures', + message.fontLigatures ? 'contextual' : 'no-contextual', + ); + } } else if (inVsCode) { console.error('Unknown message', message); } diff --git a/webview/views/FunctionView.module.css b/webview/views/FunctionView.module.css index df68ceb..c40238c 100644 --- a/webview/views/FunctionView.module.css +++ b/webview/views/FunctionView.module.css @@ -14,6 +14,7 @@ font-family: var(--code-font-family); font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); text-wrap: nowrap; white-space: pre; overflow: hidden; diff --git a/webview/views/SymbolsView.module.css b/webview/views/SymbolsView.module.css index e5b0098..76098d8 100644 --- a/webview/views/SymbolsView.module.css +++ b/webview/views/SymbolsView.module.css @@ -19,6 +19,7 @@ font-family: var(--code-font-family); font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); text-wrap: nowrap; white-space: pre; @@ -71,6 +72,7 @@ font-family: var(--code-font-family); font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); text-wrap: nowrap; white-space: pre; } diff --git a/webview/views/UnitsView.module.css b/webview/views/UnitsView.module.css index 4972117..48ab185 100644 --- a/webview/views/UnitsView.module.css +++ b/webview/views/UnitsView.module.css @@ -12,9 +12,10 @@ height: var(--list-row-height); padding-left: 0.5em; - font-family: var(--code-font-family, monospace); - font-weight: var(--code-font-weight, normal); + font-family: var(--code-font-family); + font-weight: var(--code-font-weight); font-size: var(--code-font-size); + font-variant-ligatures: var(--code-font-variant-ligatures); text-wrap: nowrap; white-space: pre;