{"id":20292539,"url":"https://github.com/mauricelambert/terminalmessages","last_synced_at":"2025-06-14T18:40:12.845Z","repository":{"id":140723058,"uuid":"494544580","full_name":"mauricelambert/TerminalMessages","owner":"mauricelambert","description":"This library implements formatted and colored messages to be written in the console.","archived":false,"fork":false,"pushed_at":"2023-10-15T18:01:35.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T09:14:46.191Z","etag":null,"topics":["cli","command-line-interface","dll","hacking","print","rust","shared-object"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mauricelambert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-05-20T17:00:39.000Z","updated_at":"2023-10-01T18:59:33.000Z","dependencies_parsed_at":"2023-10-03T12:58:03.922Z","dependency_job_id":"98e9c358-7a83-4f04-8f61-762fb685489c","html_url":"https://github.com/mauricelambert/TerminalMessages","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauricelambert%2FTerminalMessages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauricelambert%2FTerminalMessages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauricelambert%2FTerminalMessages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauricelambert%2FTerminalMessages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mauricelambert","download_url":"https://codeload.github.com/mauricelambert/TerminalMessages/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241787485,"owners_count":20020101,"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":["cli","command-line-interface","dll","hacking","print","rust","shared-object"],"created_at":"2024-11-14T15:17:40.949Z","updated_at":"2025-03-04T05:13:47.471Z","avatar_url":"https://github.com/mauricelambert.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TerminalMessages\r\n\r\n## Description\r\n\r\nThis package is a DLL written in Rust with *interface* for other languages like Python, Ruby, Perl, Go... This library implements formatted and colored messages to be written in the console. It should be used when running a procedure, script, or analysis to show statuses, errors, prompt for input, or explain what the user should do, etc...\r\n\r\n## Requirements\r\n\r\n### Download\r\n\r\n - *No requirements*\r\n\r\n### Compilation\r\n\r\n - Rust\r\n - Rust Standard library\r\n - Cargo\r\n - lazy_static\r\n\r\n## Demontration\r\n\r\n### Python POC\r\n\r\nSource code: https://github.com/mauricelambert/PythonToolsKit/blob/main/PythonToolsKit/PrintF.py\r\n\r\n![TerminalMessages demonstration](https://mauricelambert.github.io/info/python/code/PythonToolsKit/PrintF_demo.png \"TerminalMessages demonstration\")\r\n\r\n### Rust executable\r\n\r\nSource code: https://github.com/mauricelambert/TerminalMessages/blob/main/src/main.rs\r\n\r\n![TerminalMessages demonstration](https://mauricelambert.github.io/info/rust/code/TerminalMessagesExecutableLinux.png \"TerminalMessages demonstration\")\r\n\r\n## Installation\r\n\r\n### Download\r\n\r\nDownload the DLL or SharedObject and executables for demonstration from [Github](https://github.com/mauricelambert/TerminalMessages/releases/latest/).\r\n\r\n### Compilation\r\n\r\n```bash\r\ngit clone https://github.com/mauricelambert/TerminalMessages.git\r\ncd TerminalMessages\r\n\r\ncargo build --target x86_64-pc-windows-gnu --release     # Windows with GNU requirements\r\ncargo build --target x86_64-pc-windows-msvc --release    # Windows default\r\ncargo build --target x86_64-unknown-linux-gnu --release  # Linux\r\n```\r\n\r\n## API\r\n\r\n```c\r\nstruct ProgressBar {\r\n    char* start;\r\n    char* end;\r\n    char* character;\r\n    char* empty;\r\n    unsigned short int size;\r\n};\r\n\r\nprint_all_state();\r\n\r\nadd_state(char* state_name, char* character_symbol, char* color);\r\n\r\nadd_rgb_state(char* state_name, char* character_symbol, unsigned char red, unsigned char green, unsigned char blue);\r\n\r\nmessagef(\r\n    char* message,\r\n    char* state_name,\r\n    unsigned char pourcent,\r\n    char* start,\r\n    char* end,\r\n    struct ProgressBar* progressbar,\r\n    unsigned char add_progressbar,\r\n    unsigned char oneline_progress\r\n);\r\n// message is required, others arguments are optional and can be NULL or 0\r\n```\r\n\r\n## Links\r\n\r\n - [DLL/SharedObject](https://github.com/mauricelambert/TerminalMessages/releases/latest/)\r\n\r\n## Licence\r\n\r\nLicensed under the [GPL, version 3](https://www.gnu.org/licenses/).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmauricelambert%2Fterminalmessages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmauricelambert%2Fterminalmessages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmauricelambert%2Fterminalmessages/lists"}