From c5858d30bfac6976bf6c3c5c86b35700acc21192 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Wed, 26 Feb 2020 03:27:55 -0500 Subject: [PATCH] allow processing of files with no extension --- .../cobbzilla/util/main/FileHeaderMain.java | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/cobbzilla/util/main/FileHeaderMain.java b/src/main/java/org/cobbzilla/util/main/FileHeaderMain.java index b85b54f..dd8ee75 100644 --- a/src/main/java/org/cobbzilla/util/main/FileHeaderMain.java +++ b/src/main/java/org/cobbzilla/util/main/FileHeaderMain.java @@ -19,34 +19,32 @@ public class FileHeaderMain extends BaseMain { .withDir(opts.getDir()) .withVisitor(file -> { final String ext = FileUtil.extension(file); - if (ext.startsWith(".")) { - final FileHeader header = headers.get(ext.substring(1)); - if (header != null) { - String contents = toStringOrDie(file); - if (contents == null) contents = ""; - final String prefix; - if (header.hasPrefix()) { - final Matcher prefixMatcher = header.getPrefixPattern().matcher(contents); - if (!prefixMatcher.find()) { - err("prefix not found ("+header.getPrefix().replace("\n", "\\n")+") in file: "+abs(file)); - return; - } - prefix = contents.substring(0, prefixMatcher.start()) - + contents.substring(prefixMatcher.start(), prefixMatcher.end()); - contents = contents.substring(prefixMatcher.end()); - } else { - prefix = ""; + final FileHeader header = headers.get(ext.length() > 0 ? ext.substring(1) : ext); + if (header != null) { + String contents = toStringOrDie(file); + if (contents == null) contents = ""; + final String prefix; + if (header.hasPrefix()) { + final Matcher prefixMatcher = header.getPrefixPattern().matcher(contents); + if (!prefixMatcher.find()) { + err("prefix not found ("+header.getPrefix().replace("\n", "\\n")+") in file: "+abs(file)); + return; } - final Matcher matcher = header.getPattern().matcher(contents); - if (matcher.find()) { - contents = prefix + contents.substring(0, matcher.start()) - + header.getHeader() + "\n" + contents.substring(matcher.end()); - } else { - contents = prefix + header.getHeader() + "\n" + contents; - } - out(abs(file)); - toFileOrDie(file, contents); + prefix = contents.substring(0, prefixMatcher.start()) + + contents.substring(prefixMatcher.start(), prefixMatcher.end()); + contents = contents.substring(prefixMatcher.end()); + } else { + prefix = ""; + } + final Matcher matcher = header.getPattern().matcher(contents); + if (matcher.find()) { + contents = prefix + contents.substring(0, matcher.start()) + + header.getHeader() + "\n" + contents.substring(matcher.end()); + } else { + contents = prefix + header.getHeader() + "\n" + contents; } + out(abs(file)); + toFileOrDie(file, contents); } }).walk(); }