https://github.com/ramytanios/watch
A watch command line tool written in Scala.
https://github.com/ramytanios/watch
cats-effect fs2 nix scala
Last synced: 8 months ago
JSON representation
A watch command line tool written in Scala.
- Host: GitHub
- URL: https://github.com/ramytanios/watch
- Owner: ramytanios
- Created: 2023-10-29T08:58:46.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-21T09:19:38.000Z (over 2 years ago)
- Last Synced: 2024-01-21T10:26:39.627Z (over 2 years ago)
- Topics: cats-effect, fs2, nix, scala
- Language: Scala
- Homepage:
- Size: 40 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
A simple `watch` command line tool for watching a specific directory and
(re)-executing a specific command on every change, with possible throttling. ⚡
Using [Scala-CLI](https://scala-cli.virtuslab.org/) as build tool. ✅
Based on the Scala [typelevel](https://typelevel.org/) stack. ✅
If you have [nix](https://nixos.org/download.html) installed and [flakes enabled](https://nixos.wiki/wiki/Flakes#Enable_flakes):
```shell
nix run github:ramytanios/watch#jvm --refresh
```
For developing, there is a corresponding dev shell:
```shell
nix develop
```
# Motivation
[Smithy](https://smithy.io/2.0/index.html) is a a great Interface Definition Language. [Smithy4s](https://disneystreaming.github.io/smithy4s/) is a codegen for generating Scala code based on Smithy files.
It is certainly tedious to manually regenerate the Scala code on each smithy file change.
👉Watching the `.smithy` files and regenerate the corresponding Scala code programatically is certainly more idiomatic.