From ebc0cb35269c299a7ebb4854f841404caebf8b3c Mon Sep 17 00:00:00 2001 From: Alexander Wondwossen Date: Sun, 22 Mar 2026 12:49:39 -0400 Subject: [PATCH 01/22] feat: add word wrap toggle to code viewer (#2027) --- app/components/Code/Viewer.vue | 20 ++++++++++++-- .../v/[version]/[...filePath].vue | 14 ++++++++++ i18n/locales/en.json | 27 +++++++++++++++---- 3 files changed, 54 insertions(+), 7 deletions(-) diff --git a/app/components/Code/Viewer.vue b/app/components/Code/Viewer.vue index 90bcf0c221..513b518f99 100644 --- a/app/components/Code/Viewer.vue +++ b/app/components/Code/Viewer.vue @@ -3,6 +3,7 @@ const props = defineProps<{ html: string lines: number selectedLines: { start: number; end: number } | null + wordWrap?: boolean }>() const emit = defineEmits<{ @@ -113,9 +114,9 @@ watch( -
+
-
+
@@ -155,6 +156,21 @@ watch( transition: background-color 0.1s; } +.code-content.word-wrap-active :deep(.line), +.code-content:has(.word-wrap) :deep(.line) { + white-space: pre-wrap; + overflow-wrap: break-word; + max-height: none; + overflow: visible; +} + +.code-lines.word-wrap :deep(.line) { + white-space: pre-wrap; + overflow-wrap: break-word; + max-height: none; + overflow: visible; +} + /* Highlighted lines in code content - extend full width with negative margin */ .code-content :deep(.line.highlighted) { @apply bg-yellow-500/20; diff --git a/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue b/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue index 3fbdcfe994..898eb50f2c 100644 --- a/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue +++ b/app/pages/package-code/[[org]]/[packageName]/v/[version]/[...filePath].vue @@ -267,6 +267,8 @@ const markdownViewModes = [ const markdownViewMode = shallowRef<(typeof markdownViewModes)[number]['key']>('preview') +const wordWrap = shallowRef(false) + const bytesFormatter = useBytesFormatter() // Keep latestVersion for comparison (to show "(latest)" badge) @@ -416,6 +418,17 @@ defineOgImageComponent('Default', {
+