add initial commands

This commit is contained in:
2025-08-11 09:39:14 -09:00
parent ec39d6090d
commit 5ac385a063
25 changed files with 197 additions and 211 deletions
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/autoload.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.autoload"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.autoload"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/compile.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.compile"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.compile"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,14 +10,14 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a, fennel, fs, nvim = autoload("conjure-macroexpand.aniseed.core"), autoload("conjure-macroexpand.aniseed.fennel"), autoload("conjure-macroexpand.aniseed.fs"), autoload("conjure-macroexpand.aniseed.nvim")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a, fennel, fs, nvim = autoload("conjure-macroreplace.aniseed.core"), autoload("conjure-macroreplace.aniseed.fennel"), autoload("conjure-macroreplace.aniseed.fs"), autoload("conjure-macroreplace.aniseed.nvim")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["fennel"] = fennel
_2amodule_locals_2a["fs"] = fs
_2amodule_locals_2a["nvim"] = nvim
local function wrap_macros(code, opts)
local macros_module = "conjure-macroexpand.aniseed.macros"
local macros_module = "conjure-macroreplace.aniseed.macros"
local filename
do
local _1_ = a.get(opts, "filename")
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/core.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.core"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.core"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local view = autoload("conjure-macroexpand.aniseed.view")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local view = autoload("conjure-macroreplace.aniseed.view")
do end (_2amodule_locals_2a)["view"] = view
math.randomseed(os.time())
local function rand(n)
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/env.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.env"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.env"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local compile, fennel, fs, nvim = autoload("conjure-macroexpand.aniseed.compile"), autoload("conjure-macroexpand.aniseed.fennel"), autoload("conjure-macroexpand.aniseed.fs"), autoload("conjure-macroexpand.aniseed.nvim")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local compile, fennel, fs, nvim = autoload("conjure-macroreplace.aniseed.compile"), autoload("conjure-macroreplace.aniseed.fennel"), autoload("conjure-macroreplace.aniseed.fs"), autoload("conjure-macroreplace.aniseed.nvim")
do end (_2amodule_locals_2a)["compile"] = compile
_2amodule_locals_2a["fennel"] = fennel
_2amodule_locals_2a["fs"] = fs
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/eval.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.eval"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.eval"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a, compile, fennel, fs, nvim = autoload("conjure-macroexpand.aniseed.core"), autoload("conjure-macroexpand.aniseed.compile"), autoload("conjure-macroexpand.aniseed.fennel"), autoload("conjure-macroexpand.aniseed.fs"), autoload("conjure-macroexpand.aniseed.nvim")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a, compile, fennel, fs, nvim = autoload("conjure-macroreplace.aniseed.core"), autoload("conjure-macroreplace.aniseed.compile"), autoload("conjure-macroreplace.aniseed.fennel"), autoload("conjure-macroreplace.aniseed.fs"), autoload("conjure-macroreplace.aniseed.nvim")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["compile"] = compile
_2amodule_locals_2a["fennel"] = fennel
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/fennel.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.fennel"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.fennel"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a, fs, nvim, str = autoload("conjure-macroexpand.aniseed.core"), autoload("conjure-macroexpand.aniseed.fs"), autoload("conjure-macroexpand.aniseed.nvim"), autoload("conjure-macroexpand.aniseed.string")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a, fs, nvim, str = autoload("conjure-macroreplace.aniseed.core"), autoload("conjure-macroreplace.aniseed.fs"), autoload("conjure-macroreplace.aniseed.nvim"), autoload("conjure-macroreplace.aniseed.string")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["fs"] = fs
_2amodule_locals_2a["nvim"] = nvim
@@ -37,7 +37,7 @@ _2amodule_2a["sync-rtp"] = sync_rtp
local state = {["compiler-loaded?"] = false}
_2amodule_locals_2a["state"] = state
local function impl()
local compiler = require("conjure-macroexpand.aniseed.deps.fennel")
local compiler = require("conjure-macroreplace.aniseed.deps.fennel")
if not state["compiler-loaded?"] then
state["compiler-loaded?"] = true
sync_rtp(compiler)
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/fs.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.fs"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.fs"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a, nvim = autoload("conjure-macroexpand.aniseed.core"), autoload("conjure-macroexpand.aniseed.nvim")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a, nvim = autoload("conjure-macroreplace.aniseed.core"), autoload("conjure-macroreplace.aniseed.nvim")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["nvim"] = nvim
local function basename(path)
@@ -136,7 +136,7 @@
;; Only require autoload if it's used.
(when (contains? mod-fns autoload-sym)
(table.insert result `(local ,autoload-sym (. (require "conjure-macroexpand.aniseed.autoload") :autoload)))))
(table.insert result `(local ,autoload-sym (. (require "conjure-macroreplace.aniseed.autoload") :autoload)))))
;; When we have some keys insert the key/vals pairs locals.
;; If this is empty we end up generating invalid Lua.
@@ -1,8 +1,8 @@
local _2afile_2a = "fnl/aniseed/nvim.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.nvim"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.nvim"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = require("conjure-macroexpand.aniseed.deps.nvim")
package.loaded[_2amodule_name_2a] = require("conjure-macroreplace.aniseed.deps.nvim")
_2amodule_2a = package.loaded[_2amodule_name_2a]
end
local _2amodule_locals_2a
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/nvim/util.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.nvim.util"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.nvim.util"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local nvim = autoload("conjure-macroexpand.aniseed.nvim")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local nvim = autoload("conjure-macroreplace.aniseed.nvim")
do end (_2amodule_locals_2a)["nvim"] = nvim
local function normal(keys)
return nvim.ex.silent(("exe \"normal! " .. keys .. "\""))
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/setup.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.setup"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.setup"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a, env, eval, nvim = autoload("conjure-macroexpand.aniseed.core"), autoload("conjure-macroexpand.aniseed.env"), autoload("conjure-macroexpand.aniseed.eval"), autoload("conjure-macroexpand.aniseed.nvim")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a, env, eval, nvim = autoload("conjure-macroreplace.aniseed.core"), autoload("conjure-macroreplace.aniseed.env"), autoload("conjure-macroreplace.aniseed.eval"), autoload("conjure-macroreplace.aniseed.nvim")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["env"] = env
_2amodule_locals_2a["eval"] = eval
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/string.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.string"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.string"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a = autoload("conjure-macroexpand.aniseed.core")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a = autoload("conjure-macroreplace.aniseed.core")
do end (_2amodule_locals_2a)["a"] = a
local function join(...)
local args = {...}
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/test.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.test"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.test"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,8 +10,8 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local autoload = (require("conjure-macroexpand.aniseed.autoload")).autoload
local a, fs, nvim, str = autoload("conjure-macroexpand.aniseed.core"), autoload("conjure-macroexpand.aniseed.fs"), autoload("conjure-macroexpand.aniseed.nvim"), autoload("conjure-macroexpand.aniseed.string")
local autoload = (require("conjure-macroreplace.aniseed.autoload")).autoload
local a, fs, nvim, str = autoload("conjure-macroreplace.aniseed.core"), autoload("conjure-macroreplace.aniseed.fs"), autoload("conjure-macroreplace.aniseed.nvim"), autoload("conjure-macroreplace.aniseed.string")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["fs"] = fs
_2amodule_locals_2a["nvim"] = nvim
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/aniseed/view.fnl"
local _2amodule_name_2a = "conjure-macroexpand.aniseed.view"
local _2amodule_name_2a = "conjure-macroreplace.aniseed.view"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,7 +10,7 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local fnl = require("conjure-macroexpand.aniseed.fennel")
local fnl = require("conjure-macroreplace.aniseed.fennel")
do end (_2amodule_locals_2a)["fnl"] = fnl
local function serialise(...)
return fnl.impl().view(...)
@@ -1,5 +1,5 @@
local _2afile_2a = "fnl/conjure-macroexpand/main.fnl"
local _2amodule_name_2a = "conjure-macroexpand.main"
local _2afile_2a = "fnl/conjure-macroreplace/main.fnl"
local _2amodule_name_2a = "conjure-macroreplace.main"
local _2amodule_2a
do
package.loaded[_2amodule_name_2a] = {}
@@ -10,10 +10,12 @@ do
_2amodule_2a["aniseed/locals"] = {}
_2amodule_locals_2a = (_2amodule_2a)["aniseed/locals"]
end
local a, bridge, client, eval, extract, log, mapping, nvim, str = require("conjure-macroexpand.aniseed.core"), require("conjure.bridge"), require("conjure.client"), require("conjure.eval"), require("conjure.extract"), require("conjure.log"), require("conjure.mapping"), require("conjure-macroexpand.aniseed.nvim"), require("conjure-macroexpand.aniseed.string")
local a, bridge, buffer, client, editor, eval, extract, log, mapping, nvim, str = require("conjure-macroreplace.aniseed.core"), require("conjure.bridge"), require("conjure.buffer"), require("conjure.client"), require("conjure.editor"), require("conjure.eval"), require("conjure.extract"), require("conjure.log"), require("conjure.mapping"), require("conjure-macroreplace.aniseed.nvim"), require("conjure-macroreplace.aniseed.string")
do end (_2amodule_locals_2a)["a"] = a
_2amodule_locals_2a["bridge"] = bridge
_2amodule_locals_2a["buffer"] = buffer
_2amodule_locals_2a["client"] = client
_2amodule_locals_2a["editor"] = editor
_2amodule_locals_2a["eval"] = eval
_2amodule_locals_2a["extract"] = extract
_2amodule_locals_2a["log"] = log
@@ -48,73 +50,64 @@ local function clj_macroexpand(expand_cmd)
return clj_client(eval["eval-str"], {origin = "conjure-macroexpand", code = me_form, ["passive?"] = true, ["on-result"] = output_expanded(me_form)})
end
_2amodule_2a["clj-macroexpand"] = clj_macroexpand
local function wrap_emit(name, f)
local function _4_(...)
event.emit(name)
return f(...)
end
return _4_
end
_2amodule_2a["wrap-emit"] = wrap_emit
local dir_str = wrap_emit("doc", __fnl_global__client_2dexec_2dfn("doc", "doc-str"))
local function dir_word()
local _let_5_ = extract.word()
local content = _let_5_["content"]
local range = _let_5_["range"]
local node = _let_5_["node"]
if not core["empty?"](content) then
return dir_str({code = content, range = range, node = node, origin = "word"})
local _let_4_ = extract.word()
local content = _let_4_["content"]
local range = _let_4_["range"]
local node = _let_4_["node"]
if not a["empty?"](content) then
local dir_code = ("(clojure.repl/dir " .. content .. ")")
return clj_client(eval["eval-str"], {code = dir_code, range = range, node = node, origin = "word"})
else
return nil
end
end
_2amodule_2a["dir-word"] = dir_word
local function replace_form()
local buf = vim.api.nvim_win_get_buf(0)
local win = vim.api.nvim_tabpage_get_win(0)
_2amodule_locals_2a["dir-word"] = dir_word
local function replace_with_expanded_form()
local form = extract.form({})
if form then
local _let_7_ = form
local content = _let_7_["content"]
local range = _let_7_["range"]
local node = _let_7_["node"]
local function _8_(result)
buffer.replacerange(buf, range, result)
return editor["go-to"](win, core["get-in"](range, {"start", 1}), core.inc(core["get-in"](range, {"start", 2})))
local _let_6_ = form
local content = _let_6_["content"]
local range = _let_6_["range"]
local buf = vim.api.nvim_win_get_buf(0)
local win = vim.api.nvim_tabpage_get_win(0)
local me_form = ("(" .. (__fnl_global__expand_2dcmd or "clojure.walk/macroexpand-all") .. " '" .. content .. ")")
local function _7_(result)
buffer["replace-range"](buf, range, result)
return editor["go-to"](win, a["get-in"](range, {"start", 1}), a.inc(a["get-in"](range, {"start", 2})))
end
__fnl_global__eval_2dstr({code = content, range = range, node = node, origin = "replace-form", ["suppress-hud?"] = true, ["on-result"] = _8_})
return ("(clojure.core/macroexpand1 " .. form .. ")")
return clj_client(eval["eval-str"], {origin = "conjure-macroreplace", code = me_form, ["passive?"] = true, ["on-result"] = _7_})
else
return nil
end
end
_2amodule_2a["replace-form"] = replace_form
_2amodule_locals_2a["replace-with-expanded-form"] = replace_with_expanded_form
local function add_buf_mappings()
local function _10_()
local function _9_()
return clj_macroexpand()
end
mapping.buf("CljMacroexpand", "cm", _10_, {desc = "Call macroexpand-all on the symbol under the cursor"})
local function _11_()
mapping.buf("CljMacroexpand", "cm", _9_, {desc = "Call macroexpand-all on the symbol under the cursor"})
local function _10_()
return clj_macroexpand("clojure.core/macroexpand")
end
mapping.buf("CljMacroexpand0", "c0", _11_, {desc = "Call macroexpand on the symbol under the cursor"})
local function _12_()
mapping.buf("CljMacroexpand0", "c0", _10_, {desc = "Call macroexpand on the symbol under the cursor"})
local function _11_()
return clj_macroexpand("clojure.core/macroexpand-1")
end
mapping.buf("CljMacroexpand1", "c1", _12_, {desc = "Call macroexpand-1 on the symbol under the cursor"})
local function _13_()
return replace_form()
mapping.buf("CljMacroexpand1", "c1", _11_, {desc = "Call macroexpand-1 on the symbol under the cursor"})
local function _12_()
return replace_with_expanded_form()
end
mapping.buf("CljMacroexpandReplace", "em!", _13_, {desc = "Call macroexpand-1 on the symbol under the cursor then replace that src with the expansion"})
local function _14_()
mapping.buf("CljMacroexpandReplace", "mr", _12_, {desc = "Call macroexpand-1 on the symbol under the cursor then replace that src with the expansion"})
local function _13_()
return dir_word()
end
return mapping.buf("CljDirWord", "em!", _14_, {desc = "Calls (clojure.repl/dir ,,,) for the namespace under the cursor"})
return mapping.buf("CljDirWord", "dw", _13_, {desc = "Calls (clojure.repl/dir ,,,) for the namespace under the cursor"})
end
_2amodule_2a["add-buf-mappings"] = add_buf_mappings
local function init()
if (not nvim.g.conjure_macroexpand_disable_mappings or (0 == nvim.g.conjure_macroexpand_disable_mappings)) then
return nvim.ex.autocmd("FileType", "clojure", bridge["viml->lua"]("conjure-macroexpand.main", "add-buf-mappings"))
return nvim.ex.autocmd("FileType", "clojure", bridge["viml->lua"]("conjure-macroreplace.main", "add-buf-mappings"))
else
return nil
end