From 7fae5b0da994302bc0c5807542c7d9fef5593764 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Thu, 14 Nov 2019 12:51:20 +0700 Subject: [PATCH] Split help to multiline --- lib/command-handler/help.js | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/lib/command-handler/help.js b/lib/command-handler/help.js index cf86719..314e757 100644 --- a/lib/command-handler/help.js +++ b/lib/command-handler/help.js @@ -1,12 +1,31 @@ -"use strict"; - +const logger = require('komodo-sdk/logger'); const commands = require('../command-group'); + const cmds = []; for (let [key, value] of Object.entries(commands)) { if (value.indexOf('_') !== 0) cmds.push(key.toUpperCase()); } cmds.sort(); -const msg = 'Perintah tersedia: ' + cmds.join(', ') + '.' + +const cmds2 = []; +let cmdOnAGroup = []; +let lastKeyword; +cmds.forEach((item) => { + if (lastKeyword && lastKeyword[0] !== item[0]) { + cmds2.push(cmdOnAGroup.join(', ')); + cmdOnAGroup = []; + } + + cmdOnAGroup.push(item); + lastKeyword = item; +}); + +cmds2.push(cmdOnAGroup.join(', ')); + +// const msg = 'Perintah tersedia: ' + cmds.join(', ') + '.' +const msg = 'Perintah tersedia:\n\n' + cmds2.join(',\n\n'); + +logger.verbose('Help return message constructed', { count: cmds.length, chars: msg.length, lines: msg.split(/\r\n|\r|\n/).length }); module.exports = function(cb) { -- 1.9.0