### =============================================================
### Achivo de configuracion para el Zoomer Shell (ZSh) de peron.
### modificado 26-dic-2019 para texto-plano.xyz
### AEIOUNnane
###=============================================================
## Esto informa al Shell que tipo terminal esta usando o emulando. SDF
## suporta muchas terminales y puede de hecho soportar mas. Para mas
## ideas, fijese en /usr/lib/terminfo. La TTY por defecto es tipicamente
## una DEC vt100. xterm presenta color.
#TERM=vt100
#TERM=xterm
#TERM=xterm-utf8
TERM=xterm-256color

## Lo siguiente puede usarse para configurar el numero de lineas y de
## columnas que estamos usando. Los programas mas tipicos de PC-COMM usan
## 24 por 79 u 80 columnas. Estas configuraciones (comentadas) son usadas
## usadas tipicamente por TTYs .. experimente configurando las propias
#LINES=24
#COLUMNS=80
#
#stty rows 24 cols 80

### Esto configura la tecla Rectroceder, intente cambiar "erase '^h'" con
### "erase '^?'". Si eso no funciona, tipee "nksp" o "stty erase" en el
### prompt y luego presione la tecla Retroceder.
#stty erase '^?' echoe
#stty erase '^h' echoe

### Esto dispone los colores en la terminal y los activa:
autoload -U colors && colors

### Esto configura el propmpt [usuario@host:dir~] $ y le da
### colores de la paleta de 16 colores para mayor compatibilidad).
#PS1="%B%{$fg[red]%}[%{$fg[green]%}%n%{$fg[blue]%}@%{$fg[yellow]%}%M%{$fg[red]%}:$fg[blue]%~%{$fg[red]%}]%{$reset_color%}$%b "

### Esto configura el prompt usuario@host:dir~ $ y le da
### colores de la paleta de 16 colores para mayro compatibilidad.
#
PS1="%B%{$fg[green]%}%n%{$fg[blue]%}@%{$fg[yellow]%}%M%{$fg[red]%}:$fg[blue]%~%{$reset_color%}$%b "

##desactiva la campana
#unsetopt beep

## activa la campana
setopt beep

### ----- fin de la configuracion basica ------
## Coloca el prompt en la ventana de XTerm u otros emuladores de terminal.
printf "\e]0;${USER}@${HOST}\a"

### * * * SECCION HISTORIA * * *
## Cuantos comandos de historia guarda en la
## bitacora de historia, y donde la guarda.
HISTSIZE=100
SAVEHIST=250
HISTFILE=~/temp/.historia
# Evita poner lineas duplicadas en el archivo de historia.
# Ver bash(1) para mas opciones
HISTCONTROL=ignoredups:ignorespace
###---Fin de seccion Historia ---

### * * * Seccion Autocompletado * * *
## Autocompletado basico de Zsh con Tab:
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots)               # Incluye archivos ocultos..
# --- Fin de seccion Autocompletado ---

### * * * Seccion de Keybinding * * *
## Cambia la forma de cursor para diferentes modos vi.
function zle-keymap-select {
  if [[ ${KEYMAP} == vicmd ]] ||
     [[ $1 = 'block' ]]; then
#printf '%b' '\e]12;yellow\a'
    echo -ne '\e[2 q'
  elif [[ ${KEYMAP} == main ]] ||
       [[ ${KEYMAP} == viins ]] ||
       [[ ${KEYMAP} = '' ]] ||
       [[ $1 = 'beam' ]]; then
#    printf '%b' '\e]12;lime\a'
    echo -ne '\e[1 q'
  fi
}
#zle -N zle-line-init
#printf '%b' '\e]12;lime\a' #usar cursor lima al iniciar.
# preexec() { echo -ne '\e[2 q' ;} # Usa cursor cuadrado parpadeante en cada prompt nuevo.

### * * * Usa lf para cambiar directorios y aosciarlo a Ctrl-o * * *
lfcd () {
    tmp="$(mktemp)"
    lf -last-dir-path="$tmp" "$@"
    if [ -f "$tmp" ]; then
        dir="$(cat "$tmp")"
        rm -f "$tmp"
        [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
    fi
}
bindkey -s '^o' 'lfcd\n'

### Edita linea en Vim con Ctrl+e:
autoload edit-command-line; zle -N edit-command-line
bindkey '^e' edit-command-line

# Carga los alias y los atajos si existen.
[ -f "$HOME/.config/shortcutrc" ] && source "$HOME/.config/shortcutrc"
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc"

## Descomenta si quieres que la shell abrevie la
## ruta de directorio de trabajo.
#export SHELLDER_KEEP_PATH=1

### ========== Seccion de Interpete en castellano =======
export LANG="es_ES.UTF-8"
export LC_CTYPE="es_ES.UTF-8"
export LC_ALL=es_ES.UTF-8
export TZ="UTC+3"
export LANGUAGE="es:ES_UTF-8"
##comentado porque no anda en nano
#export LANGUAGE="es_ES_UTF-8"

### Esto agrega los PATH de texto-plano al environment
## Path de juegos para la terminal:
export PATH=$PATH:/usr/games/

### Esto configura la variable "MAIL" para localizar sus archivos de
### correo electronico. Tipicamente su email en el SDF se localiza en
### /usr/mail con el login del usuario (variable de environment LOGNAME)
### como nombre de usuario.
MAIL=/mail/${LOGNAME:?}

## ¿Que editor usar? Esto es estandar y tenemos Vi y, tambien el Pico.
#EDITOR=/bin/ed
#VISUAL=/usr/local/bin/vim
#EDITOR=/usr/local/bin/pico
VISUAL=/usr/local/bin/vim
EDITOR=/usr/local/bin/nano

## Ahora continuaremos y activamos las variables de environment!
## Exportemoslas!
export MAIL PS1 TERM EDITOR VISUAL TZ PATH

##puesto para binarios credos en texto-plano.xyz
case `uname -m` in
 alpha) export PATH=$PATH:$HOME/alpha_bin ;;
 amd64) export PATH=$PATH:$HOME/amd64_bin ;;
esac

## ============= Seccion que muestra al iniciar ===========
#./progs/bienvenida.sh
## -----------------------------fin de seccion personalizada
## suena la campana de terminal para avisar online:
echo -ne '\007'

# Carga zsh-syntax-highlighting. Esta seccion debe quedar siempre al
# final del archivo .zshrc.
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null