{"id":15626183,"url":"https://github.com/migueldeicaza/termkit","last_synced_at":"2025-04-05T18:10:06.907Z","repository":{"id":38353213,"uuid":"179755759","full_name":"migueldeicaza/TermKit","owner":"migueldeicaza","description":"Terminal Kit - Console UI toolkit for Swift applications","archived":false,"fork":false,"pushed_at":"2022-12-15T20:37:47.000Z","size":3568,"stargazers_count":446,"open_issues_count":33,"forks_count":14,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-04-14T12:21:44.882Z","etag":null,"topics":["curses","gui","swift","terminal","toolkit"],"latest_commit_sha":null,"homepage":null,"language":"Swift","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/migueldeicaza.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":"2019-04-05T21:15:09.000Z","updated_at":"2024-03-24T01:01:01.000Z","dependencies_parsed_at":"2022-07-12T02:17:15.227Z","dependency_job_id":null,"html_url":"https://github.com/migueldeicaza/TermKit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/migueldeicaza%2FTermKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/migueldeicaza%2FTermKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/migueldeicaza%2FTermKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/migueldeicaza%2FTermKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/migueldeicaza","download_url":"https://codeload.github.com/migueldeicaza/TermKit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378149,"owners_count":20929297,"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":["curses","gui","swift","terminal","toolkit"],"created_at":"2024-10-03T10:11:13.055Z","updated_at":"2025-04-05T18:10:06.889Z","avatar_url":"https://github.com/migueldeicaza.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# TermKit - Terminal UI Toolkit for Swift\n\nThis is a simple UI Toolkit for Swift, a port of my [gui.cs library\nfor .NET](https://github.com/migueldeicaza/gui.cs).   While I originally\nwrote gui.cs, it has evolved significantly by the contributions of\nCharlie Kindel (@tig), @BDisp and various other contributors - this port \nis bringing their work.\n\nThis toolkit contains various controls for build text user interfaces\nusing Swift.\n\nYou can [checkout the documentation](https://migueldeicaza.github.io/TermKit/index.html)\n\n\u003cimg width=\"1222\" alt=\"Screen Shot 2021-03-13 at 12 44 05 PM\" src=\"https://user-images.githubusercontent.com/36863/111039012-d6df8400-83f9-11eb-9215-88549635a33f.png\"\u003e\n\n# Running this\n\nFrom the command line:\n\n```\n$ swift build\n$ swift run\n```\n\nFrom Xcode, if you want to debug, it is best to make sure that the\napplication that you want to Debug (in this project, the \"Example\"\ntarget is what you want) has its Scheme for Running configured\nlike this:\n\n     * Run/Info: Launch \"Wait for Executable to be launched\"\n\nThen, when you run, switch to a console, and run the executable, I have my\nglobal settings for DerivedData to be relative to the current directory,\nso I can run it like this:\n\n```\n$ DerivedData/TermKit/Build/Products/Debug/Example\n```\n\nThe location for where your executable is produced is configured in Xcode/Preferences/Locations,\nI just happen to like project-relative output like the example above shows.\n\n# Debugging\n\nWhile debugging is useful, sometimes it can be obnoxious to single step or debug over\ncode that is called too many times in a row, so printf-like debugging is convenient.\n\nExcept that prints go to the same console where your application is running, making this\nexperience painful.\n\nIn that case, you can call `Application.log` with a message, and this message will use\nMacOS `os_log`, which you can then either look for in the Console.app, or you can monitor from \na terminal window like this:\n\n```\n$ log stream --style compact --predicate 'subsystem == \"termkit\"'\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmigueldeicaza%2Ftermkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmigueldeicaza%2Ftermkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmigueldeicaza%2Ftermkit/lists"}