aboutsummaryrefslogtreecommitdiff
path: root/src/me/laria/code/idea_caseconv/CamelCaseAction.java
blob: 93ca85bfce10fabd2b03986387979ef82cec5a3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)));
    }
}