tryit

Create cli snippets for quickly trying clojure libraries.

EPL-1.0 License

Stars
5

tryit

Create cli snippets for quickly trying clojure libraries.

Try it!

Create a command that invokes a function

clj -Sdeps {:deps\ {com.phronemophobic/tryit\ {:mvn/version\ \"1.1\"}}} -X com.phronemophobic.tryit/exec

Create a command that invokes a namespace's main

clj -Sdeps {:deps\ {com.phronemophobic/tryit\ {:mvn/version\ \"1.1\"}}} -M -m com.phronemophobic.tryit

Create a command that evals expressions in a namespace

clj -Sdeps {:deps\ {com.phronemophobic/tryit\ {:mvn/version\ \"1.1\"}}} -M -e \(require\ \(quote\ com.phronemophobic.tryit\)\)\(ns\ com.phronemophobic.tryit\)\(eval\)

Alias Usage


{
 :aliases {
           :tryit
           {:exec-fn com.phronemophobic.tryit/cli
            :replace-deps {com.phronemophobic/tryit {:mvn/version "1.1"}}}
           }
}
$ clj -X:tryit
Tryit: Create cli snippets for quickly trying clojure libraries.

Usage:
  clj -X:tryit :type type

:type should be one of eval, exec or main.
   :type eval - Create a command that evals expressions in a namespace
   :type exec - Create a command that invokes a function
   :type main - Create a command that invokes a namespace's main

Example:

$ clj -X:tryit :type exec
deps: {com.phronemophobic/tryit {:mvn/version "1.1"}}
f: com.phronemophobic.tryit/cli

clj -Sdeps {:deps\ {com.phronemophobic/tryit\ {:mvn/version\ \"1.1\"}}} -X com.phronemophobic.tryit/cli

Programmatic Usage

(require '[com.phronemophobic.tryit :as tryit])

;; Three main functions that all return strings

;; Create an exec function command
(tryit/escape-clojure-exec '{com.phronemophobic/tryit {:mvn/version "1.1"}}
                           'com.phronemophobic.tryit/exec)

;; Create a main function command
(tryit/escape-clojure-main '{com.phronemophobic/tryit {:mvn/version "1.1"}}
                           'com.phronemophobic.tryit)

;; Create an eval function command
(tryit/escape-clojure-eval '{com.phronemophobic/tryit {:mvn/version "1.1"}}
                           'com.phronemophobic.tryit
                           '[(eval)])

License

Copyright © 2022 Adrian

Distributed under the Eclipse Public License version 1.0.