{"id":24782575,"url":"https://github.com/darthorimar/rekot","last_synced_at":"2025-10-07T11:14:52.236Z","repository":{"id":274721563,"uuid":"922865563","full_name":"darthorimar/rekot","owner":"darthorimar","description":"Kotlin REPL with an IDE-like experience in your terminal","archived":false,"fork":false,"pushed_at":"2025-03-01T18:38:58.000Z","size":1991,"stargazers_count":34,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T05:33:30.888Z","etag":null,"topics":["development-tools","kotlin","read-eval-print-loop","repl","terminal-based"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darthorimar.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":"2025-01-27T08:18:42.000Z","updated_at":"2025-03-12T02:50:02.000Z","dependencies_parsed_at":"2025-03-01T19:27:14.845Z","dependency_job_id":"db153212-08d4-4a8a-815f-6c5964a2d887","html_url":"https://github.com/darthorimar/rekot","commit_stats":null,"previous_names":["darthorimar/rekot"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthorimar%2Frekot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthorimar%2Frekot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthorimar%2Frekot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthorimar%2Frekot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darthorimar","download_url":"https://codeload.github.com/darthorimar/rekot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154994,"owners_count":21056543,"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":["development-tools","kotlin","read-eval-print-loop","repl","terminal-based"],"created_at":"2025-01-29T11:18:06.221Z","updated_at":"2025-10-07T11:14:52.217Z","avatar_url":"https://github.com/darthorimar.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"left\"\u003e\n\u003cimg src=\"logo.svg\" alt=\"ReKot\" width=\"100\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"left\"\u003eReKot\u003c/h1\u003e\n\n##### \u003ci\u003eKotlin REPL with an IDE-like experience in your terminal\u003c/i\u003e\n\n[![GitHub Release](https://img.shields.io/github/v/release/darthorimar/rekot)](https://github.com/darthorimar/rekot/releases/latest)\n\n## ⚙️ Installation\n\n### Homebrew (macOS)\n\n```bash\nbrew install darthorimar/tap/rekot\n```\n\n### Manual Installation (macOS/Linux)\n_Make sure you have the JDK installed. JDK 17 is recommended._\n\nPaste this into the terminal:\n\n```bash\nbash \u003c(curl -s https://raw.githubusercontent.com/darthorimar/rekot/master/install.sh)\n```\n\nOr if you prefer wget:\n\n```bash\nbash \u003c(wget -qO- https://raw.githubusercontent.com/darthorimar/rekot/master/install.sh)\n```\n\n## ✨ Features\n\n### Multiline Code Editing\n\nA full-fledged multiline code editor with code highlighting\n\u003cimg src=\"images/multi_line.png\" alt=\"Multiline code editing\" \u003e\n\n### Multiple Cells\n\nWith results that can be reused between the cells\n\u003cimg src=\"images/multi_cell.png\" alt=\"Multiple cells\" \u003e\n\n### Code Completion\n\n\u003cimg src=\"images/completion.png\" alt=\"Code completion\" \u003e\n\n### In-editor Code Highlighting\n\u003cimg src=\"images/errors.png\" alt=\"In-editor code highlighting\" \u003e\n\n\n## 🧪 Compatibility\n* Tested on _macOS Sequoia 15.2_ on _iTerm2_ and _Terminal.app_\n* Not tested on _Linux_ or _Windows_\n\n## ⚠️ Known Problems\n\nOn macOS Sequoia version \u003c 15.4.1, some text may be printed on the terminal like:\n```\n2025-01-28 23:39:24.855 java[2091:30776] +[IMKClient subclass]: chose IMKClient_Modern\n2025-01-28 23:39:24.855 java[2091:30776] +[IMKInputSession subclass]: chose IMKInputSession_Modern\n```\n\nSee https://discussions.apple.com/thread/255761734\n\nAs a workaround:\n- On Mac systems, ReKot occasionally fully refreshes the screen at some interval.\n- You can press `Ctrl+R` to manually refresh the screen.\n\nStarting from macOS 15.4.1, this issue seems to be fixed.\nSo the hack with automatic screen refreshing is disabled by default. \nCan be enabled back by setting `hackyMacFix=true` in the `config.properties` file.\n\n## 🛠️ Building/Developing ReKot\n\nCurrently, ReKot depends on the [Kotlin Analysis API](https://kotlin.github.io/analysis-api) with a few patches on top. These patches are in my fork of the Kotlin repository, in the branch `rekot`: https://github.com/darthorimar/kotlin/tree/rekot.\n\nTo start developing/building ReKot:\n\n1. Clone the Kotlin on the branch `rekot` repository from https://github.com/darthorimar/kotlin/tree/rekot.\n2. Run `./gradlew installIdeArtifacts -Ppublish.ide.plugin.dependencies=true` in the cloned repository. This will install the Analysis API to your Maven Local.\n3. Now you can start working in the ReKot repository, and it can be imported into IntelliJ IDEA.\n4. Gradle tasks:\n    - `:app:buildProd` - This will create a release (a shadow jar) in `app/build/libs/rekot-VERSION.jar`.\n    - `:app:run` - Run the app in the Swing-based terminal emulator, which sometimes can look quite blurry, but it's useful for debugging.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarthorimar%2Frekot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarthorimar%2Frekot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarthorimar%2Frekot/lists"}