Merge pull request #1873 from NoahGorny/improve-clean-files-txt
Add clean_files.txt sorting hookpull/1876/head
commit
940739a8a0
|
|
@ -43,3 +43,8 @@ repos:
|
||||||
language: system
|
language: system
|
||||||
files: "\\.bash$"
|
files: "\\.bash$"
|
||||||
types: [file]
|
types: [file]
|
||||||
|
- id: clean-files-txt
|
||||||
|
name: Check that clean_files.txt is sorted alphabetically.
|
||||||
|
entry: ./hooks/check-clean-files-txt.sh
|
||||||
|
language: system
|
||||||
|
files: clean_files.txt
|
||||||
|
|
|
||||||
135
clean_files.txt
135
clean_files.txt
|
|
@ -1,7 +1,7 @@
|
||||||
#######################################################################
|
#######################################################################
|
||||||
# Allow-list of files to be lint-checked by CI
|
# Allow-list of files to be lint-checked by CI
|
||||||
#
|
#
|
||||||
# Directory Suport
|
# Directory Support
|
||||||
# Directory references are allowed within the file, ie:
|
# Directory references are allowed within the file, ie:
|
||||||
#
|
#
|
||||||
# themes/powerline
|
# themes/powerline
|
||||||
|
|
@ -16,15 +16,78 @@
|
||||||
|
|
||||||
# root directories
|
# root directories
|
||||||
#
|
#
|
||||||
docs
|
docs/
|
||||||
hooks
|
hooks/
|
||||||
|
|
||||||
# root files
|
# root files
|
||||||
#
|
#
|
||||||
.gitattributes
|
.gitattributes
|
||||||
lint_clean_files.sh
|
|
||||||
install.sh
|
|
||||||
bash_it.sh
|
bash_it.sh
|
||||||
|
clean_files.txt
|
||||||
|
install.sh
|
||||||
|
lint_clean_files.sh
|
||||||
|
|
||||||
|
# aliases
|
||||||
|
#
|
||||||
|
aliases/available/dnf.aliases.bash
|
||||||
|
aliases/available/git.aliases.bash
|
||||||
|
aliases/available/vim.aliases.bash
|
||||||
|
|
||||||
|
# completions
|
||||||
|
#
|
||||||
|
completion/available/apm.completion.bash
|
||||||
|
completion/available/awless.completion.bash
|
||||||
|
completion/available/brew.completion.bash
|
||||||
|
completion/available/cargo.completion.bash
|
||||||
|
completion/available/composer.completion.bash
|
||||||
|
completion/available/conda.completion.bash
|
||||||
|
completion/available/consul.completion.bash
|
||||||
|
completion/available/django.completion.bash
|
||||||
|
completion/available/dmidecode.completion.bash
|
||||||
|
completion/available/docker-machine.completion.bash
|
||||||
|
completion/available/docker.completion.bash
|
||||||
|
completion/available/gcloud.completion.bash
|
||||||
|
completion/available/gem.completion.bash
|
||||||
|
completion/available/github-cli.completion.bash
|
||||||
|
completion/available/go.completion.bash
|
||||||
|
completion/available/helm.completion.bash
|
||||||
|
completion/available/jungle.completion.bash
|
||||||
|
completion/available/knife.completion.bash
|
||||||
|
completion/available/kontena.completion.bash
|
||||||
|
completion/available/kubectl.completion.bash
|
||||||
|
completion/available/lerna.completion.bash
|
||||||
|
completion/available/minikube.completion.bash
|
||||||
|
completion/available/ngrok.completion.bash
|
||||||
|
completion/available/notify-send.completion.bash
|
||||||
|
completion/available/npm.completion.bash
|
||||||
|
completion/available/packer.completion.bash
|
||||||
|
completion/available/pip.completion.bash
|
||||||
|
completion/available/pip3.completion.bash
|
||||||
|
completion/available/pipenv.completion.bash
|
||||||
|
completion/available/pipx.completion.bash
|
||||||
|
completion/available/rustup.completion.bash
|
||||||
|
completion/available/sdkman.completion.bash
|
||||||
|
completion/available/vault.completion.bash
|
||||||
|
completion/available/vuejs.completion.bash
|
||||||
|
|
||||||
|
# plugins
|
||||||
|
#
|
||||||
|
plugins/available/alias-completion.plugin.bash
|
||||||
|
plugins/available/basher.plugin.bash
|
||||||
|
plugins/available/cmd-returned-notify.plugin.bash
|
||||||
|
plugins/available/docker-machine.plugin.bash
|
||||||
|
plugins/available/git.plugin.bash
|
||||||
|
plugins/available/go.plugin.bash
|
||||||
|
plugins/available/goenv.plugin.bash
|
||||||
|
plugins/available/history-search.plugin.bash
|
||||||
|
plugins/available/history-substring-search.plugin.bash
|
||||||
|
plugins/available/history.plugin.bash
|
||||||
|
plugins/available/xterm.plugin.bash
|
||||||
|
|
||||||
|
# tests
|
||||||
|
#
|
||||||
|
test/plugins/alias-completion.plugin.bats
|
||||||
|
test/test_helper.bash
|
||||||
|
|
||||||
# themes
|
# themes
|
||||||
#
|
#
|
||||||
|
|
@ -48,67 +111,7 @@ themes/modern
|
||||||
themes/powerline
|
themes/powerline
|
||||||
themes/purity
|
themes/purity
|
||||||
|
|
||||||
# plugins
|
|
||||||
#
|
|
||||||
plugins/available/alias-completion.plugin.bash
|
|
||||||
plugins/available/basher.plugin.bash
|
|
||||||
plugins/available/cmd-returned-notify.plugin.bash
|
|
||||||
plugins/available/docker-machine.plugin.bash
|
|
||||||
plugins/available/git.plugin.bash
|
|
||||||
plugins/available/go.plugin.bash
|
|
||||||
plugins/available/goenv.plugin.bash
|
|
||||||
plugins/available/history-search.plugin.bash
|
|
||||||
plugins/available/history-substring-search.plugin.bash
|
|
||||||
plugins/available/history.plugin.bash
|
|
||||||
plugins/available/xterm.plugin.bash
|
|
||||||
|
|
||||||
# completions
|
|
||||||
#
|
|
||||||
completion/available/apm.completion.bash
|
|
||||||
completion/available/awless.completion.bash
|
|
||||||
completion/available/brew.completion.bash
|
|
||||||
completion/available/cargo.completion.bash
|
|
||||||
completion/available/composer.completion.bash
|
|
||||||
completion/available/conda.completion.bash
|
|
||||||
completion/available/consul.completion.bash
|
|
||||||
completion/available/django.completion.bash
|
|
||||||
completion/available/dmidecode.completion.bash
|
|
||||||
completion/available/docker.completion.bash
|
|
||||||
completion/available/docker-machine.completion.bash
|
|
||||||
completion/available/gcloud.completion.bash
|
|
||||||
completion/available/gem.completion.bash
|
|
||||||
completion/available/go.completion.bash
|
|
||||||
completion/available/github-cli.completion.bash
|
|
||||||
completion/available/helm.completion.bash
|
|
||||||
completion/available/jungle.completion.bash
|
|
||||||
completion/available/knife.completion.bash
|
|
||||||
completion/available/kontena.completion.bash
|
|
||||||
completion/available/kubectl.completion.bash
|
|
||||||
completion/available/lerna.completion.bash
|
|
||||||
completion/available/minikube.completion.bash
|
|
||||||
completion/available/notify-send.completion.bash
|
|
||||||
completion/available/ngrok.completion.bash
|
|
||||||
completion/available/npm.completion.bash
|
|
||||||
completion/available/packer.completion.bash
|
|
||||||
completion/available/pip.completion.bash
|
|
||||||
completion/available/pip3.completion.bash
|
|
||||||
completion/available/pipenv.completion.bash
|
|
||||||
completion/available/pipx.completion.bash
|
|
||||||
completion/available/rustup.completion.bash
|
|
||||||
completion/available/vault.completion.bash
|
|
||||||
completion/available/sdkman.completion.bash
|
|
||||||
completion/available/vuejs.completion.bash
|
|
||||||
|
|
||||||
# aliases
|
|
||||||
#
|
|
||||||
aliases/available/dnf.aliases.bash
|
|
||||||
aliases/available/vim.aliases.bash
|
|
||||||
aliases/available/git.aliases.bash
|
|
||||||
|
|
||||||
# tests
|
|
||||||
test/plugins/alias-completion.plugin.bats
|
|
||||||
test/test_helper.bash
|
|
||||||
|
|
||||||
# vendor init files
|
# vendor init files
|
||||||
|
#
|
||||||
vendor/.gitattributes
|
vendor/.gitattributes
|
||||||
vendor/init.d
|
vendor/init.d
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
file=$1
|
||||||
|
# Should only be run on clean_files.txt
|
||||||
|
if [ "$file" != "clean_files.txt" ]; then
|
||||||
|
echo "Please run this script on clean_files.txt only!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
function compare_lines() {
|
||||||
|
prev=""
|
||||||
|
while read -r line; do
|
||||||
|
# Skip unimportant lines
|
||||||
|
[[ $line =~ "#" ]] && continue
|
||||||
|
[[ $line == "" ]] && continue
|
||||||
|
# Actual check
|
||||||
|
if [[ $prev > $line ]]; then
|
||||||
|
echo "$line should be before $prev"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
prev=$line
|
||||||
|
done <<< "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# We compare using the legacy way
|
||||||
|
shopt -s compat31
|
||||||
|
|
||||||
|
# Test root files
|
||||||
|
compare_lines "$(grep -v "/" "$file")"
|
||||||
|
|
||||||
|
# Test root directory
|
||||||
|
compare_lines "$(grep "/$" "$file")"
|
||||||
|
|
||||||
|
# Test non root directories
|
||||||
|
compare_lines "$(grep "/." "$file")"
|
||||||
|
|
||||||
|
shopt -u compat31
|
||||||
|
# Yay, all good!
|
||||||
|
exit 0
|
||||||
Loading…
Reference in New Issue