return supported dialects
[lisp-parkour.git] / init.lua
blobf99b3bd9a51ef0cfb3288626f2e4f34a52f1061f
1 local supports = {lisp = true, scheme = true, clojure = true, fennel = true}
2 local cwd = ...
4 local walker = require(cwd..".walker")
5 local parser = require(cwd..".parser")
6 local input = require(cwd..".input")
7 local edit = require(cwd..".edit")
8 local node = require(cwd..".node")
10 return {function(dialect, read, write, delete, eol_at, bol_at)
11 local f = require(cwd..".fmt."..dialect)
12 local n = node.new(read)
13 local p, d1, D2 = parser.new(dialect, n, read)
14 local w = walker.new(p, eol_at, bol_at)
15 local e = edit.new(p, w, f, write, delete, eol_at)
16 local i = input.new(p, d1, D2, w, e, write, eol_at, bol_at)
17 return {parser = p, walker = w, input = i, edit = e}
18 end, supports}