Selecteur de #tags# et fonctions() dans la fenêtre équipement et ajout de fonctions() custom
Opened this issue · 0 comments
Après discution avec @slobberbone et @cyrilphoenix71, il serait intéressant de pouvoir afficher la liste des #tags#
et fonctions()
avec leur documentation respective dans la fenêtre d'équipement, genre ici: https://prnt.sc/q9fz9t
Ça doit pouvoir s'adapter au contexte (exemple: #slider#
qui n'est pas tout le temps un tag valide)
Ça passerait par une refonte de chaque fonction qui deviendrait alors une classe de ce style que l'on devrait implémenter:
class IEvaluateFormatter {
abstract string evaluate($input);
abstract string getDoc();
}
Évidemment, c'est à implémenter pour chaque fonction existante mais on pourrait aussi implémenter nous même (dans un plugin par exemple, pour ajouter nos propre fonctions custom):
Inconvénient: Pour appeler une fonction tel que lastChangeStateDuration, on devrait remplacer: lastChangeStateDuration(XXX)
par FormatterValue\NextDom\LastChangeStateDuration::eval(XXX)
ou MonPlugin\MaClasse::eval(XXX)
Mais on pourrait imaginer une syntaxe qui remplace lastChangeStateDuration(XXX)
par FormatterValue\NextDom\LastChangeStateDuration::eval(XXX)
et MonPlugin\MaClasse(XXX)
par MonPlugin\MaClasse::eval(XXX)
afin de rendre plus lisible les scénarios/commandes.