{"id":13837420,"url":"https://github.com/npryce/code-words","last_synced_at":"2025-10-11T00:32:43.086Z","repository":{"id":6436991,"uuid":"7675809","full_name":"npryce/code-words","owner":"npryce","description":"Extract individual (natural-language) words from source code","archived":false,"fork":false,"pushed_at":"2014-10-19T21:06:46.000Z","size":6180,"stargazers_count":63,"open_issues_count":1,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-11T00:32:13.938Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/npryce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-17T22:34:22.000Z","updated_at":"2024-07-17T05:13:52.000Z","dependencies_parsed_at":"2022-08-06T19:15:33.781Z","dependency_job_id":null,"html_url":"https://github.com/npryce/code-words","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/npryce/code-words","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npryce%2Fcode-words","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npryce%2Fcode-words/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npryce%2Fcode-words/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npryce%2Fcode-words/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/npryce","download_url":"https://codeload.github.com/npryce/code-words/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npryce%2Fcode-words/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005657,"owners_count":26083942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T15:01:08.610Z","updated_at":"2025-10-11T00:32:43.066Z","avatar_url":"https://github.com/npryce.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"Code Words\n==========\n\nGet a handle on unfamiliar code by extracting and visualising the natural language programmers used when writing it.\n\n![Board Game Example](https://raw.github.com/npryce/code-words/master/examples/multiplayer-board-game.png)\n\nAn example generated from a multiplayer boardgame written in Java.\n\nUsage\n-----\n\n    \u003clanguage\u003e-code \u003csource-file-or-directory\u003e* | code-to-words -k \u003ckeyword-file\u003e ... -s \u003cstop-word-file\u003e ... | wordcloud -o \u003coutput-file\u003e.png\n\nE.g.\n\n    java-code project/src/ | code-to-words -k java-keywords -s cargo-cult-java-stop-words | wordcloud -o project.png\n\n\nThe stop-keyword files and stop-word files must have a single word per\nline.\n\nThe words in keyword-files are filtered out after identifiers\nhave been extracted from the language but before any further processing.\n\nThe words in stop-word-files are filtered out after the identifiers\nhave been split into separate words at underscores or camel-case\nboundaries and normalised to lowercase.\n\nThe wordcloud command has the following options:\n\n * -o _output-file_: output file name (image type is determined from the extension)\n * -s _width_\u003cspan/\u003ex\u003cspan/\u003e_height_ : width of the output image\n\n\nLanguages supported\n-------------------\n\n * C: `c-code`\n     * `c-keywords`: most C keywords\n     * `c-primitive-type-keywords`: ignores basic C types (int, char, etc.)\n * C++: `c++-code`\n     * `c++-keywords`: most C++ keywords\n     * `c-primitive-type-keywords`: ignores basic C types (int, char, etc.)\n * C#: `csharp-code`\n     * `csharp-keywords`: most C# keywords\n     * `c-primitive-type-keywords`: ignores basic C types (int, char, etc.)\n * Haskell: `haskell-code`\n     * `haskell-keywords`\n * HTML: `html-text`\n     * no stop words file provided. Stop words files for various natural languages can be found on the web.\n * Java: `java-code`.\n     * `java-keywords`: most keywords\n     * `java-primitive-type-keywords`: ignores primitive types\n     * `cargo-cult-java-stop-words`: ignores get, set, bean etc.  Use with the -s flag.\n * JavaScript: `javascript-code`.\n     * `javascript-keywords`: ignores keywords and reserved words (from ECMA-262 Edition 3)\n     * `java-primitive-type-keywords`: ignores primitive types\n     * `nodejs-globals-keywords`: ignores node.js globals\n * Python: `python-code`\n     * `python-keywords`: most keywords\n * Ruby: `ruby-code`\n     * `ruby-keywords`\n * Scala: `scala-code`\n     * `scala-keywords`\n * PHP: `php-code`\n     * `php-keywords`: shows some keywords that may be the result of poor programming practice.\n     * `php-strict-keywords`: ignores all keywords\n * Smalltalk: `smalltalk-code`\n     * `smalltalk-keywords`: ignores keywords\n\nExamples\n--------\n\nExample visualisations of various applications are in the examples/ directory.\n\n\nDependencies\n------------\n\nTo extract text from source code:\n\n * Bash\n * Gnu Sed\n * Grep\n * Awk\n\nTo extract text from HTML:\n\n * w3m\n\nTo visualise the results\n \n * Java 1.6\n\nIt should work on any desktop Linux. It does not yet work on MacOS unless you install the Gnu command-line tools. If you install Gnu sed as `gsed` the script will use it.\n\nTo compile the Java wordcloud generator:\n\n * JDK 1.6\n * Gnu Make\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnpryce%2Fcode-words","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnpryce%2Fcode-words","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnpryce%2Fcode-words/lists"}