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://"