diff --git a/app/components/Code/Viewer.vue b/app/components/Code/Viewer.vue index 90bcf0c221..93dc5078d0 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,17 @@ watch( -
+
-
+
@@ -155,6 +164,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..50d9a746fe 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,21 @@ defineOgImageComponent('Default', {
+