@atomist/clj-editors
Version:
editor functions that use rewrite-clj and other important things from the clojurescript ecosystem
124 lines (110 loc) • 4.14 kB
JavaScript
// Compiled by ClojureScript 1.10.238 {:target :nodejs}
goog.provide('editors.cljfmt');
goog.require('cljs.core');
goog.require('cljfmt.core');
goog.require('cljs_node_io.core');
goog.require('cljs.pprint');
goog.require('atomist.cljs_log');
editors.cljfmt.grep = (function editors$cljfmt$grep(re,dir){
return cljs.core.filter.call(null,(function (p1__22987_SHARP_){
return cljs.core.re_find.call(null,re,p1__22987_SHARP_);
}),cljs_node_io.core.file_seq.call(null,dir));
});
editors.cljfmt.find_files = (function editors$cljfmt$find_files(dir){
var f = cljs_node_io.core.file.call(null,dir);
if(cljs.core.truth_(f.isDirectory())){
return editors.cljfmt.grep.call(null,/\.clj[sx]?$/,dir);
} else {
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [f], null);
}
});
/**
* Format files with cljfmt
*/
editors.cljfmt.cljfmt = (function editors$cljfmt$cljfmt(dir){
atomist.cljs_log.info.call(null,"call cljfmt on ",dir);
var files = editors.cljfmt.find_files.call(null,dir);
var wrote = cljs.core.atom.call(null,false);
atomist.cljs_log.infof.call(null,"Checking %s files...",cljs.core.count.call(null,files));
var seq__22988_22996 = cljs.core.seq.call(null,files);
var chunk__22990_22997 = null;
var count__22991_22998 = (0);
var i__22992_22999 = (0);
while(true){
if((i__22992_22999 < count__22991_22998)){
var f_23000 = cljs.core._nth.call(null,chunk__22990_22997,i__22992_22999);
var original_23001 = cljs_node_io.core.slurp.call(null,f_23000);
try{var revised_23002 = cljfmt.core.reformat_string.call(null,original_23001);
if(cljs.core.not_EQ_.call(null,original_23001,revised_23002)){
atomist.cljs_log.info.call(null,"Reformatting",f_23000);
cljs_node_io.core.spit.call(null,f_23000,revised_23002);
atomist.cljs_log.info.call(null,"Written...");
cljs.core.reset_BANG_.call(null,wrote,true);
} else {
atomist.cljs_log.info.call(null,"No need to reformat",f_23000);
}
}catch (e22994){var e_23003 = e22994;
atomist.cljs_log.warn.call(null,e_23003,"Failed to format file: ",f_23000);
}
var G__23004 = seq__22988_22996;
var G__23005 = chunk__22990_22997;
var G__23006 = count__22991_22998;
var G__23007 = (i__22992_22999 + (1));
seq__22988_22996 = G__23004;
chunk__22990_22997 = G__23005;
count__22991_22998 = G__23006;
i__22992_22999 = G__23007;
continue;
} else {
var temp__5457__auto___23008 = cljs.core.seq.call(null,seq__22988_22996);
if(temp__5457__auto___23008){
var seq__22988_23009__$1 = temp__5457__auto___23008;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__22988_23009__$1)){
var c__4319__auto___23010 = cljs.core.chunk_first.call(null,seq__22988_23009__$1);
var G__23011 = cljs.core.chunk_rest.call(null,seq__22988_23009__$1);
var G__23012 = c__4319__auto___23010;
var G__23013 = cljs.core.count.call(null,c__4319__auto___23010);
var G__23014 = (0);
seq__22988_22996 = G__23011;
chunk__22990_22997 = G__23012;
count__22991_22998 = G__23013;
i__22992_22999 = G__23014;
continue;
} else {
var f_23015 = cljs.core.first.call(null,seq__22988_23009__$1);
var original_23016 = cljs_node_io.core.slurp.call(null,f_23015);
try{var revised_23017 = cljfmt.core.reformat_string.call(null,original_23016);
if(cljs.core.not_EQ_.call(null,original_23016,revised_23017)){
atomist.cljs_log.info.call(null,"Reformatting",f_23015);
cljs_node_io.core.spit.call(null,f_23015,revised_23017);
atomist.cljs_log.info.call(null,"Written...");
cljs.core.reset_BANG_.call(null,wrote,true);
} else {
atomist.cljs_log.info.call(null,"No need to reformat",f_23015);
}
}catch (e22995){var e_23018 = e22995;
atomist.cljs_log.warn.call(null,e_23018,"Failed to format file: ",f_23015);
}
var G__23019 = cljs.core.next.call(null,seq__22988_23009__$1);
var G__23020 = null;
var G__23021 = (0);
var G__23022 = (0);
seq__22988_22996 = G__23019;
chunk__22990_22997 = G__23020;
count__22991_22998 = G__23021;
i__22992_22999 = G__23022;
continue;
}
} else {
}
}
break;
}
if(cljs.core.truth_(cljs.core.deref.call(null,wrote))){
atomist.cljs_log.info.call(null,"Finished formatting");
return true;
} else {
return atomist.cljs_log.info.call(null,"No clojure files formatted");
}
});
//# sourceMappingURL=cljfmt.js.map