Futur de GCLI

Cette section traite des fonctionnalités futures. Cette section ne documente pas les fonctionnalités courantes. (Attention cependant, la dernière mise à jour de la version officielle date de 2012...)

GCLI a actuellement 3 axes d'améliorations :

  • Les commandes
  • Les types
  • Les champs

Seules les commandes sont extensibles (au travers de gcli.addCommand() et gcli.removeCommand()). Il est probable que les types et les champs puissent être extensibles dans le futur. La disponibilités des ces extensions dans un fichier mozcmd est sujet à débat.

Autoriser les types et les champs dans des fichiers mozcmd sera certainement problématique pour plusieurs raisons :

  • Cela peut introduire des dépendances entre des fichiers mozcmd
  • Cela peut rendre la garantie de sécurisation plus difficile à contrôler (qu'arrive-t-il si un type remplace un autre type par défaut ?)
  • Les types et les champs sont plus couplés avec d'autres parties de GCLI. Cela pourrait donc être plus difficile à réaliser proprement.

S'il devient nécessaire d'autoriser l'enregistrement de types et de champs dans un fichier mozcmd. il est alors possible que nous introduisions une propriété 'class' qui possède les valeurs légales suivantes : ['command'|'type'|'field'], la valeur par défaut étant 'command'.

Par exemple :

[
  {
    name: 'c1', // 'command' par défaut
    exec: function() { return 'Ceci est la commande c1'; }
  },
  {
    name: 'c2',
    class: 'command', // explicitement
    exec: function() { return 'Ceci est la commande c1'; }
  },
  {
    name: 't1',
    class: 'type',
    stringify: function(data) { return '...'; },
    parse: function(str) { return new Conversion(...); }
  }
]

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, teoli, maximelore
 Dernière mise à jour par : SphinxKnight,