aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java
diff options
context:
space:
mode:
authorLaria Carolin Chabowski <laria@laria.me>2019-06-25 23:05:59 +0200
committerLaria Carolin Chabowski <laria@laria.me>2019-06-27 07:55:09 +0200
commit904b2cbff1b49ba39f89be4e42a26d1f4b26c66a (patch)
tree4ce7ac8b9c6dcb018e737de822eddc6470f97e31 /src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java
parent88f205aab9167aeae720b657986bae5fe8b593e6 (diff)
downloadidea_caseconv-904b2cbff1b49ba39f89be4e42a26d1f4b26c66a.tar.gz
idea_caseconv-904b2cbff1b49ba39f89be4e42a26d1f4b26c66a.tar.bz2
idea_caseconv-904b2cbff1b49ba39f89be4e42a26d1f4b26c66a.zip
Transform to gradle project
Diffstat (limited to 'src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java')
-rw-r--r--src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java b/src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java
new file mode 100644
index 0000000..93ca85b
--- /dev/null
+++ b/src/main/java/me/laria/code/idea_caseconv/CamelCaseAction.java
@@ -0,0 +1,18 @@
+package me.laria.code.idea_caseconv;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Optional;
+
+public class CamelCaseAction extends SelectionReplacerAction {
+ @NotNull
+ public static String ucfirst(String s) {
+ s = s.toLowerCase();
+ return s.substring(0, 1).toUpperCase().concat(s.substring(1));
+ }
+
+ @Override
+ protected String replace(String s) {
+ return WordSplitConverter.convert(s, "", (i, part) -> Optional.of(i == 0 ? part.toLowerCase() : ucfirst(part)));
+ }
+}