diff --git a/.changeset/add-cli-remove-trailing-period.md b/.changeset/add-cli-remove-trailing-period.md deleted file mode 100644 index ec60d48..0000000 --- a/.changeset/add-cli-remove-trailing-period.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@srtkit/cli": patch ---- - -Add `--remove-trailing-period` flag to clean command - -- Add new CLI option `--remove-trailing-period` to remove trailing periods (`。` or `.`) at the end of cues diff --git a/.changeset/add-remove-trailing-period.md b/.changeset/add-remove-trailing-period.md deleted file mode 100644 index 38b02ea..0000000 --- a/.changeset/add-remove-trailing-period.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@srtkit/core": patch ---- - -Fix `removeTrailingPeriod` regex to handle trailing whitespace - -- Fix regex pattern from `/[。.]$/` to `/[。.]\s*$/` to correctly remove trailing periods followed by whitespace diff --git a/packages/cli/README.md b/packages/cli/README.md index e0d39e9..8f93e5b 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -76,8 +76,6 @@ cues, speaker labels, music cues, and more. - `--merge-same-text` — Merge consecutive cues with identical text Required: No -- `--remove-trailing-period` — Remove trailing period (。 or .) at the end of cues Required: No - - `--normalize-text-case` — Change fully UPPERCASE cues to normal case Required: No --- diff --git a/packages/cli/src/commands/clean.ts b/packages/cli/src/commands/clean.ts index 6d1c811..40e05d8 100644 --- a/packages/cli/src/commands/clean.ts +++ b/packages/cli/src/commands/clean.ts @@ -40,10 +40,6 @@ export class CleanCommand extends Command { description: 'Merge consecutive cues with identical text', }) - removeTrailingPeriod = Option.Boolean('--remove-trailing-period', false, { - description: 'Remove trailing period (`。` or `.`) at the end of cues', - }) - normalizeTextCase = Option.Boolean('--normalize-text-case', false, { description: 'Change fully UPPERCASE cues to normal case', }) @@ -59,7 +55,6 @@ export class CleanCommand extends Command { removeMusicCues: this.removeMusicCues, removeLineBreaks: this.removeLineBreaks, mergeSameText: this.mergeSameText, - removeTrailingPeriod: this.removeTrailingPeriod, normalizeTextCase: this.normalizeTextCase, }) diff --git a/packages/core/src/features/clean.ts b/packages/core/src/features/clean.ts index 646484c..17d374c 100644 --- a/packages/core/src/features/clean.ts +++ b/packages/core/src/features/clean.ts @@ -97,7 +97,7 @@ export const cleanBasic = (subtitle: Subtitle, options?: CleanBasicOptions): Sub // Remove trailing period (`。` or `.`) if (options?.removeTrailingPeriod) { - text = text.replace(/[。.]\s*$/, '') + text = text.replace(/[。.]$/, '') } return { diff --git a/packages/core/test/features/clean.test.ts b/packages/core/test/features/clean.test.ts index 281578e..13bcbac 100644 --- a/packages/core/test/features/clean.test.ts +++ b/packages/core/test/features/clean.test.ts @@ -114,28 +114,6 @@ describe('cleanBasic', () => { expect(result).toMatchSnapshot() }) - it('should remove trailing period', () => { - const subtitle = [ - createEntry('1', 'Hello World.'), - createEntry('2', 'This is a test.'), - createEntry('3', 'No period here'), - createEntry('4', 'Multiple sentences. End here.'), - createEntry('5', '你好世界。'), - createEntry('6', '没有句号'), - createEntry('7', ' With whitespace. '), - ] - - const result = cleanBasic(subtitle, { removeTrailingPeriod: true }) - - expect(result[0].text).toBe('Hello World') - expect(result[1].text).toBe('This is a test') - expect(result[2].text).toBe('No period here') - expect(result[3].text).toBe('Multiple sentences. End here') - expect(result[4].text).toBe('你好世界') - expect(result[5].text).toBe('没有句号') - expect(result[6].text).toBe('With whitespace') - }) - it('should apply multiple options together', () => { const subtitle = [ createEntry('1', ' JOHN: Hello [phone] World \n'),