• the \: "${foo:=bar}${bar:=baz}" construct needs no spaces
• more set -u police • 80c and tweaks while here
This commit is contained in:
parent
451aef7a8a
commit
4ee3269564
42
dot.mkshrc
42
dot.mkshrc
|
@ -1,5 +1,5 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
# $MirOS: src/bin/mksh/dot.mkshrc,v 1.95 2015/04/11 18:08:56 tg Exp $
|
# $MirOS: src/bin/mksh/dot.mkshrc,v 1.96 2015/04/11 19:01:59 tg Exp $
|
||||||
#-
|
#-
|
||||||
# Copyright (c) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010,
|
# Copyright (c) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010,
|
||||||
# 2011, 2012, 2013, 2014, 2015
|
# 2011, 2012, 2013, 2014, 2015
|
||||||
|
@ -23,16 +23,17 @@
|
||||||
# ${ENV:-~/.mkshrc}: mksh initialisation file for interactive shells
|
# ${ENV:-~/.mkshrc}: mksh initialisation file for interactive shells
|
||||||
|
|
||||||
# catch non-mksh (including lksh) trying to run this file
|
# catch non-mksh (including lksh) trying to run this file
|
||||||
case $KSH_VERSION in
|
case ${KSH_VERSION:-} in
|
||||||
*MIRBSD\ KSH*) ;;
|
*MIRBSD\ KSH*) ;;
|
||||||
*) return 0 ;;
|
*) return 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
PS1='#'; (( USER_ID )) && PS1='$'; [[ ${HOSTNAME:=$(\ulimit -c 0; hostname -s \
|
PS1='#'; (( USER_ID )) && PS1='$'; \: "${TERM:=vt100}${HOSTNAME:=$(\ulimit -c \
|
||||||
2>/dev/null)} = *([ ]|localhost) ]] && HOSTNAME=$(\ulimit -c 0; hostname \
|
0; hostname 2>/dev/null)}${EDITOR:=/bin/ed}${USER:=$(\ulimit -c 0; id -un \
|
||||||
2>/dev/null); \: "${EDITOR:=/bin/ed} ${HOSTNAME:=nil} ${MKSH:=$(\builtin \
|
2>/dev/null || \echo \?)}${MKSH:=$(\builtin whence -p mksh)}"
|
||||||
whence -p mksh || \echo /bin/mksh)} ${TERM:=vt100} ${USER:=$(\ulimit -c 0; \
|
HOSTNAME=${HOSTNAME%%*([ ]).*}; HOSTNAME=${HOSTNAME##*([ ])}
|
||||||
id -un 2>/dev/null || \echo \?)}"
|
[[ $HOSTNAME = ?(ip6-)localhost?(6) ]] && HOSTNAME=
|
||||||
|
\: "${HOSTNAME:=nil}${MKSH:=/bin/mksh}"; \export EDITOR HOSTNAME MKSH TERM USER
|
||||||
PS4='[$EPOCHREALTIME] '; PS1=$'\001\r''${|
|
PS4='[$EPOCHREALTIME] '; PS1=$'\001\r''${|
|
||||||
\typeset e=$?
|
\typeset e=$?
|
||||||
|
|
||||||
|
@ -45,7 +46,7 @@ PS4='[$EPOCHREALTIME] '; PS1=$'\001\r''${|
|
||||||
REPLY+=$p$d
|
REPLY+=$p$d
|
||||||
|
|
||||||
\return $e
|
\return $e
|
||||||
} '"$PS1 "; \export EDITOR HOSTNAME MKSH TERM USER
|
} '"$PS1 "
|
||||||
\alias ls=ls
|
\alias ls=ls
|
||||||
\unalias ls
|
\unalias ls
|
||||||
\alias l='ls -F'
|
\alias l='ls -F'
|
||||||
|
@ -73,7 +74,8 @@ else
|
||||||
while (( i < ${#line[*]} )); do
|
while (( i < ${#line[*]} )); do
|
||||||
hv=${line[i++]}
|
hv=${line[i++]}
|
||||||
if (( (pos & 15) == 0 )); then
|
if (( (pos & 15) == 0 )); then
|
||||||
(( pos )) && \builtin print -r -- "$dasc|"
|
(( pos )) && \
|
||||||
|
\builtin print -r -- "$dasc|"
|
||||||
\builtin print -n "${pos#16#} "
|
\builtin print -n "${pos#16#} "
|
||||||
dasc=' |'
|
dasc=' |'
|
||||||
fi
|
fi
|
||||||
|
@ -83,11 +85,13 @@ else
|
||||||
else
|
else
|
||||||
dasc+=${line[i-1]#1#}
|
dasc+=${line[i-1]#1#}
|
||||||
fi
|
fi
|
||||||
(( (pos++ & 15) == 7 )) && \builtin print -n -- '- '
|
(( (pos++ & 15) == 7 )) && \
|
||||||
|
\builtin print -n -- '- '
|
||||||
done
|
done
|
||||||
while (( pos & 15 )); do
|
while (( pos & 15 )); do
|
||||||
\builtin print -n ' '
|
\builtin print -n ' '
|
||||||
(( (pos++ & 15) == 7 )) && \builtin print -n -- '- '
|
(( (pos++ & 15) == 7 )) && \
|
||||||
|
\builtin print -n -- '- '
|
||||||
done
|
done
|
||||||
(( hv == 2147483647 )) || \builtin print -r -- "$dasc|"
|
(( hv == 2147483647 )) || \builtin print -r -- "$dasc|"
|
||||||
fi; }
|
fi; }
|
||||||
|
@ -96,10 +100,12 @@ fi
|
||||||
|
|
||||||
# Berkeley C shell compatible dirs, popd, and pushd functions
|
# Berkeley C shell compatible dirs, popd, and pushd functions
|
||||||
# Z shell compatible chpwd() hook, used to update DIRSTACK[0]
|
# Z shell compatible chpwd() hook, used to update DIRSTACK[0]
|
||||||
DIRSTACKBASE=$(\builtin realpath ~/. 2>/dev/null || \builtin print -nr -- "${HOME:-/}")
|
DIRSTACKBASE=$(\builtin realpath ~/. 2>/dev/null || \
|
||||||
|
\builtin print -nr -- "${HOME:-/}")
|
||||||
set -A DIRSTACK
|
set -A DIRSTACK
|
||||||
function chpwd {
|
function chpwd {
|
||||||
DIRSTACK[0]=$(\builtin realpath . 2>/dev/null || \builtin print -r -- "$PWD")
|
DIRSTACK[0]=$(\builtin realpath . 2>/dev/null || \
|
||||||
|
\builtin print -r -- "$PWD")
|
||||||
[[ $DIRSTACKBASE = ?(*/) ]] || \
|
[[ $DIRSTACKBASE = ?(*/) ]] || \
|
||||||
DIRSTACK[0]=${DIRSTACK[0]/#$DIRSTACKBASE/~}
|
DIRSTACK[0]=${DIRSTACK[0]/#$DIRSTACKBASE/~}
|
||||||
\:
|
\:
|
||||||
|
@ -299,7 +305,7 @@ function Lb64decode {
|
||||||
(( u )) || \set -U
|
(( u )) || \set -U
|
||||||
}
|
}
|
||||||
|
|
||||||
\set -A Lb64encode_code -- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
|
\set -A Lb64encode_tbl -- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
|
||||||
a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 + /
|
a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 + /
|
||||||
function Lb64encode {
|
function Lb64encode {
|
||||||
[[ -o utf8-mode ]]; \typeset u=$? c s t
|
[[ -o utf8-mode ]]; \typeset u=$? c s t
|
||||||
|
@ -318,10 +324,10 @@ function Lb64encode {
|
||||||
(( v |= j << 8 ))
|
(( v |= j << 8 ))
|
||||||
(( j = i < n ? s[i++] : 0 ))
|
(( j = i < n ? s[i++] : 0 ))
|
||||||
(( v |= j ))
|
(( v |= j ))
|
||||||
t+=${Lb64encode_code[v >> 18]}${Lb64encode_code[v >> 12 & 63]}
|
t+=${Lb64encode_tbl[v >> 18]}${Lb64encode_tbl[v >> 12 & 63]}
|
||||||
c=${Lb64encode_code[v >> 6 & 63]}
|
c=${Lb64encode_tbl[v >> 6 & 63]}
|
||||||
if (( i <= n )); then
|
if (( i <= n )); then
|
||||||
t+=$c${Lb64encode_code[v & 63]}
|
t+=$c${Lb64encode_tbl[v & 63]}
|
||||||
elif (( i == n + 1 )); then
|
elif (( i == n + 1 )); then
|
||||||
t+=$c=
|
t+=$c=
|
||||||
else
|
else
|
||||||
|
@ -382,7 +388,7 @@ function setenv {
|
||||||
\eval "'export' \"$1\""'="$2"'
|
\eval "'export' \"$1\""'="$2"'
|
||||||
}
|
}
|
||||||
|
|
||||||
# toggle built-in aliases and utilities, and aliases and functions from here
|
# toggle built-in aliases and utilities, and aliases and functions from mkshrc
|
||||||
function enable {
|
function enable {
|
||||||
\typeset doprnt=0 mode=1 x y z rv=0
|
\typeset doprnt=0 mode=1 x y z rv=0
|
||||||
\typeset b_alias i_alias i_func nalias=0 nfunc=0 i_all
|
\typeset b_alias i_alias i_func nalias=0 nfunc=0 i_all
|
||||||
|
|
Loading…
Reference in New Issue