aboutsummaryrefslogtreecommitdiff
path: root/fnl/util.fnl
blob: e72dc427589b2149dd339342c56cef55a1c0882b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(local M {})
(tset _G :loaded {})

(tset M :require! (lambda [name]
  (local (ok req) (pcall require name))
  (when ok
    (tset _G.loaded name req)
    (. _G.loaded name))))

(tset M :setup! (lambda [name ?config]
  ;(tset _G.loaded :name ((. (require name) :setup) (or ?config {})))))
  (local req (M.require! name))
  (when (~= req nil)
    ((. (M.require! name) :setup) (or ?config {})))))

(tset M :after-setup (lambda [fun]
  (if (= vim.v.vim_did_enter 1)
    (fun)
    (vim.api.nvim_create_autocmd "VimEnter" {
      :pattern :*
      :callback fun}))))

M