From 79dc0af8db711e15e3b5c9f50702652317ffdd30 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Fri, 12 Aug 2022 18:57:47 -0300 Subject: bin/80: Add helper utility --- bin/80 | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100755 bin/80 (limited to 'bin/80') diff --git a/bin/80 b/bin/80 new file mode 100755 index 0000000..b971f5d --- /dev/null +++ b/bin/80 @@ -0,0 +1,85 @@ +#!/bin/sh +set -eu + +usage() { + cat <<-'EOF' + Usage: + 80 [FILENAME...] + 80 -h + EOF +} + +help() { + cat <<-'EOF' + + Options: + -h, --help show this message + + FILENAME the name of the file to work on (default: + the list of file in the VCS repository) + + + List the lines in the files that contain more than 80 columns. + + + Examples: + + Check for all the files in the current repository: + + $ 80 + + + Detect on the given two files: + + $ 80 f1 f2 + EOF +} + + +for flag in "$@"; do + case "$flag" in + --) + break + ;; + --help) + usage + help + exit + ;; + *) + ;; + esac +done + +while getopts 'h' flag; do + case "$flag" in + h) + usage + help + exit + ;; + *) + usage >&2 + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) + +len() { + awk ' + length > 80 { + printf "%s:%s:%s\n", FILENAME, FNR, $0 + } + ' "$1" +} + +if [ $# = 0 ]; then + vcs ls-files | while read -r f; do + len "$f" + done +else + for f in "$@"; do + len "$f" + done +fi -- cgit v1.2.3