Code Search
Searches and retrieves matching code snippets from GitHub
Installation
npm install codesearch --save
Get a Token
Sign up on GitHub and generate a personal access token from the Developer Settings page
Functions
.token('TOKEN')
- pass your personal access token as an argument.search('TERM', 'LANGUAGE', callback)
- returns a JSON with the results of the search via a callbackTERM
: the term/word/function to search (ex: math.pow, addUser, setCookie etc.)LANGUAGE
: the programming language to search in (ex: javascript, php, ruby etc.)
Usage
const codeSearch = ; codeSearch; codeSearch;
JSON Structure
The following is the structure of the resulting JSON file
searchTerm: 'The search term used' searchLanguage: 'The search language used' generatedBy: 'The module name' generatedOn: 'The date in ISO format' searchResults: similarityScore: 'The similarity of the result to the search term' codeAuthor: 'The author of the result' codeSnippet: 'The stringified version of the raw code snippet'
Example Result
The value of the codeSnippet
key can be parsed into normal text (without escape characters and other characters like \n
and \t
) by using JSON.parse()
searchTerm: 'setcookie' searchLanguage: 'php' generatedBy: 'codesearch' generatedOn: '2018-02-22T02:12:38.813Z' searchResults: similarityScore: 5360942 codeAuthor: 'ManWangIT' codeSnippet: 'setCookie();' similarityScore: 5315576 codeAuthor: 'eric1234' codeSnippet: '<?php\n setcookie(\'cookie1\');\n setcookie(\'cookie2\');\n?>\n' similarityScore: 50985513 codeAuthor: 'hugoribeiroab' codeSnippet: '<?php\r\n\t\t\t\tsetcookie("id");\r\n\t\t\t\tsetcookie("nome");\r\n\t\t\t\tsetcookie("sobrenome");\r\n\t\t\t\tsetcookie("ag");\r\n\t\t\t\tsetcookie("conta");\r\n\t\t\t\tsetcookie("ativo");\r\n\t\t\t\tsetcookie("agenciamoeda");\r\n\t\t\t\tsetcookie("agencianome");\r\n\t\t\t\theader("location: ./");\r\n?>'
Tests
Pass in your personal access token to run the tests
npm test TOKEN