From 92ed5dc63612d811bb0538f15277c58eac9e4e96 Mon Sep 17 00:00:00 2001 From: "Elian H. Thiele-Evans" <60372411+ElianHugh@users.noreply.github.com> Date: Thu, 15 Feb 2024 08:56:55 +1100 Subject: [PATCH 1/3] Update manager.ts --- src/rmarkdown/manager.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/rmarkdown/manager.ts b/src/rmarkdown/manager.ts index 05365a272..2db723f4c 100644 --- a/src/rmarkdown/manager.ts +++ b/src/rmarkdown/manager.ts @@ -123,8 +123,8 @@ export abstract class RMarkdownManager { } const percentRegex = /[0-9]+(?=%)/g; + const divisionRegex = /([0-9]+)\/([0-9]+)/g; const percentRegOutput = dat.match(percentRegex); - if (percentRegOutput) { for (const item of percentRegOutput) { const perc = Number(item); @@ -136,7 +136,22 @@ export abstract class RMarkdownManager { ); currentProgress = perc; } + } else { + const divisionRegOutput = divisionRegex.exec(dat); + if (divisionRegOutput) { + const perc = parseInt(divisionRegOutput[1]) / parseInt(divisionRegOutput[2]) * 100; + progress?.report( + { + increment: perc - currentProgress, + message: `${Math.ceil(perc)}%` + } + ); + currentProgress = perc; + } } + + + if (token?.isCancellationRequested) { if (childProcess) { resolve(childProcess); From 4535269a0644a5edd136f081c97c7a16b3a71894 Mon Sep 17 00:00:00 2001 From: "Elian H. Thiele-Evans" <60372411+ElianHugh@users.noreply.github.com> Date: Thu, 15 Feb 2024 14:13:23 +1100 Subject: [PATCH 2/3] Add current chunk to knit progress --- src/rmarkdown/manager.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/rmarkdown/manager.ts b/src/rmarkdown/manager.ts index 2db723f4c..6b8f34788 100644 --- a/src/rmarkdown/manager.ts +++ b/src/rmarkdown/manager.ts @@ -123,7 +123,7 @@ export abstract class RMarkdownManager { } const percentRegex = /[0-9]+(?=%)/g; - const divisionRegex = /([0-9]+)\/([0-9]+)/g; + const divisionRegex = /([0-9]+)\/([0-9]+) (\[.*\])/g; const percentRegOutput = dat.match(percentRegex); if (percentRegOutput) { for (const item of percentRegOutput) { @@ -140,18 +140,17 @@ export abstract class RMarkdownManager { const divisionRegOutput = divisionRegex.exec(dat); if (divisionRegOutput) { const perc = parseInt(divisionRegOutput[1]) / parseInt(divisionRegOutput[2]) * 100; + const currentChunk = divisionRegOutput[3] ?? ''; progress?.report( { increment: perc - currentProgress, - message: `${Math.ceil(perc)}%` + message: `${Math.ceil(perc)}% ${currentChunk}` } ); currentProgress = perc; } } - - if (token?.isCancellationRequested) { if (childProcess) { resolve(childProcess); From b17a9dc6790f28f332d17b761e9f497a8fc337d7 Mon Sep 17 00:00:00 2001 From: "Elian H. Thiele-Evans" <60372411+ElianHugh@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:08:07 +1100 Subject: [PATCH 3/3] Update manager.ts --- src/rmarkdown/manager.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/rmarkdown/manager.ts b/src/rmarkdown/manager.ts index 6b8f34788..13f7fba8c 100644 --- a/src/rmarkdown/manager.ts +++ b/src/rmarkdown/manager.ts @@ -123,7 +123,7 @@ export abstract class RMarkdownManager { } const percentRegex = /[0-9]+(?=%)/g; - const divisionRegex = /([0-9]+)\/([0-9]+) (\[.*\])/g; + const divisionRegex = /([0-9]+)\/([0-9]+)/g; const percentRegOutput = dat.match(percentRegex); if (percentRegOutput) { for (const item of percentRegOutput) { @@ -139,12 +139,11 @@ export abstract class RMarkdownManager { } else { const divisionRegOutput = divisionRegex.exec(dat); if (divisionRegOutput) { - const perc = parseInt(divisionRegOutput[1]) / parseInt(divisionRegOutput[2]) * 100; - const currentChunk = divisionRegOutput[3] ?? ''; + const perc = Math.ceil(parseInt(divisionRegOutput[1]) / parseInt(divisionRegOutput[2]) * 100); progress?.report( { increment: perc - currentProgress, - message: `${Math.ceil(perc)}% ${currentChunk}` + message: `${perc}%` } ); currentProgress = perc;