mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-25 18:44:23 +00:00
2.3 KiB
2.3 KiB
Quel terminal utiliser ?
Quel que soit votre configuration, si vous avez réussi à installer
le projet, il y a de fortes chances que bash existe sur
votre ordinateur.
Certains d'entre vous utilisent peut-être un autre shell,
comme zsh
.
En effet, bash
est bien, il fait le taff ;
mais son ergonomie finit par montrer ses limites.
C'est pourquoi il existe des shells plus avancés,
qui peuvent améliorer l'ergonomie, la complétion des commandes,
et l'apparence.
C'est le cas de zsh
.
Certains vont même plus loin et refont carrément la syntaxe.
C'est le cas de nu
.
Pour choisir un terminal, demandez-vous juste quel est votre usage du terminal :
- Si c'est juste quelques commandes basiques et
que vous ne voulez pas vous embêter à changer
votre configuration,
bash
convient parfaitement. - Si vous commencez à utilisez le terminal
de manière plus intensive, à varier les commandes
que vous utilisez et/ou que vous voulez customiser
un peu votre expérience,
zsh
est parfait pour vous. - Si vous aimez la programmation fonctionnelle,
que vous adorez les pipes et que vous voulez faire
des scripts complets mais qui restent lisibles,
nu
vous plaira à coup sûr.
!!! note
Ce ne sont que des suggestions.
Le meilleur choix restera toujours celui
avec lequel vous êtes le plus confortable.
Commandes utiles
Compter le nombre de lignes du projet
=== "bash/zsh"
```bash
sudo apt install cloc
cloc --exclude-dir=doc,env .
```
Ok, c'est de la triche, on installe un package externe.
Mais bon, ça marche, et l'équivalent pur bash
serait carrément plus moche.
=== "nu"
Nombre de lignes, groupé par fichier :
```nu
ls **/*.py | insert linecount { get name | open | lines | length }
```
Nombre de lignes total :
```nu
ls **/*.py | insert linecount { get name | open | lines | length } | math sum
```
Vous pouvez aussi exlure les lignes vides
et les les lignes de commentaire :
```nu
ls **/*.py |
insert linecount {
get name |
open |
lines |
each { str trim } |
filter { |l| not ($l | str starts-with "#") } | # commentaires
filter { |l| ($l | str length) > 0 } | # lignes vides
length
} |
math sum
```