git-grep-json
v0.6.5
Published
A tool for git-grep
Downloads
4
Readme
git-grep-json
It's a tool for git-grep. See https://git-grep-json.netlify.app/ also.
installation
npm install git-grep-jsonusage
grep with
-nand-Cgit grep -n -C 2 -e "some" | npx grep2jsongrep with
-nand-Agit grep -n -A 1 -e "some" | npx grep2jsongrep with
-nand-Bgit grep -n -B 1 -e "some" | npx grep2jsonresult
[ { "fileName": "test.js", "matchedLineNumber": 1, "codeLines": [ "function someFunc(){", " return 1;" ], "lineRange": { "start": 1, "end": 2 } }, { "fileName": "test.js", "matchedLineNumber": 6, "codeLines": [ "function otherFunc(){", " return \"awesome\";", "}" ], "lineRange": { "start": 5, "end": 7 } } ]
configurations
grep2json.config.js in process currend directory can change the outout.
You can get grep2json.config.js with the below line
npx gren2json --init-configconfiguration example
module.exports = {
prepareStore: async () => await Promise.resolve({}),
setupResult: async (block, structuredLine, store) => {
return await Promise.resolve({
fileName: structuredLine.fileName,
matchedLineNumber: structuredLine.lineNumber,
line: structuredLine.codeLine
});
}
};prepareStore()
prepareStore() in grep2json.config.js will be executed once before setupResult().
prepareStore() should return a Promise that resolves as any object.
setupResult()
setupResult() in grep2json.config.js will be executed with each matched line.
setupResult() should return a Promise that resolves as any object.
setupResult() receives block, line, and store as the parameters.
