このセクションは将来の拡張性に関するものであり、現在の機能性については説明していません。

GCLIには現在3つの拡張ポイントがあります:

  • コマンド
  • フィールド

これらのうち、現在のところコマンドだけが(gcli.addCommand()およびgcli.removeCommand()を使用して)一般的に拡張可能です。今後、型とフィールドの拡張ポイントを追加する予定です。これらの拡張ポイントがmozcmdファイルで利用できるかどうかは議論の余地があります。

mozcmdファイルの型とフィールドを許可することは、いくつかの理由で問題になりがちです。

  • mozcmdファイル間の依存関係を引き起こす可能性があります
  • セキュリティ保証を強化することを困難にします(組み込み型の1つを1つの型に置き換えた場合)
  • タイプとフィールドはGCLIの他の部分とより深く関わっているので、きれいに行うのは難しいかもしれません

将来、mozcmdファイルに型とフィールドの登録を許可する必要がある場合は、次のような有効な値 ['command'|'type'|'field'] を持つ 'class' プロパティを導入することができます。デフォルトは 'command' です。

例:

[
  {
    name: 'c1', // 'command' by default
    exec: function() { return 'This is the c1 command'; }
  },
  {
    name: 'c2',
    class: 'command', // make it explicit
    exec: function() { return 'This is the c1 command'; }
  },
  {
    name: 't1',
    class: 'type',
    stringify: function(data) { return '...'; },
    parse: function(str) { return new Conversion(...); }
  }
]

ドキュメントのタグと貢献者

このページの貢献者: silverskyvicto
最終更新者: silverskyvicto,