Novedades del proyecto

Novedades importantes de lil-terminal: nuevos flujos de trabajo, cambios de compatibilidad y funciones que agilizan el trabajo en hosting compartido.

Público

Trabaja con bases de datos directamente desde lil-terminal

Conéctate a MySQL/MariaDB, PostgreSQL, Redis, SQLite y MongoDB sin SSH. Cada motor mantiene su propio driver y db ofrece una entrada corta al driver elegido para la sesión.

mysql, postgresql, redis, sqlite y mongodb siguen separados porque sus modelos de datos son distintos. Solo comparten las acciones que tienen sentido entre motores: conectar, inspeccionar, buscar, exportar, escribir y crear o restaurar dumps.

Las credenciales se introducen mediante el campo de contraseña oculto y cada acción usa los permisos de la cuenta indicada. En producción, las cuentas restringidas y los backups siguen siendo la opción segura.

Para probar el flujo sin un servidor externo, instala db y sqlite y usa la base de tienda incluida en /sandbox/.

install db sqlite
db sqlite | db -c \sandbox\db\shop.sqlite | db -t | db -n products 5
install mysql postgresql redis mongodb
Público

Trabaja con el archivo activo sin repetir su ruta

$ apunta al último archivo que abriste, creaste o modificaste. Un nombre de archivo escrito solo también puede abrirse con el controlador instalado más adecuado para su extensión.

Después de mf scratch.json, por ejemplo, code $, json $ o del $ pueden seguir trabajando con el mismo archivo. Los módulos específicos de formato tienen prioridad sobre los editores generales y escribir un nombre de archivo nunca instala un módulo automáticamente.

ini, json, xml, yml, toml, conf y properties trabajan directamente con archivos estructurados; img cubre inspección, redimensionado y conversión de imágenes habituales. Instala solo las herramientas que necesites.

Estos atajos pertenecen al Core. Si una instalación antigua no los reconoce, sustituye su lil.php por el Core actual; upgrade actualiza módulos, pero no reemplaza el archivo del Core.

mf scratch.json
code $
app.yml
json $ -f "pass" -k
json $ -w user.password : "Ed1g!fs:13od"
img \sandbox\images\photo.jpg
Público

Ve el directorio actual antes de escribir

Cuando el campo de comando está vacío, muestra discretamente el directorio de trabajo actual. Los campos de contraseña también muestran una pista localizada sin revelar el valor.

La pista del directorio sigue la sesión del terminal. Si cd o una secuencia cambia el directorio de trabajo, el siguiente campo vacío muestra la nueva ruta de inmediato. Es solo un texto indicativo y nunca pasa al comando ni al historial.

cd \sandbox
pwd
Público

@command: ejecutar e instalar solo si falta

Añade @ delante de un comando interactivo: si falta su módulo, lil-terminal lo instala desde el repositorio predeterminado y después ejecuta el comando.

Si el comando ya está disponible, se ejecuta de inmediato sin consultar el repositorio. Los comandos ausentes usan el paquete Base público normal y nombres alternativos como @read o @download se resuelven al módulo responsable.

@command es intencionadamente solo interactivo. Los scripts .lil mantienen sus dependencias explícitas para que la automatización siga siendo predecible.

@mf notes.txt
@curl https://example.com -I
@read README.md
Público

Guarda la salida de un comando en un archivo con >

Un único operador del Core mantiene el resultado en pantalla y escribe el mismo texto en un archivo.

dns google.com > save.log añade el resultado a save.log por defecto. -a hace explícito el append y -r reemplaza el archivo. Las tablas y otras salidas estructuradas se convierten en texto legible antes de guardarse.

history -o recupera el último resultado textual. En escritorio, Cmd/Ctrl+S lo añade a history.log y Cmd/Ctrl+Shift+S reemplaza el archivo mediante el mismo mecanismo.

dns google.com > save.log
dns gmail.com > save.log
dns gmail.com > save.log -r
history -o > history.log -r
Público

Funciones de interfaz como paquetes opcionales

Funciones del navegador como los atajos y el editor de código pueden instalarse y eliminarse por separado, manteniendo pequeños el Core y los paquetes Minimum.

include gestiona paquetes de interfaz con nombre, como lil, hotkeys y code. Los módulos Base pueden solicitar sus recursos de navegador, mientras los módulos Minimum permanecen libres de código de interfaz opcional.

Cada paquete puede comprobarse, actualizarse o eliminarse por separado, de modo que las funciones opcionales ya no tienen que permanecer dentro del Core.

include -lil -v 1.0 -s
include -hotkeys -v 1.0 -s
help hotkeys -off
include -code -v 1.0 -i
include -code -v 1.0 -u