better cursor pos when "Deleting into" a quasilist
[lisp-parkour.git] / init.lua
blobec63682828089659331827e818d34ac53f98440b
1 local cwd = ...
3 local walker = require(cwd..".walker")
4 local parser = require(cwd..".parser")
5 local input = require(cwd..".input")
6 local edit = require(cwd..".edit")
7 local node = require(cwd..".node")
9 return function(dialect, read, write, delete, eol_at, bol_at)
10 local f = require(cwd..".fmt."..dialect)
11 local n = node.new(read)
12 local p, d1, D2 = parser.new(dialect, n, read)
13 local w = walker.new(p, eol_at, bol_at)
14 local e = edit.new(p, w, f, write, delete, eol_at)
15 local i = input.new(p, d1, D2, w, e, write, eol_at, bol_at)
16 return {parser = p, walker = w, input = i, edit = e}
17 end