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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user