{"id":23665878,"url":"https://github.com/alfonsog-dev/joogle","last_synced_at":"2026-06-08T01:31:46.364Z","repository":{"id":204430648,"uuid":"711762383","full_name":"AlfonsoG-dev/Joogle","owner":"AlfonsoG-dev","description":"CLI exploration APP for Java code.","archived":false,"fork":false,"pushed_at":"2025-11-22T22:54:07.000Z","size":1616,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-23T00:16:54.496Z","etag":null,"topics":["clitool"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlfonsoG-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-30T06:00:43.000Z","updated_at":"2025-11-22T22:54:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"166501d3-a2d4-4c73-a1d8-c8f018e66a4e","html_url":"https://github.com/AlfonsoG-dev/Joogle","commit_stats":null,"previous_names":["alfonsog-dev/joogle"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/AlfonsoG-dev/Joogle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJoogle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJoogle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJoogle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJoogle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlfonsoG-dev","download_url":"https://codeload.github.com/AlfonsoG-dev/Joogle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlfonsoG-dev%2FJoogle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34044919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"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":["clitool"],"created_at":"2024-12-29T06:18:27.500Z","updated_at":"2026-06-08T01:31:46.359Z","avatar_url":"https://github.com/AlfonsoG-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Joogle\n- CLI exploration app like [Coogle](https://www.youtube.com/watch?v=wK1HjnwDQng\u0026t=1s) by Tsoding.\n\u003e- Parses the java file to find the methods and instance declarations.\n\n![expected output_1](./docs/expected_output_1.png)\n![expected output_2](./docs/expected_output_2.png)\n-------\n![expected output_lm](./docs/expected_output_lm.png)\n------\n\n# Dependencies \n- [Java 17](https://www.oracle.com/es/java/technologies/downloads/#jdk17-windows)\n- [java-build-tool](https://github.com/AlfonsoG-dev/javaBuild.git)\n\n# Folder Structure\n- the work space contains two folders where:\n\u003e- `src`: is to maintain the sources\n\u003e- `bin`: is to contain the `.class` files generated by the compile operation\n\u003e- if you want to change the folder structure remember to check if the powershell script is still working\n\n# Features\n- [x] search the sentence within a file.\n- [x] search the sentence within a directory.\n- [x] search the sentence within all directories of the given directory\n- [x] output the code block of the given method\n- [x] list all the files with the `.java` extensión\n- [x] list all the methods in the given directory\n- [x] list all the TODO in the current project\n- [x] input type panel if you not give CLI option\n\n-----\n\n# Usage\n\n- you can use the jar file to execute or create and executable\n```shell\njava -jar joogle.jar -search operation App.java \"search sentence\"\n```\n\u003e- only the equal return type and arguments get the color green the most equal will be yellow\n\n# Search definitions\n\n- when searching a pattern for declarations or method names use the following sentences.\n\n## Search in file\n- when searching in files use:\n```pwsh\njava -jar joogle.jar -f App.java 'void(int)'\n```\n\u003e- `java -jar joogle.jar`: this execute the `.jar` file.\n\u003e- `-f App.java`: indicates the file where the sentence is within.\n\u003e- `'void(int)'`: indicates the return type and the arguments of the method to search.\n\n## Search in directory\n- when searching within a directory use:\n```pwsh\njava -jar joogle.jar -d .\\test\\ 'void(int)'\n```\n\u003e- `-d .\\test\\`: indicates to search the sentence inside all of the `.java` files in the given directory.\n\u003e\u003e- only the files of the directory are used, if the directory have a nested structure the other directories are not taken into account. \n\n## Search in directories\n\n- when the given directory have a nested structure use:\n```pwsh\njava -jar joogle.jar -D .\\test\\ 'void(int)'\n```\n\u003e- `-D .\\test\\`: indicates to search the sentence inside of all the `.java` files in all the routes of the given directory.\n\u003e\u003e- summary if the directory contains more directories they are taken into account\n\n## Search for files\n\n- search for the project files\n- when searching for a file within a directory use:\n```pwsh\njava -jar joogle.jar -lf .\\test\\\n```\n\u003e- `-lf .\\src\\`: this will list all of the files inside the project\n\n## Search for method and its context\n\n- when you want to know the content of a method use:\n```pwsh\njava -jar joogle.jar -lm .\\test\\ 'MethodName'\n```\n\u003e- `-lm .\\test\\ 'MethodName'`: this will search for the given method inside all of the given directory.\n\u003e\u003e- it acts like the `cat` command but for java methods.\n\n## Search for TODO sentences\n\n- when searching for TODO sentences use:\n```pwsh\njava -jar joogle.jar -lt .\\test\\\n```\n\u003e- `-lt .\\test\\`: this will list all the TODO sentences in the directory or file.\n\n\u003e_ if you declare a TODO sentence using: `/**` or `/*`\n```java\n/**\n * TODO: used to declare a todo and additional info is aggregated with the following sentences\n * this is part of the todo and its call body.\n * it can aggregate lines until the term '*/'\n */\n```\n\u003e_ if you declare a TODO sentence using: `//`\n```java\n// TODO: this is a one line only TODO sentence.\n// unlike the previous one, this isn't part of the TODO sentence.\n```\n\n---------\n\n# Compile And Execute\n\n- this project uses: [java-build-tool](https://github.com/AlfonsoG-dev/javaBuild.git).\n\u003e- Also in the root of the project, you can find a build shell script to compile and create the jar file.\n```pwsh\npwsh -Command java-exe.ps1\n```\n\n---------\n\n# Disclaimer\n- this project is for educational purposes.\n- is not intended to create a full program.\n- security issues are not taken into account.\n- It only works on WINDOWS OS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfonsog-dev%2Fjoogle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfonsog-dev%2Fjoogle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfonsog-dev%2Fjoogle/lists"}