import "./cljs_env.js";
goog.provide('clojure_eval.clojure');
var module$node_modules$$codemirror$history$dist$index_cjs=shadow.js.require("module$node_modules$$codemirror$history$dist$index_cjs", {});
var module$node_modules$$codemirror$state$dist$index_cjs=shadow.js.require("module$node_modules$$codemirror$state$dist$index_cjs", {});
var module$node_modules$$codemirror$view$dist$index_cjs=shadow.js.require("module$node_modules$$codemirror$view$dist$index_cjs", {});
var module$node_modules$$lezer$highlight$dist$index_cjs=shadow.js.require("module$node_modules$$lezer$highlight$dist$index_cjs", {});
var module$node_modules$$codemirror$language$dist$index_cjs=shadow.js.require("module$node_modules$$codemirror$language$dist$index_cjs", {});
var module$node_modules$$nextjournal$lezer_clojure$dist$index_cjs=shadow.js.require("module$node_modules$$nextjournal$lezer_clojure$dist$index_cjs", {});
clojure_eval.clojure.fold_node_props = (function (){var coll_span = (function (tree){
return ({"from": (clojure_eval.node.start(tree) + (1)), "to": (clojure_eval.node.end(tree) - (1))});
});
return ({"Vector":coll_span,"Map":coll_span,"List":coll_span});
})();
clojure_eval.clojure.style_tags = cljs.core.clj__GT_js(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"LineComment","LineComment",1087879618),new cljs.core.Keyword(null,"NS","NS",-764805694),"\"\\\"\"","VarName/Symbol","DocString/...",new cljs.core.Keyword(null,"Boolean","Boolean",20610060),new cljs.core.Keyword(null,"Keyword","Keyword",1804369776),new cljs.core.Keyword(null,"Number","Number",2146289584),new cljs.core.Keyword(null,"RegExp","RegExp",137681940),new cljs.core.Keyword(null,"StringContent","StringContent",-877262859),"Operator/Symbol",new cljs.core.Keyword(null,"Discard!","Discard!",-1586397699),new cljs.core.Keyword(null,"DefLike","DefLike",851541087),new cljs.core.Keyword(null,"Nil","Nil",-1671759041)],[module$node_modules$$lezer$highlight$dist$index_cjs.tags.lineComment,module$node_modules$$lezer$highlight$dist$index_cjs.tags.keyword,module$node_modules$$lezer$highlight$dist$index_cjs.tags.string,module$node_modules$$lezer$highlight$dist$index_cjs.tags.definition(module$node_modules$$lezer$highlight$dist$index_cjs.tags.variableName),module$node_modules$$lezer$highlight$dist$index_cjs.tags.emphasis,module$node_modules$$lezer$highlight$dist$index_cjs.tags.atom,module$node_modules$$lezer$highlight$dist$index_cjs.tags.atom,module$node_modules$$lezer$highlight$dist$index_cjs.tags.number,module$node_modules$$lezer$highlight$dist$index_cjs.tags.regexp,module$node_modules$$lezer$highlight$dist$index_cjs.tags.string,module$node_modules$$lezer$highlight$dist$index_cjs.tags.keyword,module$node_modules$$lezer$highlight$dist$index_cjs.tags.comment,module$node_modules$$lezer$highlight$dist$index_cjs.tags.keyword,module$node_modules$$lezer$highlight$dist$index_cjs.tags.null]));
clojure_eval.clojure.parser = module$node_modules$$nextjournal$lezer_clojure$dist$index_cjs.parser;
clojure_eval.clojure.syntax = (function clojure_eval$clojure$syntax(var_args){
var G__69800 = arguments.length;
switch (G__69800) {
case 0:
return clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$0();

break;
case 1:
return clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));

}
});

(clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$0 = (function (){
return clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$1(clojure_eval.clojure.parser);
}));

(clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$1 = (function (parser){
return module$node_modules$$codemirror$language$dist$index_cjs.LRLanguage.define(({"parser": parser.configure(({"props": [clojure_eval.extensions.formatting.props,module$node_modules$$codemirror$language$dist$index_cjs.foldNodeProp.add(clojure_eval.clojure.fold_node_props),module$node_modules$$lezer$highlight$dist$index_cjs.styleTags(clojure_eval.clojure.style_tags)]}))}));
}));

(clojure_eval.clojure.syntax.cljs$lang$maxFixedArity = 1);

clojure_eval.clojure.complete_keymap = clojure_eval.keymap.complete;
clojure_eval.clojure.default_extensions = [clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$1(module$node_modules$$nextjournal$lezer_clojure$dist$index_cjs.parser),clojure_eval.extensions.close_brackets.extension(),clojure_eval.extensions.match_brackets.extension(),clojure_eval.extensions.selection_history.extension(),clojure_eval.extensions.formatting.ext_format_changed_lines(),clojure_eval.extensions.eval_region.extension(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"modifier","modifier",1634442788),"Alt"], null))];
clojure_eval.clojure.extensions = [module$node_modules$$codemirror$history$dist$index_cjs.history(),module$node_modules$$codemirror$language$dist$index_cjs.syntaxHighlighting(module$node_modules$$codemirror$language$dist$index_cjs.defaultHighlightStyle),module$node_modules$$codemirror$view$dist$index_cjs.drawSelection(),module$node_modules$$codemirror$language$dist$index_cjs.foldGutter(),module$node_modules$$codemirror$state$dist$index_cjs.EditorState.allowMultipleSelections.of(true),clojure_eval.clojure.default_extensions,module$node_modules$$codemirror$view$dist$index_cjs.keymap.of(clojure_eval.clojure.complete_keymap),module$node_modules$$codemirror$view$dist$index_cjs.keymap.of(module$node_modules$$codemirror$history$dist$index_cjs.historyKeymap),clojure_eval.extensions.sci.extension];
clojure_eval.clojure.clojureLanguage = clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$1(module$node_modules$$nextjournal$lezer_clojure$dist$index_cjs.parser);
clojure_eval.clojure.clojure = (function clojure_eval$clojure$clojure(){
return (new module$node_modules$$codemirror$language$dist$index_cjs.LanguageSupport(clojure_eval.clojure.syntax.cljs$core$IFn$_invoke$arity$0(),clojure_eval.clojure.extensions.slice((1))));
});

//# sourceMappingURL=clojure_eval.clojure.js.map
