補完リストの高さを調節したり表示・非表示をトグルしたり

例えば 'autocomplete' を有効にして :ec commandl と入力すると,:ec co の段階で多くの補完候補が表示され,そのときの高さを保ったまま :ec commandl の補完候補が表示された状態になる.

これは特にページのコンテンツを見ながらコマンドラインを入力しているときに不便.かといって補完候補が変わる度に高さがかわるのも見にくい.

そこで,タイトルのようなキーマップを定義して適宜調節するようにしてみた.

mappings.addUserMap(
  [modes.COMMAND_LINE],
  ['<C-g>'],
  'Adjust height of completion list',
  function() {
    let list = commandline._completions.itemList;
    list._minHeight = 0;
    list._autoSize();
  });

さっきの状態から を押すと,このように必要最低限の高さになる.

また, で補完リストの表示・非表示をトグルできるようにもしてみた.

mappings.addUserMap(
  [modes.COMMAND_LINE],
  ['<C-t>'],
  'Toggle visibility of completion list',
  function() {
    let list = commandline._completions.itemList;
    if (list.visible()) {
      list.hide();
    } else {
      list.show();
    }
  });