aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--README.md6
-rwxr-xr-xbin/rename.rb29
-rw-r--r--config/tea-cleaner.toml.dist4
4 files changed, 40 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 955cb55..27c0c2b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
/dist-newstyle/
-/config.toml
+/config/tea-cleaner.toml
/log/
/tmp/
diff --git a/README.md b/README.md
index 90455c8..806930c 100644
--- a/README.md
+++ b/README.md
@@ -57,4 +57,10 @@ script should work on Mac OS with preinstalled GNU tools and case-sensitive file
system and Linux. The resulting GCC is to be found in
`./tmp/rootfs/bin/riscv32-unknown-linux-gnu-*`.
+## rename.rb
+
+Changes the extension of all files matching a pattern in the given directory.
+Call the `rename.rb` without arguments to see the usage information and an
+example.
+
## tea-cleaner
diff --git a/bin/rename.rb b/bin/rename.rb
new file mode 100755
index 0000000..654f220
--- /dev/null
+++ b/bin/rename.rb
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+# This Source Code Form is subject to the terms of the Mozilla Public License,
+# v. 2.0. If a copy of the MPL was not distributed with this file, You can
+# obtain one at https://mozilla.org/MPL/2.0/. -}
+
+# frozen_string_literal: true
+
+require 'fileutils'
+
+if ARGV.length == 3
+ Dir.glob("#{ARGV[0]}/**/*.#{ARGV[1]}").each do |original|
+ new_name = original.sub /\.#{Regexp.escape(ARGV[1])}$/, ARGV[2]
+
+ puts "Renaming #{original} to #{new_name}."
+ FileUtils.mv original, new_name
+ end
+else
+ $stderr.puts <<~USAGE
+ Usage:
+ #{$0} directory old_extension new_extension
+
+ The directory is searched recursively.
+ The old and new extensions should not begin with a dot (.).
+
+ Example: #{$0} src ce.vue vue
+ Changes the extensions of all files matching src/**/*.ce.vue to .vue.
+ USAGE
+ exit 1
+end
diff --git a/config/tea-cleaner.toml.dist b/config/tea-cleaner.toml.dist
new file mode 100644
index 0000000..b09ed3b
--- /dev/null
+++ b/config/tea-cleaner.toml.dist
@@ -0,0 +1,4 @@
+# Gitea access token. The token should have permissions to manage users.
+token = ""
+# The gitea instance URL beginning wth "https://".
+server = "https://"