Trees - biblioteca open source para renderizar árboles de archivos
(trees.software)- Una biblioteca que dibuja una estructura de archivos/directorios similar al panel de archivos de VSCode
- Diseñada con enfoque en alto nivel de personalización y en rendimiento y flexibilidad
- Incluye virtualización automática para renderizar rápidamente incluso decenas de miles de elementos, montando y procesando solo las filas visibles en pantalla
- Ofrece ampliamente las funciones necesarias para una UI de árbol tipo herramienta de desarrollo, como badges de estado de Git, arrastrar y soltar, búsqueda y filtrado por nombre, menús contextuales personalizados y más
- Soporta navegación por teclado, gestión de foco y ARIA, con accesibilidad integrada conforme al estándar WCAG 2.1
- Permite control detallado de la apariencia mediante variables CSS, temas de Shiki, ajuste de densidad y más
- Puede usarse para implementar árboles laterales en editores/herramientas de alojamiento de código
- Funciones principales en detalle
flattenEmptyDirectories: admite aplanado del árbol al combinar en una sola fila una cadena de carpetas con un solo hijogitStatus: muestra badges de estado de Git para archivos agregados, modificados, eliminados, renombrados, no rastreados e ignorados; en carpetas con elementos secundarios modificados muestra automáticamente un indicador de punto (dot)dragAndDrop: permite arrastrar archivos y carpetas a otra carpeta o a la raíz; el destino de soltado se expande automáticamente al pasar el cursor, y con el callbackcanDragse pueden bloquear rutas específicas- Soporta la configuración de menús contextuales personalizados para archivo nuevo, carpeta nueva, renombrar, eliminar y más
- Mediante el cuadro de búsqueda permite filtrado rápido por nombre o ruta, con tres modos:
hide-non-matches,collapse-non-matchesyexpand-matches - Incluye tres conjuntos de iconos integrados:
minimal,standardycomplete - La opción
density(compact,default,relaxed) ajusta de una vez la altura de las filas y el espaciado
2 comentarios
Si lo usan con este
alias, es más cómodo.alias t='tree -N -C -L 2 -I "node_modules|cache|dist|test_"'
alias tt='tree -N -C -L 3 -I "node_modules|cache|dist|test_"'
alias ttt='tree -N -C -L 4 -I "node_modules|cache|dist|test_"'
alias tttt='tree -N -C -L 5 -I "node_modules|cache|dist|test_"'
Parece un proyecto open source divertido y útil.