4

Supercharge Kscript with Github Copilot

 1 year ago
source link: https://kau.sh/blog/kscript-copilot/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Supercharge Kscript with Github Copilot

Kaushik Gopal

One of the gifts we got from Kotlin 1.3.70 was the ability to effortlessly run a kscript (Kotlin script) from the command line. All you need to do is add the suffix .main.kts.

Seriously, this is all you need to do:

brew install kotlin

echo '#!/usr/bin/env kotlin' > hello-world.main.kts

chmod +x hello.main.kts
./hello.main.kts

# 💥

With this 0 friction setup, there’s little reason for me to ever write a bash script again. I get to write my script in Kotlin — a modern & beautiful language. But slap on Github Copilot and I think we’ve unlocked the holy grail of quick scripting.

To prove my point, I recorded a video live coding a script tackling a moderately involved task. Here’s what I wanted to do:

  • Take a directory path as argument
  • Make sure it’s valid and has at least one .md (markdown) file in it
  • Search the front matter for the “categories” array
  • pluck all the categories from all the files
  • de-duplicate, sort and print them out

The entire thing took less than 4½ minutes. This is including me figuring out how to get autocomplete working in my IDE, restarting it etc.

Sure I could try to wield a one-line command and do the same thing for this use case but it’s so much nicer in Kotlin.

If you’re intrigued, feel free to checkout my github repo of kscripts. I try to tackle a variety of common use cases in there

P.S: The text snippet I use in there kscript;; basically gives me a starter hello world template. Not cheating, I promise.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK