{"id":18996282,"url":"https://github.com/keshav2010/picocli","last_synced_at":"2026-04-16T10:30:19.184Z","repository":{"id":133571779,"uuid":"93929728","full_name":"keshav2010/picoCLI","owner":"keshav2010","description":"picoCLI is a small command interpreter that can be used to write/read text files, setup trigger-alarms to execute another piece of code after specified amount of time.","archived":false,"fork":false,"pushed_at":"2018-03-24T16:51:42.000Z","size":21667,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-01T16:27:38.955Z","etag":null,"topics":["c-plus-plus","cli","command-line-interpreter","command-line-parser","commandline-interface","cpp","interpreter","parsing","visual-studio-code","windows-desktop"],"latest_commit_sha":null,"homepage":"https://github.com/keshav2010/picoCLI/releases","language":"C++","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/keshav2010.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}},"created_at":"2017-06-10T09:40:32.000Z","updated_at":"2019-11-27T20:18:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"b95519ac-0d7d-4e21-b9f0-c2e58e8361f6","html_url":"https://github.com/keshav2010/picoCLI","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keshav2010%2FpicoCLI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keshav2010%2FpicoCLI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keshav2010%2FpicoCLI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keshav2010%2FpicoCLI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keshav2010","download_url":"https://codeload.github.com/keshav2010/picoCLI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240010791,"owners_count":19733568,"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","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":["c-plus-plus","cli","command-line-interpreter","command-line-parser","commandline-interface","cpp","interpreter","parsing","visual-studio-code","windows-desktop"],"created_at":"2024-11-08T17:34:31.900Z","updated_at":"2026-04-16T10:30:19.147Z","avatar_url":"https://github.com/keshav2010.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# picoCLI\npicoCLI is a tiny program with Command line interface written in C++ (Tested on Windows 7, 32 bit) \n\n1. quickly create/append to text-files and make short-notes/reminders \n2. quickly read from text-files\n3. invoke a command(pre-defined as well as system-level commands such as shutdown) within specified time period by initiating a countdown timer\n\n**Command Construct**\npicoCLI breaks a command into 4 parts ( * in front means this part is required)\n1. MAJOR* : The MAJOR part specifies the major action that command will initiate, for example \"read\" or \"write\" in case of input-output \n2. SUBMAJOR : SUBMAJOR is an optional part, that means a user can constructs his/her own command without need to mention SUBMAJOR command\n3. SUBCMD* : SUBCMD stands for sub-command, this serve as a parameter to MAJOR command, every command that picoCLI contains, need a parameter to act upon\n4. USERINPUT : in case a command needs user-input, user can write code for specifying USERINPUT properties \n\n**command.h : Abstract Class**\ncommand.h is an abstract class every command (predefined or defined by programmer) must inherit publically\nit specifies the properties of a command such as \n1. isValid \n2. Pattern[6]\n3. MAJOR, SUBMAJOR, SUBCMD, USERINPUT\n\nand some Functions \n1. int sumPattern(int beg, int end)\n2. int check_cmd(const std::string\u0026)//needs to be override by programmer\n3. void execute_cmd() //needs to be override by programmer\n\n_check_cmd function should check a command syntax, if its valid, return 1 else return 0_\n#\n_execute_cmd function should be responsible for execution of a command_\n#\n**# #Existing Commands**\n1. read file [ filename.txt ]\n2. write file [ filename.txt ] \u003c userinput here \u003e\n3. do [ (any command here) ] \u003c seconds here \u003e\n4. shutdown\n5. -q \n\n#\n\n**# #Examples**\n\n1. write file [ myfile.txt ] \u003c this goes in file \u003e\n2. do [ write file [ myfile.txt ] \u003c this goes in file too \u003e ] \u003c 2 \u003e \n3. do [ do [ write file [ myfile.txt ] \u003c third line \u003e ] \u003c 2 \u003e ] \u003c 3 \u003e \n4. read file [ myfile.txt ] \n5. do [ shutdown ] \u003c 50 \u003e \n#\n**execution will be like ** \nmyfile.txt will be created and first line will be written (\"this goes in file\") \nnext, a do-trigger alarm is set, after 2 second, it will re-open file and write \"this goes in file too\" as second line\nnext a do-trigger alarm is set, after 3 second, it calls another do-alarm, which now execute for further 2 seconds (total : 5 second pause) and finally \"third line\" will be written to file\n\nread file command will show content of file\nand lastly, do statement will execute shutdown command after 50 seconds, Shutting down the operating system (windows)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeshav2010%2Fpicocli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeshav2010%2Fpicocli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeshav2010%2Fpicocli/lists"}