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