mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-22 14:13:21 +00:00
85 lines
2.3 KiB
Markdown
85 lines
2.3 KiB
Markdown
|
## 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
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|