Skip to content

LP Examples¤

LP Source:

 ```bash lp asserts=Hello fmt=xt_flat session=foo
 echo "Hello World"
 ```

Result:

$ echo "Hello World"
Hello World

LP Source:

 ```bash lp asserts=Hello fmt=xt_flat
 ls -lta /usr/bin | grep env # lp: asserts=env
 echo "Hello World"          # lp: asserts="[World and Hello] or Foo" 
 ```

Result:

$ ls -lta /usr/bin | grep env
-rwxr-xr-x  1 root root        9958 Jul 19 10:25 pg_virtualenv
-rwxr-xr-x  1 root root      402600 Mar 17 13:20 grub-editenv
-rwxr-xr-x  1 root root       14632 Aug  9  2024 dbus-update-activation-environment
-rwxr-xr-x  1 root root       35200 Apr  8  2024 envsubst
-rwxr-xr-x  1 root root       48072 Apr  5  2024 env
-rwxr-xr-x  1 root root       35208 Apr  5  2024 printenv
-rwxr-xr-x  1 root root       23272 Mar 31  2024 openvt
-rwxr-xr-x  1 root root        4942 Dec 14  2023 env_parallel
-rwxr-xr-x  1 root root       14056 Dec 14  2023 env_parallel.bash
-rwxr-xr-x  1 root root        5382 Dec 14  2023 env_parallel.csh
-rwxr-xr-x  1 root root       13838 Dec 14  2023 env_parallel.dash
-rwxr-xr-x  1 root root        6648 Dec 14  2023 env_parallel.fish
-rwxr-xr-x  1 root root       13143 Dec 14  2023 env_parallel.ksh
-rwxr-xr-x  1 root root       13174 Dec 14  2023 env_parallel.mksh
-rwxr-xr-x  1 root root       13831 Dec 14  2023 env_parallel.sh
-rwxr-xr-x  1 root root        5385 Dec 14  2023 env_parallel.tcsh
-rwxr-xr-x  1 root root       13154 Dec 14  2023 env_parallel.zsh
$ echo "Hello World"         
Hello World

Defining a function for later use:

LP Source:

 ```bash lp new_session=test
 say_hello () { 
     echo -e "Hello, from \n"$(env | grep -i tmux)""; 
 }
 ```

Result:

$ say_hello () { 
    echo -e "Hello, from \n"$(env | grep -i tmux)""; 
}

$ say_hello () { 
>     echo -e "Hello, from \n"$(env | grep -i tmux)""; 
> }
$

Heredocs¤

the example includes the previously defined function:

LP Source:

 ```bash lp session=test asserts=TMUX
 echo $0 # lp: expect=bash
 export -f say_hello
 /bin/bash # lp: expect=
 echo $0 # lp: expect=bash
 say_hello
 R="\x1b["; r="${R}1;31m"
 echo -e "Means: We do have
 > - $r Cross block sessions  ${R}0m
 > - $r Blocking commands/subshells     ${R}0m
 > - and...${R}4m$r Full Ansi
 > "
 ```

Result:

$ echo $0
$ export -f say_hello
$ /bin/bash
$ echo $0
$ say_hello
$ R="\x1b["; r="${R}1;31m"
$ echo -e "Means: We do have
- $r Cross block sessions  ${R}0m
- $r Blocking commands/subshells     ${R}0m
- and...${R}4m$r Full Ansi
"

$ echo $0
-bash
$
$ export -f say_hello
$ /bin/bash
runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$ 
runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$ echo $0
/bin/bash
runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$
runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$ say_hello
Hello, from 
TMUX=/tmp/tmux-1001/default,4111,1 TERM=tmux-256color TMUX_PANE=%1 TERM_PROGRAM=tmux BASH_FUNC_say_hello%%=() { echo -e "Hello, from 
"$(env | grep -i tmux)""
runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$ R="\x1b["; r="${R}1;31m"
runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$ echo -e "Means: We do have
> - $r Cross block sessions  ${R}0m
> - $r Blocking commands/subshells     ${R}0m
> - and...${R}4m$r Full Ansi
> "
Means: We do have
-  Cross block sessions  
-  Blocking commands/subshells     
- and... Full Ansi

runner@pkrvmjbmru5nbw0:~/work/docutools/docutools$

You can tmux att -t test to inspect what is going on.