URI: 
       first implémentation - frsh - french command language interpreter
  HTML git clone git://bitreich.org/frsh git://hg6vgqziawt5s4dj.onion/frsh
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
   DIR commit 902528c972890ffb432d1123063ee656ec91a37a
  HTML Author: Anders Damsgaard <anders@adamsgaard.dk>
       Date:   Sat, 10 Aug 2024 15:50:06 +0200
       
       first implémentation
       
       Diffstat:
         A Makefile                            |      39 +++++++++++++++++++++++++++++++
         A README                              |      24 ++++++++++++++++++++++++
         A frsh                                |      27 +++++++++++++++++++++++++++
         A frsh.1                              |      33 +++++++++++++++++++++++++++++++
         A test.frsh                           |       3 +++
       
       5 files changed, 126 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/Makefile b/Makefile
       @@ -0,0 +1,39 @@
       +.POSIX:
       +
       +NAME = frsh
       +VERSION = 0.1
       +
       +# paths
       +PREFIX = /usr/local
       +MANPREFIX = ${PREFIX}/share/man
       +
       +MAN1 = ${NAME}.1
       +BIN = ${NAME}
       +
       +options:
       +        @echo make targets:
       +        @echo - test
       +        @echo - install
       +        @echo - uninstall
       +
       +test: test.frsh
       +        @if test "$$(./${BIN} test.frsh)" = "bojour"; then \
       +                echo parfait; \
       +        else \
       +                echo kaput; \
       +                exit 1; \
       +        fi
       +
       +install:
       +        mkdir -p ${DESTDIR}${PREFIX}/bin
       +        cp -f ${BIN} ${DESTDIR}${PREFIX}/bin
       +        chmod 755 ${DESTDIR}${PREFIX}/bin/${BIN}
       +        mkdir -p ${DESTDIR}${MANPREFIX}/man1
       +        cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1/${MAN1}
       +        chmod 644 ${DESTDIR}${MANPREFIX}/man1/${MAN1}
       +
       +uninstall:
       +        rm -f ${DESTDIR}${PREFIX}/bin/${BIN}
       +        rm -f ${DESTDIR}${MANPREFIX}/man1/${MAN1}
       +
       +.PHONY: options test install uninstall
   DIR diff --git a/README b/README
       @@ -0,0 +1,24 @@
       +NAME
       +     frsh – french command language interpreter
       +
       +SYNOPSIS
       +     frsh [file ...]
       +
       +DESCRIPTION
       +     The frsh utility is a french command language intertreter: it reads one
       +     or more commands, either from the commmand line or from a french file (a
       +     french shell script), and then sets about executing those commands.  Thus
       +     it is the main interface between the french user and the operating
       +     system.
       +
       +     In contrast to the anglaise sh(1), it supports french quotes for strings
       +     (« and «).  Furthermore, variable values are retrieved using the syntax
       +     €variable.
       +
       +     Options: Non.
       +
       +SEE ALSO
       +     sh(1)
       +
       +AUTHORS
       +     Anders Damsgaard <anders@adamsgaard.dk>
   DIR diff --git a/frsh b/frsh
       @@ -0,0 +1,27 @@
       +#!/bin/sh
       +# french command language interpreter
       +
       +SHELL="${0}"
       +
       +frenchtranslate() {
       +        sed 's/«/"/g;s/»/"/g;s/€/$/g'
       +}
       +
       +promptprint() {
       +        printf '%s' "${USER}@$(hostname):${PWD} € "
       +}
       +
       +if test $# -gt 0
       +then
       +        for f in "$@"
       +        do
       +                eval "$(frenchtranslate <"$f")"
       +        done
       +else # interactive shell
       +        promptprint
       +        while read -r l
       +        do
       +                eval $(echo "$l" | frenchtranslate)
       +                promptprint
       +        done
       +fi
   DIR diff --git a/frsh.1 b/frsh.1
       @@ -0,0 +1,33 @@
       +.Dd $Mdocdate$
       +.Dt FRSH 1
       +.Os
       +.Sh NAME
       +.Nm frsh
       +.Nd french command language interpreter
       +.Sh SYNOPSIS
       +.Nm
       +.Op Ar file ...
       +.Sh DESCRIPTION
       +The
       +.Nm
       +utility is a
       +.Em french command language intertreter :
       +it reads one or more commands,
       +either from the commmand line or from a french file
       +(a french shell script),
       +and then sets about executing those commands.
       +Thus it is the main interface between the french user and the
       +operating system.
       +.Pp
       +In contrast to the anglaise
       +.Xr sh 1 ,
       +it supports french quotes for strings (« and «).
       +Furthermore, variable values are retrieved using the syntax
       +.No € Ns Ar variable .
       +.Pp
       +Options:
       +Non.
       +.Sh SEE ALSO
       +.Xr sh 1
       +.Sh AUTHORS
       +.An Anders Damsgaard Aq Mt anders@adamsgaard.dk
   DIR diff --git a/test.frsh b/test.frsh
       @@ -0,0 +1,3 @@
       +#!/bin/frsh
       +var=«bojour»
       +echo «€{var}»