LxLeChat / FlowChartCore

PowerShell Module Written in C# to create DOT graphs from PS Scripts
MIT License
19 stars 3 forks source link

Code Block ReFormatting #103

Closed LxLeChat closed 3 years ago

LxLeChat commented 3 years ago

PSScriptAnalyzer semble pouvoir être utiliser en mode 'librairie". Ca serait intéressant de l utiliser pour reformatter le code pour les "code block" quand on décide d'afficher ce qu'il y a dedans. Pour l'instant je n y arrive pas, mais ça serait top !

https://github.com/PowerShell/PSScriptAnalyzer#scriptanalyzer-as-a-net-library

Pour info j'ai résolu un problème ou il y avait un décalable dans les code block sur les dernières ligne. ( pas encore poussé )

LaurentDardenne commented 3 years ago

Salut, même avec cet exemple ? https://github.com/PowerShell/PSScriptAnalyzer/blob/58c44234d44dfd0db35bb532906963e08fde8621/Tests/Engine/LibraryUsage.tests.ps1

Pour moi c'est une tâche de CI ou de dev avant de comiter Attention à pas coupler le code :-)

LxLeChat commented 3 years ago

ahaha j ai fouillé dans les tests de invoke-scriptanalyzer mais j avais pas vu celui la ... ! bien joué ! je vais checker ça ! Enfait je voulais utiliser, car parfois l indentation dans le rendu est vraiment pas top ... je vais tester et voir ce que ça donne, ça serait tet mieux ! Merci beaucoup laurent !

si je fais ça il faut que je reflechisse a comment bien l implémenter, car je ne vais pas ouvrir un runspace pour chaque code block ... tet un faire une méthode static helper ... à reflechir !

LxLeChat commented 3 years ago

Bon je n'ai malheureusement pas réussi à utiliser psscriptanalyser de cette façon... ! j'ai switcher sur une création de process PS et ou je lance "invoke-formatter" ... c'est plus simple en plus ! maintenant je me rend compte que c la manière dont j'ai orga le code pour générer le graph est un peu pourrie ... c'est en forgeant ... ! donc je reflechis à voir si je peux refacto ça ou pas .. !

LxLeChat commented 3 years ago

Bon voila ça c'est fait ! Lorsque l'on utilise -CodeAsText pour New-FlowChartGraph le code 'découvert' est reformaté graçe à invoke-formatter et du coup c'est beaucoup plus propre sur le rendu du graph ! En revanche ça peut rendre les choses un peu plus longue car on utilise une instance PS que l'on créé au lancement de la cmdlet.

La cmdlet vérifie que PSSA est bien installé, et si ce n'est pas le cas, on utilise l'ancienne méthode, et on affiche une information comme quoi PSSA est requis si on souhaite que le code soit correctement formaté dans le graph

LxLeChat commented 3 years ago

done