stateful / runme

DevOps Notebooks Built with Markdown
https://runme.dev
Apache License 2.0
1.19k stars 38 forks source link

List supported languages (non-shell) and contribution guidelines how to add new ones in the docs #355

Open petershaw opened 1 year ago

petershaw commented 1 year ago

I am looking for a list of supported languages and a guide for contributing language runners. Would be cool to habe a contributing section in the docs.

admc commented 1 year ago

Hi @petershaw and thanks for your interest! We actually haven't officially released the languages functionality yet, but it will happen soon. Docs on supported languages and how to contribute more is a great idea 👍

sourishkrout commented 1 year ago

I am looking for a list of supported languages and a guide for contributing language runners. Would be cool to habe a contributing section in the docs.

Thanks for the suggestion, @petershaw. As @admc mentioned, the first release of additional language support will drop shortly. We're planning for next week; including docs of what's supported.

Meanwhile, could you provide an example of what other language(s) you'd be looking to integrate? Just so I can get a better sense? Thank you!

petershaw commented 1 year ago

Sure. I am interested mostly in Swift but would appreciate Perl, Rust, bash, go and Lua as well.

sourishkrout commented 1 year ago

Hi @petershaw, we just release runme v1.7.x a few days ago. It comes with a preview of shebang (aka #!) support. Now you can run perl, lua, and other interpreted languages such as Ruby, Python, Javascript/Typescript, etc out of the box. Needless to say, Shell is already supported (see https://docs.runme.dev/configuration#set-custom-shell for non-default shells).

Support for compiled languages (Golang, Rust, etc) with a build step is still pending. We will spin off a feature request ticket to track that effort. We don't have an ETA here yet.

Here are examples for Perl & Lua. In fact, we'll be releasing a version that will attempt to autocomplete the interpreter for both but for now, this will work just fine: https://gist.githubusercontent.com/sourishkrout/560e075b4cb2ee668610ff5e6e7bd96a/raw/af98ea81b707d11fc8354e6153ee78e8d72598bc/interpreter.md

image
sourishkrout commented 1 year ago

Will be included in next patch release, Perl & Lua support: https://github.com/stateful/runme/commit/3103a79ac158f97e0f054b56dba45375e32eca20 & https://github.com/stateful/runme/commit/a2d7b74de83488dcb90f9dd7011a9f219251196a

petershaw commented 1 year ago

Wonderfull. Thank you very much!