Skip to content

Qmaker-programmer/xd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ xd (X-speed Do) — Navegación Ultra Rápida CLI

El reemplazo definitivo, inteligente y MINIMALISTA AL EXTREMO para moverte por tus directorios a la velocidad de la luz 🚀 Porque escribir rutas completas con cd es del siglo pasado. Salta directo usando iniciales.

Preview Busca coincidencias recursivas por iniciales de carpetas de forma instantánea.


Características Clave 🔥

  • ✓ Salto por Iniciales: Escribe únicamente las letras iniciales de los niveles anidados (ej: Dg te llevará a ~/Documentos/gohuns).
  • ✓ Interfaz Híbrida Inteligente: * Si hay 9 o menos soluciones, presionas la tecla del número y saltas de golpe (sin dar Enter).
    • Si hay 10 o más soluciones, te deja escribir el número completo y confirmas con Enter.
  • ✓ Pantalla Limpia: Usa secuencias de escape ANSI para borrar el prompt una vez seleccionado el directorio, sin dejar rastro en la terminal.
  • ✓ Prefijos de Poder: Soporte para saltos desde la raíz (/), el HOME (~), el directorio actual (0), o subidas automáticas de nivel (1..9).
  • ✓ Documentación Nativa: Integrado completamente con el sistema de manuales de Linux (man).

🚀 Instalación y Empaquetado

Si quieres el instalador fácil, bájalo de aquí: Releases

O si eres hardcore, compílalo tú mismo de forma manual:

Prerrequisitos

  • Go 1.21+ y Git.

Setup con Makefile

Clona el repositorio, descarga los módulos y deja que el automatizador haga el trabajo sucio:

git clone https://github.com/Qmaker-programmer/xd.git
cd xd
go mod tidy

Comandos del Makefile:

  • make run: Lanza el código fuente en vivo para hacer pruebas rápidas de desarrollo.
  • make build: Genera un binario altamente optimizado (-ldflags="-s -w") solo para tu arquitectura actual.
  • make all: Realiza la compilación cruzada generando los 6 binarios estáticos limpios para Linux, Windows y macOS.
  • make all-debs: Compila y empaqueta de forma automática los instaladores nativos .deb (para amd64 y arm64) sincronizando la metadata y el manual de sistema.
  • make clean: Borra de un plumazo todos los binarios y directorios temporales de empaquetado.

Integración en tu Terminal (El Truco de Magia 🎩)

Como un ejecutable binario de Go no puede cambiar el directorio de la shell que lo invoca de forma directa, debes añadir este pequeño alias inteligente en tu archivo de configuración (ej: ~/.bashrc o ~/.zshrc):

# Función integradora para que 'xd' pueda cambiar de directorio realmente
xd() {
    local target
    target=$(xd-bin "$@")
    if [ "$target" != "." ] && [ -d "$target" ]; then
        cd "$target" || return
    fi
}

(Nota: Si usas el instalador .deb, el binario real se llamará xd-bin en tu /usr/bin/, dejando el nombre libre para el alias).


⌨️ Prefijos Especiales de Navegación

  • xd /usr/bin ➡️ Va directo si la ruta existe y es válida.
  • xd Dg ➡️ Inicia desde el HOME buscando iniciales D.../g...
  • xd 0src ➡️ Inicia desde el directorio actual buscando una carpeta que empiece por src.
  • xd 1x ➡️ Sube un nivel en el árbol actual y busca una carpeta que comience con x.

🛠️ Estructura del Proyecto

.
├── bin/                        # Distribución final ordenada
│   ├── xd_0.0.1_amd64.deb      # Instalador Debian/Ubuntu AMD64
│   ├── xd_0.0.1_arm64.deb      # Instalador Debian/Ubuntu ARM64
│   ├── xd-darwin-amd64         # Binario macOS Intel
│   ├── xd-darwin-arm64         # Binario macOS Apple Silicon
│   ├── xd-linux-amd64          # Binario Linux AMD64
│   ├── xd-linux-arm64          # Binario Linux ARM64
│   ├── xd-windows-amd64.exe    # Binario Windows AMD64
│   └── xd-windows-arm64.exe    # Binario Windows ARM64
├── go.mod                      # Definición del módulo de Go
├── LICENSE                     # Licencia Pública General GNU v2.0
├── Makefile                    # Automatizador y empaquetador multiplataforma
├── src/
│   └── main.go                 # El núcleo del buscador recursivo ANSI
└── xd.1                        # Plantilla base del manual para el comando 'man'


Desarrollado con obsesión por la velocidad, minimalismo extremo y mucho Té por Qmaker. 🚩

About

Herramienta interactiva y ultra rápida para saltar entre directorios usando iniciales. Escrito en Go.

Topics

Resources

License

Stars

Watchers

Forks

Contributors