https://github.com/darthorimar/rekot
Kotlin REPL with an IDE-like experience in your terminal
https://github.com/darthorimar/rekot
development-tools kotlin read-eval-print-loop repl terminal-based
Last synced: about 1 month ago
JSON representation
Kotlin REPL with an IDE-like experience in your terminal
- Host: GitHub
- URL: https://github.com/darthorimar/rekot
- Owner: darthorimar
- License: apache-2.0
- Created: 2025-01-27T08:18:42.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-03-01T18:38:58.000Z (3 months ago)
- Last Synced: 2025-03-24T05:33:30.888Z (about 2 months ago)
- Topics: development-tools, kotlin, read-eval-print-loop, repl, terminal-based
- Language: Kotlin
- Homepage:
- Size: 1.9 MB
- Stars: 34
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
ReKot
##### Kotlin REPL with an IDE-like experience in your terminal
[](https://github.com/darthorimar/rekot/releases/latest)
## ⚙️ Installation
_Make sure you have the JDK installed_
Paste this into the terminal:
```bash
bash <(curl -s https://raw.githubusercontent.com/darthorimar/rekot/master/install.sh)
```Or if you prefer wget:
```bash
bash <(wget -qO- https://raw.githubusercontent.com/darthorimar/rekot/master/install.sh)
```## ✨ Features
### Multiline Code Editing
A full-fledged multiline code editor with code highlighting
### Multiple Cells
With results that can be reused between the cells
### Code Completion
### In-editor Code Highlighting
## 🧪 Compatibility
* Tested on _macOS Sequoia 15.2_ on _iTerm2_ and _Terminal.app_
* Not tested on _Linux_ or _Windows_## ⚠️ Known Problems
On macOS Sequoia, some text may be printed on the terminal like:
```
2025-01-28 23:39:24.855 java[2091:30776] +[IMKClient subclass]: chose IMKClient_Modern
2025-01-28 23:39:24.855 java[2091:30776] +[IMKInputSession subclass]: chose IMKInputSession_Modern
```See https://discussions.apple.com/thread/255761734
As a workaround:
- On Mac systems, ReKot occasionally fully refreshes the screen at some interval.
- You can press `Ctrl+R` to manually refresh the screen.## 🛠️ Building/Developing ReKot
Currently, 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.
To start developing/building ReKot:
1. Clone the Kotlin on the branch `rekot` repository from https://github.com/darthorimar/kotlin/tree/rekot.
2. Run `./gradlew installIdeArtifacts -Ppublish.ide.plugin.dependencies=true` in the cloned repository. This will install the Analysis API to your Maven Local.
3. Now you can start working in the ReKot repository, and it can be imported into IntelliJ IDEA.
4. Gradle tasks:
- `:app:buildProd` - This will create a release (a shadow jar) in `app/build/libs/rekot-VERSION.jar`.
- `:app:run` - Run the app in the Swing-based terminal emulator, which sometimes can look quite blurry, but it's useful for debugging.