- Une bibliothèque qui dessine une structure de fichiers/répertoires similaire au panneau de fichiers de VSCode
- Conçue avec une grande liberté de personnalisation et en mettant l’accent sur les performances et la flexibilité
- Virtualisation automatique intégrée pour rendre rapidement même des dizaines de milliers d’éléments, en ne montant que les lignes visibles à l’écran
- Prend largement en charge les fonctionnalités nécessaires à une UI d’arborescence orientée outils de développement, comme les badges d’état Git, le glisser-déposer, la recherche et le filtrage par nom, ainsi que les menus contextuels personnalisés
- Accessibilité incluse par défaut avec prise en charge de la navigation au clavier, de la gestion du focus et d’ARIA, conforme aux critères WCAG 2.1
- Contrôle fin de l’apparence via les variables CSS, les thèmes Shiki, le réglage de densité, etc.
- Peut être utilisé pour implémenter l’arborescence latérale d’éditeurs ou d’outils d’hébergement de code
- Détail des principales fonctionnalités
flattenEmptyDirectories: prend en charge l’aplatissement de l’arborescence en fusionnant sur une seule ligne les chaînes de dossiers n’ayant qu’un seul enfantgitStatus: affiche des badges d’état Git pour les fichiers ajoutés, modifiés, supprimés, renommés, non suivis ou ignorés, et montre automatiquement un indicateur en point (dot) sur les dossiers contenant des éléments enfants modifiésdragAndDrop: permet le déplacement par glisser-déposer de fichiers et dossiers vers un autre dossier ou vers la racine ; la cible de dépôt se déplie automatiquement au survol, et le callbackcanDragpermet de bloquer certains chemins- Prend en charge la configuration de menus contextuels personnalisés pour créer un nouveau fichier ou dossier, renommer, supprimer, etc.
- Filtrage rapide par nom ou chemin via un champ de recherche, avec prise en charge de trois modes :
hide-non-matches,collapse-non-matchesetexpand-matches - Fournit trois jeux d’icônes intégrés :
minimal,standardetcomplete - L’option
density(compact,default,relaxed) permet d’ajuster d’un coup la hauteur des lignes et l’espacement
2 commentaires
C'est pratique de l'utiliser avec des alias comme ceci.
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_"'
On dirait un projet open source à la fois intéressant et utile.