From bc9575a35a31c4ad78da4b7d49214c50b0a90372 Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Sat, 10 Feb 2024 10:52:52 +0100 Subject: [PATCH 1/3] Add sentence case --- src/main.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.ts b/src/main.ts index 62f5d9f..744eeb3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -83,7 +83,9 @@ export default class ToggleCasePlugin extends Plugin { }) .join('') } - + private toSentenceCase(selectedText: string) { + return selectedText.charAt(0).toUpperCase() + selectedText.slice(1).toLowerCase(); + } private getNextCase(selectedText: string, index: number): string { let textToCheck: string = selectedText; @@ -98,6 +100,7 @@ export default class ToggleCasePlugin extends Plugin { const checkTextUpper = textToCheck.toUpperCase(); const checkTextLower = textToCheck.toLowerCase(); const checkTextTitle = this.toTitleCase(textToCheck); + const checkTextSentence = this.toSentenceCase(textToCheck); switch(textToCheck) { case checkTextUpper: { @@ -107,8 +110,11 @@ export default class ToggleCasePlugin extends Plugin { return this.toTitleCase(selectedText); } case checkTextTitle: { - return selectedText.toUpperCase(); + return this.toSentenceCase(selectedText); } + case checkTextSentence: { + return selectedText.toUpperCase(); + } default: { return selectedText.toUpperCase(); } From 8ccfeded1d8108681cb30e6d953b8a29ceca1f51 Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Sat, 10 Feb 2024 10:58:31 +0100 Subject: [PATCH 2/3] Fix indentation --- src/main.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.ts b/src/main.ts index 744eeb3..aff7a1d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -84,8 +84,8 @@ export default class ToggleCasePlugin extends Plugin { .join('') } private toSentenceCase(selectedText: string) { - return selectedText.charAt(0).toUpperCase() + selectedText.slice(1).toLowerCase(); - } + return selectedText.charAt(0).toUpperCase() + selectedText.slice(1).toLowerCase(); + } private getNextCase(selectedText: string, index: number): string { let textToCheck: string = selectedText; @@ -114,7 +114,7 @@ export default class ToggleCasePlugin extends Plugin { } case checkTextSentence: { return selectedText.toUpperCase(); - } + } default: { return selectedText.toUpperCase(); } From b2dbb9a4f72aeb6001bbaa8f61a4b00662be776e Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Sat, 10 Feb 2024 11:12:50 +0100 Subject: [PATCH 3/3] Update manifest.json description --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 91a4dad..b420903 100644 --- a/manifest.json +++ b/manifest.json @@ -3,8 +3,8 @@ "name": "Toggle Case", "version": "1.1.0", "minAppVersion": "0.15.0", - "description": "This is an Obsidian plugin to toggle between `lowercase` `UPPERCASE` and `Title Case`", + "description": "This is an Obsidian plugin to toggle between `lowercase`, `UPPERCASE`, `Title Case` and `Sentence case`", "author": "automattech", "authorUrl": "https://github.com/MatthewAlner/obsidian-toggle-case", "isDesktopOnly": false -} \ No newline at end of file +}