Compare commits

...

1 commit

Author SHA1 Message Date
Michiel Borkent
b1f3db78ed add csk 2021-02-07 13:46:30 +01:00
8 changed files with 69 additions and 2 deletions

View file

@ -7,6 +7,7 @@
"feature-hiccup" "feature-hiccup"
"feature-test-check" "feature-test-check"
"feature-spec-alpha" "feature-spec-alpha"
"feature-camel-snake-kebab"
"pods/src" "pods/src"
"babashka.nrepl/src" "babashka.nrepl/src"
"depstar/src" "process/src" "depstar/src" "process/src"
@ -34,7 +35,8 @@
babashka/clojure-lanterna {:mvn/version "0.9.8-SNAPSHOT"} babashka/clojure-lanterna {:mvn/version "0.9.8-SNAPSHOT"}
org.clojure/math.combinatorics {:mvn/version "0.1.6"} org.clojure/math.combinatorics {:mvn/version "0.1.6"}
org.clojure/core.match {:mvn/version "1.0.0"} org.clojure/core.match {:mvn/version "1.0.0"}
hiccup/hiccup {:mvn/version "2.0.0-alpha2"}} hiccup/hiccup {:mvn/version "2.0.0-alpha2"}
camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.2"}}
:aliases {:main :aliases {:main
{:main-opts ["-m" "babashka.main"]} {:main-opts ["-m" "babashka.main"]}
:profile :profile

View file

@ -0,0 +1,41 @@
(ns babashka.impl.csk
{:no-doc true}
(:require [camel-snake-kebab.core :as csk]
[sci.core :as sci]))
(def cns (sci/create-ns 'camel.snake.kabe nil))
#_(do (require '[camel-snake-kebab.core])
(doseq [k (sort (keys (ns-publics 'camel-snake-kebab.core)))]
(println (str "'" k) (format "(sci/copy-var csk/%s cns)" k))))
(def csk-namespace
{'->Camel_Snake_Case (sci/copy-var csk/->Camel_Snake_Case cns)
'->Camel_Snake_Case_Keyword (sci/copy-var csk/->Camel_Snake_Case_Keyword cns)
'->Camel_Snake_Case_String (sci/copy-var csk/->Camel_Snake_Case_String cns)
'->Camel_Snake_Case_Symbol (sci/copy-var csk/->Camel_Snake_Case_Symbol cns)
'->HTTP-Header-Case (sci/copy-var csk/->HTTP-Header-Case cns)
'->HTTP-Header-Case-Keyword (sci/copy-var csk/->HTTP-Header-Case-Keyword cns)
'->HTTP-Header-Case-String (sci/copy-var csk/->HTTP-Header-Case-String cns)
'->HTTP-Header-Case-Symbol (sci/copy-var csk/->HTTP-Header-Case-Symbol cns)
'->PascalCase (sci/copy-var csk/->PascalCase cns)
'->PascalCaseKeyword (sci/copy-var csk/->PascalCaseKeyword cns)
'->PascalCaseString (sci/copy-var csk/->PascalCaseString cns)
'->PascalCaseSymbol (sci/copy-var csk/->PascalCaseSymbol cns)
'->SCREAMING_SNAKE_CASE (sci/copy-var csk/->SCREAMING_SNAKE_CASE cns)
'->SCREAMING_SNAKE_CASE_KEYWORD (sci/copy-var csk/->SCREAMING_SNAKE_CASE_KEYWORD cns)
'->SCREAMING_SNAKE_CASE_STRING (sci/copy-var csk/->SCREAMING_SNAKE_CASE_STRING cns)
'->SCREAMING_SNAKE_CASE_SYMBOL (sci/copy-var csk/->SCREAMING_SNAKE_CASE_SYMBOL cns)
'->camelCase (sci/copy-var csk/->camelCase cns)
'->camelCaseKeyword (sci/copy-var csk/->camelCaseKeyword cns)
'->camelCaseString (sci/copy-var csk/->camelCaseString cns)
'->camelCaseSymbol (sci/copy-var csk/->camelCaseSymbol cns)
'->kebab-case (sci/copy-var csk/->kebab-case cns)
'->kebab-case-keyword (sci/copy-var csk/->kebab-case-keyword cns)
'->kebab-case-string (sci/copy-var csk/->kebab-case-string cns)
'->kebab-case-symbol (sci/copy-var csk/->kebab-case-symbol cns)
'->snake_case (sci/copy-var csk/->snake_case cns)
'->snake_case_keyword (sci/copy-var csk/->snake_case_keyword cns)
'->snake_case_string (sci/copy-var csk/->snake_case_string cns)
'->snake_case_symbol (sci/copy-var csk/->snake_case_symbol cns)
'convert-case (sci/copy-var csk/convert-case cns)})

View file

@ -53,6 +53,8 @@
:dependencies [[hiccup/hiccup "2.0.0-alpha2"]]} :dependencies [[hiccup/hiccup "2.0.0-alpha2"]]}
:feature/test-check {:source-paths ["feature-test-check"]} :feature/test-check {:source-paths ["feature-test-check"]}
:feature/spec-alpha {:source-paths ["feature-spec-alpha"]} :feature/spec-alpha {:source-paths ["feature-spec-alpha"]}
:feature/camel-snake-kebab {:source-paths ["feature-camel-snake-kebab"]
:dependencies [[camel-snake-kebab "0.4.2"]]}
:test [:feature/xml :test [:feature/xml
:feature/lanterna :feature/lanterna
:feature/yaml :feature/yaml
@ -68,6 +70,7 @@
:feature/hiccup :feature/hiccup
:feature/test-check :feature/test-check
:feature/spec-alpha :feature/spec-alpha
:feature/camel-snake-kebab
{:dependencies [[clj-commons/conch "0.9.2"] {:dependencies [[clj-commons/conch "0.9.2"]
[com.clojure-goes-fast/clj-async-profiler "0.4.1"] [com.clojure-goes-fast/clj-async-profiler "0.4.1"]
[com.opentable.components/otj-pg-embedded "0.13.3"]]}] [com.opentable.components/otj-pg-embedded "0.13.3"]]}]

View file

@ -103,6 +103,7 @@ then
export BABASHKA_FEATURE_HICCUP="${BABASHKA_FEATURE_HICCUP:-false}" export BABASHKA_FEATURE_HICCUP="${BABASHKA_FEATURE_HICCUP:-false}"
export BABASHKA_FEATURE_TEST_CHECK="${BABASHKA_FEATURE_TEST_CHECK:-false}" export BABASHKA_FEATURE_TEST_CHECK="${BABASHKA_FEATURE_TEST_CHECK:-false}"
export BABASHKA_FEATURE_SPEC_ALPHA="${BABASHKA_FEATURE_SPEC_ALPHA:-false}" export BABASHKA_FEATURE_SPEC_ALPHA="${BABASHKA_FEATURE_SPEC_ALPHA:-false}"
export BABASHKA_FEATURE_CAMEL_SNAKE_KEBAB="${BABASHKA_FEATURE_CAMEL_SNAKE_KEBAB:-false}"
fi fi
"$GRAALVM_HOME/bin/native-image" "${args[@]}" "$GRAALVM_HOME/bin/native-image" "${args[@]}"

View file

@ -146,6 +146,14 @@ else
BABASHKA_LEIN_PROFILES+=",-feature/spec-alpha" BABASHKA_LEIN_PROFILES+=",-feature/spec-alpha"
fi fi
if [ "$BABASHKA_FEATURE_CAMEL_SNAKE_KEBAB" != "false" ]
then
BABASHKA_LEIN_PROFILES+=",+feature/camel-snake-kebab"
else
BABASHKA_LEIN_PROFILES+=",-feature/camel-snake-kebab"
fi
if [ -z "$BABASHKA_JAR" ]; then if [ -z "$BABASHKA_JAR" ]; then
lein with-profiles "$BABASHKA_LEIN_PROFILES,+reflection,-uberjar" do run lein with-profiles "$BABASHKA_LEIN_PROFILES,+reflection,-uberjar" do run
lein with-profiles "$BABASHKA_LEIN_PROFILES" do clean, uberjar lein with-profiles "$BABASHKA_LEIN_PROFILES" do clean, uberjar

View file

@ -112,6 +112,12 @@ set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,+feature/spec-alpha
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/spec-alpha set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/spec-alpha
) )
if not "%BABASHKA_FEATURE_CAMEL_SNAKE_KEBAB%"=="false" (
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,+feature/camel-snake-kebab
) else (
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/camel-snake-kebab
)
call lein with-profiles %BABASHKA_LEIN_PROFILES% bb "(+ 1 2 3)" call lein with-profiles %BABASHKA_LEIN_PROFILES% bb "(+ 1 2 3)"
call lein with-profiles %BABASHKA_LEIN_PROFILES%,+reflection,-uberjar do run call lein with-profiles %BABASHKA_LEIN_PROFILES%,+reflection,-uberjar do run

View file

@ -14,6 +14,7 @@
(def core-match? (not= "false" (System/getenv "BABASHKA_FEATURE_CORE_MATCH"))) (def core-match? (not= "false" (System/getenv "BABASHKA_FEATURE_CORE_MATCH")))
(def hiccup? (not= "false" (System/getenv "BABASHKA_FEATURE_HICCUP"))) (def hiccup? (not= "false" (System/getenv "BABASHKA_FEATURE_HICCUP")))
(def test-check? (not= "false" (System/getenv "BABASHKA_FEATURE_TEST_CHECK"))) (def test-check? (not= "false" (System/getenv "BABASHKA_FEATURE_TEST_CHECK")))
(def camel-snake-kebab? (not= "false" (System/getenv "BABASHKA_FEATURE_CAMEL_SNAKE_KEBAB")))
;; excluded by default ;; excluded by default
(def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC"))) (def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC")))
@ -66,3 +67,6 @@
(when spec-alpha? (when spec-alpha?
(require '[babashka.impl.spec])) (require '[babashka.impl.spec]))
(when camel-snake-kebab?
(require '[babashka.impl.csk]))

View file

@ -421,7 +421,9 @@ Use -- to separate script command line args from bb command line args.
features/spec-alpha? (-> (assoc ;; spec features/spec-alpha? (-> (assoc ;; spec
'clojure.spec.alpha @(resolve 'babashka.impl.spec/spec-namespace) 'clojure.spec.alpha @(resolve 'babashka.impl.spec/spec-namespace)
'clojure.spec.gen.alpha @(resolve 'babashka.impl.spec/gen-namespace) 'clojure.spec.gen.alpha @(resolve 'babashka.impl.spec/gen-namespace)
'clojure.spec.test.alpha @(resolve 'babashka.impl.spec/test-namespace))))) 'clojure.spec.test.alpha @(resolve 'babashka.impl.spec/test-namespace)))
features/camel-snake-kebab? (-> (assoc
'camel-snake-kebab.core @(resolve 'babashka.impl.csk/csk-namespace)))))
(def imports (def imports
'{ArithmeticException java.lang.ArithmeticException '{ArithmeticException java.lang.ArithmeticException