fix: make tag listing table use dynamic column widths to prevent truncation (#1264)

Co-authored-by: Ralph Khreish <Crunchyman-ralph@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
This commit is contained in:
Ralph Khreish
2025-10-02 15:39:31 +02:00
committed by GitHub
parent 0747f1c772
commit c7418c4594

View File

@@ -619,9 +619,29 @@ async function tags(
headers.push(chalk.cyan.bold('Description')); headers.push(chalk.cyan.bold('Description'));
} }
// Calculate dynamic column widths based on terminal width
const terminalWidth = Math.max(process.stdout.columns || 120, 80);
const usableWidth = Math.floor(terminalWidth * 0.95);
let colWidths;
if (showMetadata) {
// With metadata: Tag Name, Tasks, Completed, Created, Description
const widths = [0.25, 0.1, 0.12, 0.15, 0.38];
colWidths = widths.map((w, i) =>
Math.max(Math.floor(usableWidth * w), i === 0 ? 15 : 8)
);
} else {
// Without metadata: Tag Name, Tasks, Completed
const widths = [0.7, 0.15, 0.15];
colWidths = widths.map((w, i) =>
Math.max(Math.floor(usableWidth * w), i === 0 ? 20 : 10)
);
}
const table = new Table({ const table = new Table({
head: headers, head: headers,
colWidths: showMetadata ? [20, 10, 12, 15, 50] : [25, 10, 12] colWidths: colWidths,
wordWrap: true
}); });
// Add rows // Add rows