diff options
| author | Mike Vink <> | 2023-04-11 22:39:59 +0200 |
|---|---|---|
| committer | Mike Vink <> | 2023-04-11 22:39:59 +0200 |
| commit | ed09c3ecc940138fda9a63288ec1df18ea9d8f38 (patch) | |
| tree | 0e9b7fc5a4b40803e7a342d2274fc83b25ad56ac /fnl/conf | |
| parent | 73d25fc971ecd3f166d8fd6da663d3494933caad (diff) | |
move stuff
Diffstat (limited to 'fnl/conf')
| -rw-r--r-- | fnl/conf/exctl/init.fnl | 28 | ||||
| -rw-r--r-- | fnl/conf/wict-nvim/builder.fnl (renamed from fnl/conf/exctl/builder.fnl) | 55 | ||||
| -rw-r--r-- | fnl/conf/wict-nvim/effects.fnl (renamed from fnl/conf/exctl/effects.fnl) | 0 | ||||
| -rw-r--r-- | fnl/conf/wict-nvim/frames/frame.fnl (renamed from fnl/conf/exctl/frames/frame.fnl) | 2 | ||||
| -rw-r--r-- | fnl/conf/wict-nvim/frames/vec.fnl (renamed from fnl/conf/exctl/frames/vec.fnl) | 0 | ||||
| -rw-r--r-- | fnl/conf/wict-nvim/init.fnl | 33 | ||||
| -rw-r--r-- | fnl/conf/wictl-nvim/init.fnl | 30 |
7 files changed, 103 insertions, 45 deletions
diff --git a/fnl/conf/exctl/init.fnl b/fnl/conf/exctl/init.fnl deleted file mode 100644 index 0e07bba..0000000 --- a/fnl/conf/exctl/init.fnl +++ /dev/null @@ -1,28 +0,0 @@ -(tset package.loaded :conf.exctl.frames.vec nil) -(local vec (require :conf.exctl.frames.vec)) - -(tset package.loaded :conf.exctl.frames.frame nil) -(local frame (require :conf.exctl.frames.frame)) - -(tset package.loaded :conf.exctl.builder nil) -(local builder (require :conf.exctl.builder)) - -(tset package.loaded :conf.exctl.effects nil) -(local effects (require :conf.exctl.effects)) - -(local root-frame (frame (vec.vec 0 0) (vec.vec vim.o.columns 0) - (vec.vec 0 vim.o.lines))) - -(local painter (-> (builder:new) - (builder.For {:buffer (fn [] 0) - :maps [{:mode [:n :v :o] - :lhs :q - :rhs (fn [effects window] - (fn [] - (effects:close)))}]}) - (builder.Padding 5) - (builder.Beside (-> (builder:new) - (builder.For {:buffer (fn [] 0)}))) - (builder.Build (effects:new)))) - -(painter root-frame) diff --git a/fnl/conf/exctl/builder.fnl b/fnl/conf/wict-nvim/builder.fnl index eb02b2b..177b773 100644 --- a/fnl/conf/exctl/builder.fnl +++ b/fnl/conf/wict-nvim/builder.fnl @@ -1,6 +1,6 @@ -(tset package.loaded :conf.exctl.frames.frame nil) -(local vec (require :conf.exctl.frames.vec)) -(local frame (require :conf.exctl.frames.frame)) +(tset package.loaded :conf.wict-nvim.frames.frame nil) +(local vec (require :conf.wict-nvim.frames.vec)) +(local frame (require :conf.wict-nvim.frames.frame)) (local m {}) ;; Creates a new painter that wraps the paint and close methods of a painter @@ -24,18 +24,34 @@ (vec.vec pad-width (- 1 pad-height)))) (transformed frm)))) +(local beside (fn [p1 p2 size] + (local size (or size 0.5)) + (local left + (transform-painter p1 (vec.vec 0 0) (vec.vec size 0) + (vec.vec 0 1))) + (local right + (transform-painter p2 (vec.vec size 0) (vec.vec 1 0) + (vec.vec size 1))) + (fn [frm] + (left frm) + (right frm)))) + (local builder {}) -;; -(fn builder.For [self partial-painter ...] - (table.insert self.partial-painters partial-painter) - self) (fn builder.Padding [self size] (table.insert self.partial-painters {:op :pad : size}) self) -(fn builder.Beside [self partial-builder] - (table.insert self.partial-painters {:op :beside : partial-builder}) +(fn builder.Beside [self partial-builder size] + (table.insert self.partial-painters {:op :beside : partial-builder : size}) + self) + +(fn builder.LeftOf [self partial-builder size] + (table.insert self.partial-painters {:op :left : partial-builder : size}) + self) + +(fn builder.RightOf [self partial-builder size] + (table.insert self.partial-painters {:op :right : partial-builder : size}) self) (fn builder.build-painter [self effects] @@ -44,9 +60,17 @@ (match partial-painter {:op :pad : size} (do (pad painter size)) + {:op :left : partial-builder} (do + (beside painter + (partial-builder:build-painter effects) + partial-painter.size)) + {:op :right : partial-builder} (do + (beside (partial-builder:build-painter effects) + painter partial-painter.size)) {:op :beside : partial-builder} (do - (P (partial-builder:build-painter effects)) - painter) + (beside painter + (partial-builder:build-painter effects) + partial-painter.size)) {: maps : buffer} (do (local window (effects:new-window maps)) (local painter-ptr painter) @@ -61,16 +85,15 @@ _ painter)))) (fn builder.Build [self effects] - ;; TODO(mike): probably nice to model effects as pub sub pattern to make it rely less on references to mutable tables. (local painter (self:build-painter effects)) (fn [frm] (effects:attach) (painter frm))) -(fn builder.new [self] - (local bldr {:partial-painters []}) - (setmetatable bldr self) - (set self.__index self) +(fn builder.For [partial-painter] + (local bldr {:partial-painters [partial-painter]}) + (setmetatable bldr builder) + (set builder.__index builder) bldr) builder diff --git a/fnl/conf/exctl/effects.fnl b/fnl/conf/wict-nvim/effects.fnl index 160fbce..160fbce 100644 --- a/fnl/conf/exctl/effects.fnl +++ b/fnl/conf/wict-nvim/effects.fnl diff --git a/fnl/conf/exctl/frames/frame.fnl b/fnl/conf/wict-nvim/frames/frame.fnl index e7cd1e9..d32c9b5 100644 --- a/fnl/conf/exctl/frames/frame.fnl +++ b/fnl/conf/wict-nvim/frames/frame.fnl @@ -1,4 +1,4 @@ -(local vec (require :conf.exctl.frames.vec)) +(local vec (require :conf.wict-nvim.frames.vec)) (local m {}) (local frame {}) diff --git a/fnl/conf/exctl/frames/vec.fnl b/fnl/conf/wict-nvim/frames/vec.fnl index 4a9515d..4a9515d 100644 --- a/fnl/conf/exctl/frames/vec.fnl +++ b/fnl/conf/wict-nvim/frames/vec.fnl diff --git a/fnl/conf/wict-nvim/init.fnl b/fnl/conf/wict-nvim/init.fnl new file mode 100644 index 0000000..bf712e2 --- /dev/null +++ b/fnl/conf/wict-nvim/init.fnl @@ -0,0 +1,33 @@ +(tset package.loaded :conf.wict-nvim.frames.vec nil) +(local vec (require :conf.wict-nvim.frames.vec)) + +(tset package.loaded :conf.wict-nvim.frames.frame nil) +(local frame (require :conf.wict-nvim.frames.frame)) + +(tset package.loaded :conf.wict-nvim.builder nil) +(local builder (require :conf.wict-nvim.builder)) + +(tset package.loaded :conf.wict-nvim.effects nil) +(local effects (require :conf.wict-nvim.effects)) + +(local m {}) + +(local root-frame (frame (vec.vec 0 0) (vec.vec vim.o.columns 0) + (vec.vec 0 vim.o.lines))) + +(local painter (-> (builder.For {:buffer (fn [] 0) + :maps [{:mode [:n :v :o] + :lhs :q + :rhs (fn [effects window] + (fn [] + (effects:close)))}]}) + (builder.Beside (-> (builder.For {:buffer (fn [] 0) + :maps []})) + 0.5) + (builder.Padding 5) + (builder.Build (effects:new)))) + +; (painter root-frame) +{: root-frame + : builder + : effects} diff --git a/fnl/conf/wictl-nvim/init.fnl b/fnl/conf/wictl-nvim/init.fnl new file mode 100644 index 0000000..a6aca91 --- /dev/null +++ b/fnl/conf/wictl-nvim/init.fnl @@ -0,0 +1,30 @@ +(tset package.loaded :conf.wict-nvim nil) +(local wict (require :conf.wict-nvim)) + +(local bld wict.builder) +(local eff wict.effects) + +(local m {}) + +(local WictlConfig {}) +;; { +;; ["/path/to/project"] = { +;; jobs = [...] +;; terms = [{cmd = "k9s"}] +;; } +(var last-buf -1) +(local ui (-> (bld.For {:buffer (fn [] (P last-buf) + last-buf) + :maps [{:mode [:n :v :o] + :lhs :q + :rhs (fn [effects window] + (fn [] (effects:close)))}]}) + (bld.Padding 1) + (bld.RightOf (-> (bld.For {:buffer (fn [] + (P last-buf) + last-buf) + :maps []}) + (bld.Padding 1)) 0.2) + (bld.Build (eff:new)))) + +(ui wict.root-frame) |
