mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-05-29 07:20:35 +00:00
Fix browser rename for dotfiles
This commit is contained in:
@@ -19,19 +19,23 @@ public class BrowserFileDuplicates {
|
||||
}
|
||||
|
||||
private static FilePath renameFile(FilePath target, boolean dir) {
|
||||
var name = dir ? target.getFileName() : target.getBaseName().getFileName();
|
||||
var name = dir || target.isDotFile() ? target.getFileName() : target.getBaseName().getFileName();
|
||||
var pattern = Pattern.compile("(.+)_(\\d+)");
|
||||
var matcher = pattern.matcher(name);
|
||||
if (matcher.matches()) {
|
||||
try {
|
||||
var number = Integer.parseInt(matcher.group(2));
|
||||
var suffix = dir ? "" : target.getExtension().map(s -> "." + s).orElse("");
|
||||
var suffix = dir || target.isDotFile() ? "" : target.getExtension().map(s -> "." + s).orElse("");
|
||||
var newFile = target.getParent().join(matcher.group(1) + "_" + (number + 1) + suffix);
|
||||
return newFile;
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
if (target.isDotFile()) {
|
||||
return FilePath.of(target.removeTrailingSlash() + "_" + 1);
|
||||
}
|
||||
|
||||
var ext = target.getExtension();
|
||||
return FilePath.of(
|
||||
target.removeTrailingSlash().getBaseName() + "_" + 1 + (ext.isPresent() ? "." + ext.get() : ""));
|
||||
|
||||
Reference in New Issue
Block a user