{"id":20672698,"url":"https://github.com/shuoros/jterminal","last_synced_at":"2026-04-01T18:24:59.001Z","repository":{"id":57734819,"uuid":"422833234","full_name":"shuoros/JTerminal","owner":"shuoros","description":"A library for printing custom outputs in terminal for Java","archived":false,"fork":false,"pushed_at":"2021-11-13T15:04:14.000Z","size":458,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T18:47:55.443Z","etag":null,"topics":["colors","java","print","terminal"],"latest_commit_sha":null,"homepage":"https://shuoros.github.io/jterminal","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/shuoros.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}},"created_at":"2021-10-30T09:06:44.000Z","updated_at":"2024-12-01T04:55:08.000Z","dependencies_parsed_at":"2022-08-24T11:20:33.467Z","dependency_job_id":null,"html_url":"https://github.com/shuoros/JTerminal","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/shuoros/JTerminal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJTerminal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJTerminal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJTerminal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJTerminal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shuoros","download_url":"https://codeload.github.com/shuoros/JTerminal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJTerminal/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259967830,"owners_count":22939524,"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":["colors","java","print","terminal"],"created_at":"2024-11-16T20:38:32.638Z","updated_at":"2026-03-27T04:02:36.134Z","avatar_url":"https://github.com/shuoros.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://user-images.githubusercontent.com/45015114/139809463-417377ca-2eef-4cec-9689-bd841b0ce5db.png\" align=\"center\" alt=\"JTerminal\" /\u003e\n \u003ch2 align=\"center\"\u003eJTerminal\u003c/h2\u003e\n \u003cp align=\"center\"\u003eIs an easy to use library for printing custom outouts on terminal!\u003c/p\u003e\n\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/shuoros/JTerminal/actions\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/workflow/status/shuoros/JTerminal/Test?label=Test\u0026style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\"\u003e\n      \u003cimg src=\"https://img.shields.io/maven-central/v/io.github.shuoros/JTerminal?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.codefactor.io/repository/github/shuoros/jterminal\"\u003e\n      \u003cimg alt=\"code factor\" src=\"https://img.shields.io/codefactor/grade/github/shuoros/jterminal/main?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"#\"\u003e\n      \u003cimg alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/shuoros/jterminal?style=for-the-badge\u0026color=blueviolet\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/shuoros/JTerminal/blob/main/LICENSE\"\u003e\n      \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/shuoros/jterminal?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/shuoros/JTerminal/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues-raw/shuoros/jterminal?style=for-the-badge\u0026color=red\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/shuoros/JTerminal/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues-closed-raw/shuoros/jterminal?style=for-the-badge\"/\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n\tIf you like this project, help me by giving me a star =))\u003c3\n  \u003c/p\u003e\n\n## What is in V1.0.2\n- Print and println with foreground and background color.\n- Support 8-bit 0-255 XTerm colors.\n- Get colors by name and theire XTerm code.\n- TextEntity class for assign different styles to a single string.\n- Pass your TextEntity list with no order and full coverage (v1.0.2)\n- clear the terminal.\n- delete lines.\n\n## Hello Terminal\nTo use JTerminal you just need to make a static call to your desired API.\n\nFor example:\n\n![ezgif com-gif-maker](https://user-images.githubusercontent.com/45015114/140813186-1326fb9b-decc-4182-bf3c-19a4b0e04c24.gif)\n\nThe above gif was the result of running this piece of code:\n\n```java\nimport java.util.List;\n\nimport io.github.shuoros.jterminal.JTerminal;\nimport io.github.shuoros.jterminal.ansi.Color;\nimport io.github.shuoros.jterminal.util.TextEntity;\n\npublic class Main {\n\n\tpublic static void main(String[] args) {\n\t\t// Clear screen with timer\n\t\tJTerminal.println(\"Screen must clear after one second\");\n\t\tJTerminal.clear(1000);\n\n\t\t// Delete line\n\t\tJTerminal.println(\"The line below must be deleted after one second\");\n\t\tJTerminal.println(\"I should be deleted in a second\");\n\t\ttry {\n\t\t\tThread.sleep(1000);\n\t\t} catch (InterruptedException e) {\n\t\t\te.printStackTrace();\n\t\t}\n\t\tJTerminal.delete();\n\t\tJTerminal.clear(1000);\n\t\t\n\t\t// Print with default foreground and background colors\n\t\tJTerminal.println(\"Hello I'm in your terminal's default foreground and background color\");\n\t\tJTerminal.println(\"\\n\");\n\n\t\t// Print with foreground or background color\n\t\tJTerminal.println(\"I'm an orange text with default background\", Color.ORANGE);\n\t\tJTerminal.println(\"I'm an orange text with white background\", Color.ORANGE, Color.WHITE);\n\t\tJTerminal.println(\"\\n\");\n\n\t\t// Use custom XTerm code\n\t\tJTerminal.println(\"I'm printed with 201 XTerm code\", Color.xTerm(201));\n\t\tJTerminal.println(\"\\n\");\n\n\t\t// Print with TextEntity\n\t\tJTerminal.println(\"My colors were set with TextEntity\", List.of(//\n\t\t\t\tnew TextEntity(0, 24, Color.BLUE), //\n\t\t\t\tnew TextEntity(24, 33, Color.YELLOW, Color.RED)));\n\t\tJTerminal.println(\"\\n\");\n\n\t\t// All suppoerted XTerm colors (8-bit 0-255)\n\t\tJTerminal.println(\"All suppoerted XTerm colors (8-bit 0-255) -\u003e\", List.of(//\n\t\t\t\tnew TextEntity(0, 27, Color.WHITE), //\n\t\t\t\tnew TextEntity(27, 42, Color.RED), //\n\t\t\t\tnew TextEntity(42, 44, Color.WHITE, Color.ORANGE)));\n\t\tJTerminal.println(\"\");\n\t\tfor (Color color : Color.values()) {\n\t\t\tJTerminal.print(color.toString(), color);\n\t\t\tJTerminal.print(\" \");\n\t\t}\n\t\tJTerminal.println(\"\\n\");\n\n\t\t// Credits\n\t\tJTerminal.println(\"\u003eJTerminal:~ 1.0.0\", List.of(//\n\t\t\t\tnew TextEntity(0, 1, Color.DARK_SEA_GREEN_7), //\n\t\t\t\tnew TextEntity(1, 10, Color.ORANGE), //\n\t\t\t\tnew TextEntity(10, 12, Color.DARK_SEA_GREEN_7), //\n\t\t\t\tnew TextEntity(12, 18, Color.WHITE)));\n\t\tJTerminal.println(\"By Soroush Shemshadi\", Color.ORANGE);\n\t}\n\n}\n```\n\n#### To see color cheat sheet please check [docs](https://github.com/shuoros/JTerminal/blob/main/doc).\n\n## Installation\nYou can use **JTerminal** with any project management tool:\n\n### Maven\n\n```xml\n\u003c!-- https://mvnrepository.com/artifact/io.github.shuoros/JTerminal --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.shuoros\u003c/groupId\u003e\n    \u003cartifactId\u003eJTerminal\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\n```gradle\n// https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\nimplementation group: 'io.github.shuoros', name: 'JTerminal', version: '1.0.2'\n```\nOr\n\n```gradle\n// https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\nimplementation 'io.github.shuoros:JTerminal:1.0.2'\n```\n\nAnd in **Kotlin**\n\n```gradle\n// https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\nimplementation(\"io.github.shuoros:JTerminal:1.0.2\")\n```\n\n### SBT\n\n```sbt\n// https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\nlibraryDependencies += \"io.github.shuoros\" % \"JTerminal\" % \"1.0.2\"\n```\n\n### Ivy\n\n```xml\n\u003c!-- https://mvnrepository.com/artifact/io.github.shuoros/JTerminal --\u003e\n\u003cdependency org=\"io.github.shuoros\" name=\"JTerminal\" rev=\"1.0.2\"/\u003e\n```\n\n### Grape\n\n```java\n// https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\n@Grapes(\n    @Grab(group='io.github.shuoros', module='JTerminal', version='1.0.2')\n)\n```\n\n### Leiningen\n\n```clj\n;; https://mvnrepository.com/artifact/io.github.shuoros/JTerminal\n[io.github.shuoros/JTerminal \"1.0.2\"]\n```\n\n## Authors\nJTerminal is developed by [Soroush Shemshadi](https://github.com/shuoros) and [contributors](https://github.com/shuoros/JTerminal/blob/main/CONTRIBUTORS.md).\n\n## Contribution\nIf you want to contribute on this project, Please read the [contribution guide](https://github.com/shuoros/JTerminal/blob/main/CONTRIBUTE.md).\n\n## Releases\nTo see the changes in different versions of JTerminal, you can read the [release notes](https://github.com/shuoros/JTerminal/blob/main/RELEASENOTES.md).\n\n## Issues\nIf you encounter a bug or vulnerability, please read the [issue policy](https://github.com/shuoros/JTerminal/blob/main/ISSUES.md).\n\n## Documentation\nTo learn how to work with JTerminal, please take a look at the [/doc](https://github.com/shuoros/JTerminal/tree/main/doc) folder.\n\n## Acknowledgement\nA greate thanks to [@sarahrajabi](https://github.com/sarahrajabi) for designing the logo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuoros%2Fjterminal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuoros%2Fjterminal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuoros%2Fjterminal/lists"}