aboutsummaryrefslogtreecommitdiff
path: root/fnl/nvrc
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2022-02-11 00:38:15 +0900
committersefidel <contact@sefidel.net>2022-02-11 00:38:15 +0900
commit846813e174b8a42ace40bddaf3d64d8ead63b874 (patch)
tree471271ffb817e9e28b1c7a09142dfbe68d59374d /fnl/nvrc
parent26bb3be1c460be53ad0b85da858fdd6576eef1b4 (diff)
downloadnvimrc-846813e174b8a42ace40bddaf3d64d8ead63b874.zip
feat(pack)!: migrate to fzf-lua
Diffstat (limited to 'fnl/nvrc')
-rw-r--r--fnl/nvrc/keymaps.fnl19
-rw-r--r--fnl/nvrc/macro/pack.fnl2
-rw-r--r--fnl/nvrc/pack.fnl5
-rw-r--r--fnl/nvrc/utils.fnl124
4 files changed, 54 insertions, 96 deletions
diff --git a/fnl/nvrc/keymaps.fnl b/fnl/nvrc/keymaps.fnl
index 67b0d70..790d21b 100644
--- a/fnl/nvrc/keymaps.fnl
+++ b/fnl/nvrc/keymaps.fnl
@@ -12,14 +12,12 @@
(map! [v :silent] :<leader>/
":lua require('Comment.api').toggle_linewise_op(vim.fn.visualmode()) <cr>")
-(map! [n :silent] :<leader>ff ":Telescope find_files <cr>")
-(map! [n :silent] :<leader>fc ":Telescope grep_string <cr>")
-(map! [n :silent] :<leader>fs ":Telescope live_grep <cr>")
-(map! [n :silent] :<leader>fa
- ":Telescope find_files follow=true no_ignore=true hidden=true <cr>")
-(map! [n :silent] :<leader>fb ":Telescope buffers <cr>")
-(map! [n :silent] :<leader>gc ":Telescope git_commits <cr>")
-(map! [n :silent] :<leader>gs ":Telescope git_status <cr>")
+(map! [n :silent] :<leader>ff ":FzfLua files <cr>")
+(map! [n :silent] :<leader>fc ":FzfLua grep <cr>")
+(map! [n :silent] :<leader>fs ":FzfLua live_grep <cr>")
+(map! [n :silent] :<leader>fb ":FzfLua buffers <cr>")
+(map! [n :silent] :<leader>gc ":FzfLua git_commits <cr>")
+(map! [n :silent] :<leader>gs ":FzfLua git_status <cr>")
(map! [n] :f :<plug>Lightspeed_f)
(map! [n] :F :<plug>Lightspeed_F)
@@ -31,14 +29,13 @@
(map! [n :silent] :<leader>ra ":TZAtaraxis <cr>")
(map! [t] :jk "<C-\\><C-n>")
-(map! [t :silent] :JK "<C-\\><C-n> :lua require ('nvrc.utils').close_buf() <cr>")
-(map! [n :silent] :<leader>tl ":Telescope terms <cr>")
+(map! [t :silent] :JK "<C-\\><C-n> :lua require ('nvrc.utils').del_buf() <cr>")
; FIXME This opens on top of existing vertical/horizontal term
(map! [n :silent] :<leader>th ":execute 15 .. 'new +terminal' | let b:term_type = 'hori' <cr>")
(map! [n :silent] :<leader>tv ":execute 'vnew +terminal' | let b:term_type = 'vert' <cr>")
(map! [n :silent] :<leader>tn ":execute 'terminal' | let b:term_type = 'wind' <cr>")
-(map! [n :silent] :<leader>q ":lua require('nvrc.utils').close_buf() <cr>")
+(map! [n :silent] :<leader>q ":lua require('nvrc.utils').del_buf() <cr>")
(map! [n :silent] :<leader>ya ":%y+ <cr>")
(map! [n :silent] :<leader>bn ":enew <cr>")
(map! [n :silent] :<leader>wn ":tabnew <cr>")
diff --git a/fnl/nvrc/macro/pack.fnl b/fnl/nvrc/macro/pack.fnl
index 5ba7896..0adb18a 100644
--- a/fnl/nvrc/macro/pack.fnl
+++ b/fnl/nvrc/macro/pack.fnl
@@ -25,7 +25,7 @@
options (collect [k v (pairs options)]
(if
(= k :req) (values :config (format "require('nvrc.packs.%s')" v))
- (= k :init) (values :config (format "require('%s').setup()" v))
+ (= k :init) (values :config (format "require('%s').setup({})" v))
(= k :defer) (values :setup (format "require('nvrc.utils').defer_unpack('%s', 5)" v))
(values k v)))]
(doto options
diff --git a/fnl/nvrc/pack.fnl b/fnl/nvrc/pack.fnl
index a1c611a..35bd6df 100644
--- a/fnl/nvrc/pack.fnl
+++ b/fnl/nvrc/pack.fnl
@@ -24,10 +24,9 @@
(pack! :luukvbaal/stabilize.nvim {:after :jellybeans.vim :init :stabilize})
(pack! :numToStr/Comment.nvim {:module :Comment :init :Comment})
; TODO: https://github.com/kyazdani42/nvim-tree.lua/issues/951
-(pack! :kyazdani42/nvim-tree.lua {:req :nvimtree :cmd [:NvimTreeToggle :NvimTreeFocus] :commit "d8bf1ad"})
+(pack! :kyazdani42/nvim-tree.lua {:req :nvimtree :defer :nvim-tree.lua})
(pack! :ggandor/lightspeed.nvim {:keys [:s :S :x :X :f :F]})
-(pack! :nvim-telescope/telescope.nvim {:req :telescope :module :telescope :cmd :Telescope})
-(pack! :boppyt/nvrc-extra)
+(pack! :ibhagwan/fzf-lua {:init :fzf-lua :module :fzf-lua :cmd :FzfLua})
(pack! :bakpakin/fennel.vim {:ft :fennel})
diff --git a/fnl/nvrc/utils.fnl b/fnl/nvrc/utils.fnl
index 6812c0c..52ca454 100644
--- a/fnl/nvrc/utils.fnl
+++ b/fnl/nvrc/utils.fnl
@@ -19,15 +19,15 @@
the previous value as the first arg. Starting with init."
(var result init)
(run! (fn [x]
- (set result (f result x))) xs)
+ (set result (f result x))) xs)
result)
(fn merge! [base ...]
(reduce (fn [acc m]
- (when m
- (each [k v (pairs m)]
- (tset acc k v)))
- acc) (or base {}) [...]))
+ (when m
+ (each [k v (pairs m)]
+ (tset acc k v)))
+ acc) (or base {}) [...]))
(fn merge [...]
(merge! {} ...))
@@ -37,91 +37,53 @@
(let [lsp (. (vim.lsp.util.get_progress_messages) 1)]
(when lsp
(let [msg (or lsp.message "")
- percentage (or lsp.percentage 0)
- title (or lsp.title "")
- spinners {1"⠋" 2 "⠙" 3 "⠹" 4 "⠸" 5 "⠼" 6 "⠴" 7 "⠦" 8 "⠧" 9 "⠇" 10 "⠏"}
- success-icon "^.^!"
- ms (/ (vim.loop.hrtime) 1000000)
- frame (% (math.floor (/ ms 120)) (length spinners))]
- (when (>= percentage 70)
+ percentage (or lsp.percentage 0)
+ title (or lsp.title "")
+ spinners {1 "⠋"
+ 2 "⠙"
+ 3 "⠹"
+ 4 "⠸"
+ 5 "⠼"
+ 6 "⠴"
+ 7 "⠦"
+ 8 "⠧"
+ 9 "⠇"
+ 10 "⠏"}
+ success-icon "^.^!"
+ ms (/ (vim.loop.hrtime) 1000000)
+ frame (% (math.floor (/ ms 120)) (length spinners))]
+ (when (>= percentage 70)
+ (let [ertn [(string.format " %%<%s %s %s (%s%%%%) " success-icon
+ title msg percentage)]]
+ (lua "return (table.unpack or _G.unpack)(ertn)")))
(let [ertn [(string.format " %%<%s %s %s (%s%%%%) "
- success-icon
- title msg
- percentage)]]
- (lua "return (table.unpack or _G.unpack)(ertn)")))
- (let [ertn [(string.format " %%<%s %s %s (%s%%%%) "
- (. spinners
- (+ frame 1))
- title msg
- percentage)]]
- (lua "return (table.unpack or _G.unpack)(ertn)"))))) "")
+ (. spinners (+ frame 1)) title msg percentage)]]
+ (lua "return (table.unpack or _G.unpack)(ertn)")))))
+ "")
(fn will_it_fit [width winid]
"Returns whether this module will fit in the given width"
(> (vim.api.nvim_win_get_width (or (tonumber winid) 0)) width))
-(fn close_buf [force]
- "ojroques/nvim-bufdel 'BSD-2'"
- (let [opts {:next :cycle :quit false}]
- (fn switch-buffer [windows buf]
- (let [cur-win (vim.fn.winnr)]
- (each [_ winid (ipairs windows)]
- (set-forcibly! winid (or (tonumber winid) 0))
- (vim.cmd (string.format "%d wincmd w" (vim.fn.win_id2win winid)))
- (vim.cmd (string.format "buffer %d" buf)))
- (vim.cmd (string.format "%d wincmd w" cur-win))))
-
- (fn get-next-buf [buf]
- (var next (vim.fn.bufnr "#"))
- (when (and (= opts.next :alternate) (= (vim.fn.buflisted next) 1))
- (lua "return next"))
- (for [i 0 (- (vim.fn.bufnr "$") 1) 1]
- (set next (+ (% (+ buf i) (vim.fn.bufnr "$")) 1))
- (when (= (vim.fn.buflisted next) 1)
- (lua "return next"))))
-
- (local buf (vim.fn.bufnr))
- (when (= (vim.fn.buflisted buf) 0)
- (vim.cmd :close)
+(fn del_buf []
+ (let [buflisted (vim.fn.getbufinfo {:buflisted 1})
+ (cur-winnr cur-bufnr) (values (vim.fn.winnr) (vim.fn.bufnr))]
+ (when (< (length buflisted) 2)
+ (vim.cmd "confirm qall")
(lua "return "))
- (when (< (length (vim.fn.getbufinfo {:buflisted 1})) 2)
- (when opts.quit
- (if force (vim.cmd :qall!) (vim.cmd "confirm qall"))
- (lua "return "))
- (local (term _)
- (pcall (fn []
- (vim.api.nvim_buf_get_var buf :term_type))))
- (when term
- (vim.cmd (string.format "setlocal nobl" buf))
- (vim.cmd :enew)
- (lua "return "))
- (vim.cmd :enew)
- (vim.cmd :bp))
- (local next-buf (get-next-buf buf))
- (local windows (. (. (vim.fn.getbufinfo buf) 1) :windows))
- (if (or force (= (vim.fn.getbufvar buf :&buftype) :terminal))
- (let [(term type) (pcall (fn []
- (vim.api.nvim_buf_get_var buf :term_type)))]
- (if term
- (if (= type :wind)
- (do
- (vim.cmd (string.format "%d bufdo setlocal nobl" buf))
- (vim.cmd :BufferLineCycleNext))
- (let [cur-win (vim.fn.winnr)]
- (vim.cmd (string.format "%d wincmd c" cur-win))
- (lua "return ")))
- (do
- (switch-buffer windows next-buf)
- (vim.cmd (string.format "bd! %d" buf)))))
- (do
- (switch-buffer windows next-buf)
- (vim.cmd (string.format "silent! confirm bd %d" buf))))
- (when (= (vim.fn.buflisted buf) 1)
- (switch-buffer windows buf))))
+ (each [_ winid (ipairs (. (. (vim.fn.getbufinfo cur-bufnr) 1) :windows))]
+ (vim.cmd (string.format "%d wincmd w" (vim.fn.win_id2win winid)))
+ (vim.cmd (or (and (= cur-bufnr (. (. buflisted (length buflisted)) :bufnr))
+ :bp) :bn)))
+ (vim.cmd (string.format "%d wincmd w" cur-winnr))
+ (local is-terminal (= (vim.fn.getbufvar cur-bufnr :&buftype) :terminal))
+ (vim.cmd (or (and is-terminal "bd! #") "silent! confirm bd #"))))
(fn defer_unpack [pack after]
(when pack
(set-forcibly! after (or after 0))
- (vim.defer_fn (fn [] ((. (require :packer) :loader) pack)) after)))
+ (vim.defer_fn (fn []
+ ((. (require :packer) :loader) pack))
+ after)))
-{: merge : lsp_fidget : will_it_fit : close_buf : defer_unpack}
+{: merge : lsp_fidget : will_it_fit : del_buf : defer_unpack}