Skip to content

Commit ba3e996

Browse files
author
Oliver Caldwell
committed
Re-indent and prefix reults with res= instead of return lines
1 parent 46e3400 commit ba3e996

File tree

2 files changed

+44
-46
lines changed

2 files changed

+44
-46
lines changed

fnl/conjure/client/lua/neovim.fnl

+43-44
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
(def buf-suffix ".lua")
1616
(def comment-prefix "-- ")
1717

18-
(config.merge
18+
(config.merge
1919
{:client
2020
{:lua
2121
{:neovim
@@ -48,15 +48,14 @@
4848

4949
(defn- display [out ret err]
5050
(let [outs (->> (str.split (or out "") "\n")
51-
(a.filter #(~= "" $1))
52-
(a.map #(.. comment-prefix "(out) " $1)))
51+
(a.filter #(~= "" $1))
52+
(a.map #(.. comment-prefix "(out) " $1)))
5353
errs (->> (str.split (or err "") "\n")
54-
(a.filter #(~= "" $1))
55-
(a.map #(.. comment-prefix "(err) " $1)))]
54+
(a.filter #(~= "" $1))
55+
(a.map #(.. comment-prefix "(err) " $1)))]
5656
(log.append outs)
5757
(log.append errs)
58-
(log.append ["return"]) ;; add this new line so that syntax-highlighting and other plugins maybe happier
59-
(log.append (str.split (vim.inspect ret) "\n"))))
58+
(log.append (str.split (.. "res = " (vim.inspect ret)) "\n"))))
6059

6160
(defn- lua-compile [opts]
6261
(if (= opts.origin "file")
@@ -66,73 +65,73 @@
6665

6766
(defn default-env []
6867
(let [base (setmetatable {:REDIRECTED-OUTPUT ""
69-
:io (setmetatable {} {:__index _G.io})}
68+
:io (setmetatable {} {:__index _G.io})}
7069
{:__index _G})
71-
print-redirected
72-
(fn [...]
70+
print-redirected
71+
(fn [...]
7372
(tset base :REDIRECTED-OUTPUT
74-
(.. base.REDIRECTED-OUTPUT (str.join "\t" [...]) "\n")))
75-
io-write-redirected
76-
(fn [...]
73+
(.. base.REDIRECTED-OUTPUT (str.join "\t" [...]) "\n")))
74+
io-write-redirected
75+
(fn [...]
7776
(tset base :REDIRECTED-OUTPUT
78-
(.. base.REDIRECTED-OUTPUT (str.join [...]))))
77+
(.. base.REDIRECTED-OUTPUT (str.join [...]))))
7978
io-read-redirected
8079
(fn []
8180
(.. (or (extract.prompt "Input required: ") "") "\n"))]
8281
(tset base :print print-redirected)
8382
(tset base.io :write io-write-redirected)
8483
(tset base.io :read io-read-redirected)
8584
base))
86-
85+
8786
(defn- pcall-default [f]
8887
(let [env (default-env)]
8988
(setfenv f env)
9089
(let [(status ret) (pcall f)]
9190
(values status ret env.REDIRECTED-OUTPUT))))
92-
91+
9392
;; this function is ugly due to the imperative interface of debug.getlocal
9493
(defn- pcall-persistent-debug [file f]
9594
(tset repls file (or (. repls file) {}))
9695
(tset (. repls file) :env (or (. repls file :env) (default-env)))
9796
(tset (. repls file :env) :REDIRECTED-OUTPUT "") ;; Clear last output
9897
(setfenv f (. repls file :env))
99-
(let [collect-env
100-
(fn [_ _]
101-
(debug.sethook)
102-
(var i 1)
103-
(var n true)
104-
(var v nil)
105-
(while n
106-
(set (n v) (debug.getlocal 2 i))
107-
(if n
108-
(do
109-
(tset (. repls file :env) n v)
110-
(set i (+ i 1))))))]
98+
(let [collect-env
99+
(fn [_ _]
100+
(debug.sethook)
101+
(var i 1)
102+
(var n true)
103+
(var v nil)
104+
(while n
105+
(set (n v) (debug.getlocal 2 i))
106+
(if n
107+
(do
108+
(tset (. repls file :env) n v)
109+
(set i (+ i 1))))))]
111110
(debug.sethook collect-env :r)
112111
(let [(status ret) (pcall f)]
113112
(values status ret (. repls file :env :REDIRECTED-OUTPUT)))))
114-
113+
115114
(defn- lua-eval [opts]
116115
(let [(f e) (lua-compile opts)]
117116
(if f
118-
(let [pcall-custom (match (cfg [:persistent])
119-
:debug (partial pcall-persistent-debug opts.file-path)
120-
_ pcall-default)
121-
(status ret out) (pcall-custom f)]
122-
(if status
123-
(values out ret "")
124-
(values out nil (.. "Execution error: " ret))))
125-
(values "" nil (.. "Compilation error: " e)))))
117+
(let [pcall-custom (match (cfg [:persistent])
118+
:debug (partial pcall-persistent-debug opts.file-path)
119+
_ pcall-default)
120+
(status ret out) (pcall-custom f)]
121+
(if status
122+
(values out ret "")
123+
(values out nil (.. "Execution error: " ret))))
124+
(values "" nil (.. "Compilation error: " e)))))
126125

127126
(defn eval-str [opts]
128127
(let [(out ret err) (lua-eval opts)]
129-
(display out ret err)
130-
(when opts.on-result
131-
(opts.on-result (vim.inspect ret)))))
128+
(display out ret err)
129+
(when opts.on-result
130+
(opts.on-result (vim.inspect ret)))))
132131

133-
(defn eval-file [opts]
132+
(defn eval-file [opts]
134133
(reset-env opts.file-path)
135134
(let [(out ret err) (lua-eval opts)]
136-
(display out ret err)
137-
(when opts.on-result
138-
(opts.on-result (vim.inspect ret)))))
135+
(display out ret err)
136+
(when opts.on-result
137+
(opts.on-result (vim.inspect ret)))))

lua/conjure/client/lua/neovim.lua

+1-2
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ local function display(out, ret, err)
7272
errs = a.map(_4_, a.filter(_5_, str.split((err or ""), "\n")))
7373
log.append(outs)
7474
log.append(errs)
75-
log.append({"return"})
76-
return log.append(str.split(vim.inspect(ret), "\n"))
75+
return log.append(str.split(("res = " .. vim.inspect(ret)), "\n"))
7776
end
7877
_2amodule_locals_2a["display"] = display
7978
local function lua_compile(opts)

0 commit comments

Comments
 (0)