extension automatique

This commit is contained in:
Jephté Clain 2024-03-05 20:56:51 +04:00
parent b8f3614d0a
commit b7586b92d0
3 changed files with 25 additions and 4 deletions

View File

@ -4,18 +4,22 @@ source /etc/nulib.sh || exit 1
: ${EDITOR:=vim}
autoext=1
args=(
"créer un nouveau fichier .markdown"
"<files...>"
-j,--no-autoext autoext= "ne pas rajouter l'extension .yaml ni .yml"
)
parse_args "$@"; set -- "${args[@]}"
[ $# -gt 0 ] || die "vous devez spécifier les noms des fichiers à créer"
for file in "$@"; do
setx filename=basename "$file"
setx filename=basename -- "$file"
if [[ "$filename" == *.* ]]; then
: # y'a une extension, ne rien faire
: # y'a déjà une extension, ne rien faire
elif [ -z "$autoext" ]; then
: # ne pas rajouter d'extension
elif [ -f "$file.markdown" ]; then
file="$file.markdown"
else
@ -23,6 +27,7 @@ for file in "$@"; do
fi
[ -e "$file" ] && die "$file: fichier existant"
estep "Création de $file"
echo -n >"$file" "\

View File

@ -5,19 +5,30 @@ source /etc/nulib.sh || exit 1
: ${EDITOR:=vim}
executable=1
autoext=1
args=(
"créer un nouveau fichier .sh"
"<files...>"
-x,--exec executable=1 "créer un script exécutable"
-n,--no-exec executable= "créer un fichier non exécutable"
-j,--no-autoext autoext= "ne pas rajouter l'extension .sh"
)
parse_args "$@"; set -- "${args[@]}"
[ $# -gt 0 ] || die "vous devez spécifier les noms des fichiers à créer"
for file in "$@"; do
setx filename=basename -- "$file"
if [[ "$filename" == *.* ]]; then
: # y'a déjà une extension, ne rien faire
elif [ -z "$autoext" ]; then
: # ne pas rajouter d'extension
else
file="$file.sh"
fi
[ -e "$file" ] && die "$file: fichier existant"
estep "Création de $file"
if [ -n "$executable" ]; then
cat >"$file" <<EOF
#!/bin/bash

View File

@ -4,18 +4,22 @@ source /etc/nulib.sh || exit 1
: ${EDITOR:=vim}
autoext=1
args=(
"créer un nouveau fichier .yaml"
"<files...>"
-j,--no-autoext autoext= "ne pas rajouter l'extension .yaml ni .yml"
)
parse_args "$@"; set -- "${args[@]}"
[ $# -gt 0 ] || die "vous devez spécifier les noms des fichiers à créer"
for file in "$@"; do
setx filename=basename "$file"
setx filename=basename -- "$file"
if [[ "$filename" == *.* ]]; then
: # y'a une extension, ne rien faire
: # y'a déjà une extension, ne rien faire
elif [ -z "$autoext" ]; then
: # ne pas rajouter d'extension
elif [ -f "$file.yaml" ]; then
file="$file.yaml"
else
@ -23,6 +27,7 @@ for file in "$@"; do
fi
[ -e "$file" ] && die "$file: fichier existant"
estep "Création de $file"
echo >"$file" "\
# -*- coding: utf-8 mode: yaml -*- vim:sw=2:sts=2:et:ai:si:sta:fenc=utf-8