aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--build.gradle2
-rw-r--r--src/main/java/me/laria/code/idea_caseconv/SentenceCaseAction.java17
-rw-r--r--src/main/resources/META-INF/plugin.xml9
4 files changed, 27 insertions, 2 deletions
diff --git a/README.md b/README.md
index 6e3e453..7b8c18a 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,7 @@ The plugin provides actions to convert to these cases:
- `lower case`
- `fLIP cASE`
- `Title Case`
+- `Sentence case`
- `dot.case`
The Plugin was inspired by the [Case Conversion Plugin for SublimeText](https://packagecontrol.io/packages/Case%20Conversion).
diff --git a/build.gradle b/build.gradle
index 47ffc27..04c248a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,7 @@ plugins {
}
group 'me.laria.code'
-version '0.6.1'
+version '0.6.2'
sourceCompatibility = 1.8
diff --git a/src/main/java/me/laria/code/idea_caseconv/SentenceCaseAction.java b/src/main/java/me/laria/code/idea_caseconv/SentenceCaseAction.java
new file mode 100644
index 0000000..8dace53
--- /dev/null
+++ b/src/main/java/me/laria/code/idea_caseconv/SentenceCaseAction.java
@@ -0,0 +1,17 @@
+package me.laria.code.idea_caseconv;
+
+import java.util.Optional;
+
+public class SentenceCaseAction extends SelectionReplacerAction {
+ @Override
+ protected String replace(String s) {
+ return WordSplitConverter.convert(
+ s,
+ " ",
+ (i, part) -> Optional.of(i == 0 ?
+ CamelCaseAction.ucfirst(part)
+ : part
+ )
+ );
+ }
+}
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index 8711a15..84a690e 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -1,7 +1,7 @@
<idea-plugin>
<id>me.laria.code.idea_caseconv</id>
<name>Case conversion</name>
- <version>0.6.1</version>
+ <version>0.6.2</version>
<vendor email="laria@laria.me" url="https://code.laria.me">Laria Chabowski</vendor>
<description><![CDATA[<html>
@@ -17,6 +17,7 @@
<li>lower case</li>
<li>fLIP cASE</li>
<li>Title Case</li>
+ <li>Sentence case</li>
<li>dot.case</li>
</ul>
<p>How to use:</p>
@@ -30,6 +31,9 @@
<change-notes><![CDATA[<html>
<dl>
+ <dt>Version 0.6.2</dt>
+ <dd>Add <code>Convert case: Sentence case</code> action</dd>
+
<dt>Version 0.6.1</dt>
<dd>Add a short documentation on how to use the plugin</dd>
@@ -86,6 +90,9 @@
<action id="me.laria.code.idea_caseconv.TitleCaseAction" class="me.laria.code.idea_caseconv.TitleCaseAction"
text="Convert Case: Title Case">
</action>
+ <action id="me.laria.code.idea_caseconv.SentenceCaseAction" class="me.laria.code.idea_caseconv.SentenceCaseAction"
+ text="Convert Case: Sentence case">
+ </action>
<action id="me.laria.code.idea_caseconv.DotCaseAction" class="me.laria.code.idea_caseconv.DotCaseAction"
text="Convert Case: dot.case">
</action>