Unix como IDE

Description

La composición aplicada al software

Shundle (Sh + Bundle)

Características



  • Fácil de instalar/eliminar
    • git clone url / rm -rf ~/.shundle
  • Fácil de integrar/extender
    • Basado en plugins, shundle se adapta a tu forma de trabajar y no al revés
  • Descentralizado
    • Para promover la competencia de plugins
  • ¡Rápido!
    • ¿A quién le gustan los sistemas lentos?
  • Compatible
    • Con el estandard POSIX, sh, bash, zsh, linux/freebsd/macosx

Demostración

Ejemplo de configuración

if [ -e ~/.shundle/bundle/shundle/shundle ]; then
   .  ~/.shundle/bundle/shundle/shundle
   #permite que shundle se administre asi mismo, requerido
   Bundle='chilicuil/shundle'

   #permite usar plugins alojados en GitHub
   Bundle='https://github.com/chilicuil/shundle-plugins/aliazator.git'
       ALIAZATOR_PLUGINS="installed"

   #o en otros lugares
   Bundle='git://git.domain.com/rep.git'

   #se pueden usar scripts disponibles en la web
   Bundle='http://domain.com/awesome-script'

   #o que son parte del sistema local
   Bundle='file://path/to/awesome-script'
fi
      

Repositorio de plugins

Tipos de plugins

  • Scripts
    • Descargables o disponibles en el sistema de archivos local
    • Bundle 'http://direccion'
    • Bundle 'file://direccion'
    • No requieren tratamiento especial
  • Plugins para shundle ⏎

Plugins para shundle I

Fuera de los scripts, los plugins específicos para shundle requieren algunas consideraciones.


Cabecera


# Name:         aliazator
# Author:       Javier López 
# Description:  aliazator manages aliases
# License:      wtfpl
# Source:       http://github.com/chilicuil/shundle-plugins/aliazator
# Version:      0.1
# Shell:        sh
# Depends:      none
      

Plugins para shundle II

Preferencias


#===============================================================================
#================================ Settings =====================================
#===============================================================================
#Don't modify this section directly, instead set options in your shell init file
[ -z "${ALIAZATOR_PLUGINS}" ] && ALIAZATOR_PLUGINS="minimal"
[ -z "${ALIAZATOR_CLOUD}" ]   && ALIAZATOR_CLOUD=""
      

Plugins para shundle III

Plugin


#===============================================================================
#================================== Plugin =====================================
#===============================================================================

export ALIAZATOR_PATH=""${plugin}"/aliazator/aliases"
export ALIAZATOR_CACHE="${ALIAZATOR_PLUGINS}"

. "${plugin}"/aliazator/bin/aliazator-enable "${ALIAZATOR_PLUGINS}"

_shundle_expose aliazator=". ${plugin}/aliazator/bin/aliazator"
      

Plugins para shundle IV, protip

Utilizar como base algún plugin ya definido


¿Preguntas? ¿o@o?




Javier López - m@javier.io



@chilicuil