{"version":3,"sources":["../../src/helpers/TabCompletion.ts"],"names":["TabCompletion","constructor","command","complete","build","buildTree","omelette","name","on","fragment","reply","line","before","console","log","init","install","setupShellInitFile"],"mappings":";;;;;AACA,cAAA,EAAA;AAGO,IAAMA,cAAAA,GAAN,MAAMA,cAAAA,CAAAA;AAETC,EAAAA,WAAAA,CAAsBC,OAAiB,EAAA;;AADvCC,IAAAA,aAAAA,CAAAA,IAAAA,EAAAA,UAAAA,CAAAA;SACsBD,OAAAA,GAAAA,OAAAA;AAAkB;AAGxCE,EAAAA,KAAAA,CAAMF,OAAgB,EAAA;AAClB,IAAaG,UAAUH,OAAAA;AAEvB,IAAA,IAAA,CAAKC,QAAWG,GAAAA,QAAAA,CAASJ,OAAQK,CAAAA,IAAAA,EAAI,CAAA;AACrC,IAAKJ,IAAAA,CAAAA,QAAAA,CAASK,EAAGN,CAAAA,OAAAA,CAAQK,IAAI,EAAA,EAAI,CAAC,EAACE,QAASC,EAAAA,KAAAA,EAAMC,IAAKC,EAAAA,MAAAA,EAAO,KAAA;AAC1DC,MAAAA,OAAAA,CAAQC,GAAI,CAAA,KAAA,GAAMZ,OAAQK,CAAAA,IAAAA,EAAQ,EAAA;AAACE,QAAAA,QAAAA;AAASC,QAAAA,KAAAA;AAAMC,QAAAA,IAAAA;AAAKC,QAAAA;OAAM,CAAA;KACjE,CAAA;AACA,IAAKT,IAAAA,CAAAA,QAAAA,CAASK,GAAG,UAAY,EAAA,CAACC,UAAS,EAACC,KAAAA,EAAMC,IAAKC,EAAAA,MAAAA,EAAO,KAAA;AACtDC,MAAAA,OAAAA,CAAQC,IAAI,aAAc,EAAA;AAACL,QAAAA,QAAAA;AAASC,QAAAA,KAAAA;AAAMC,QAAAA,IAAAA;AAAKC,QAAAA;OAAM,CAAA;KACzD,CAAA;AAEA,IAAA,IAAA,CAAKT,SAASY,IAAI,EAAA;AACtB;EAEAC,OAAS,GAAA;AACL,IAAKb,IAAAA,CAAAA,QAAAA,CAASc,mBAAmB,oBAAA,CAAA;AACrC;AACJ,CAAA;AAtBajB,MAAAA,CAAAA,cAAAA,EAAAA,eAAAA,CAAAA;AAAN,IAAMA,aAAN,GAAA","file":"TabCompletion.mjs","sourcesContent":["import { Command } from '../base/Command.js';\nimport omelette, { Instance } from 'omelette';\nimport { buildTree } from 'src/helpers/BuildTree.js';\n\nexport class TabCompletion {\n    complete:Instance\n    constructor(protected command:Command) {}\n\n\n    build(command:Command){\n        const tree = buildTree(command);\n\n        this.complete = omelette(command.name());\n        this.complete.on(command.name(), ({fragment,reply,line,before}) => {\n            console.log('on:'+command.name(), {fragment,reply,line,before})\n        });\n        this.complete.on('complete', (fragment,{reply,line,before}) => {\n            console.log('on:complete',{fragment,reply,line,before})\n        });\n\n        this.complete.init();\n    }\n\n    install(){\n        this.complete.setupShellInitFile('~/.my_bash_profile')\n    }\n}\n"]}