diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2023-01-15 22:47:30 +0100 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2023-01-15 22:47:30 +0100 |
commit | 10b175f252104458d7478d8a2822818850cfdf92 (patch) | |
tree | ee926d33bee6b4acfe45fce0dd8aa9e94f03f06a /fnl/plugins/editor/lir.fnl | |
parent | 9d4f654187869f96e27ab54a88708aba5959f1ba (diff) |
Refactor file structure
Diffstat (limited to 'fnl/plugins/editor/lir.fnl')
-rw-r--r-- | fnl/plugins/editor/lir.fnl | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/fnl/plugins/editor/lir.fnl b/fnl/plugins/editor/lir.fnl new file mode 100644 index 0000000..8caa8e4 --- /dev/null +++ b/fnl/plugins/editor/lir.fnl @@ -0,0 +1,52 @@ +;; Simple file manager. + +(fn opts [actions mark-actions clipboard-actions] + {:show_hidden_files false + :devicons {:enable true :highlight_dirname false} + :mappings {:l actions.edit + :<C-s> actions.split + :v actions.vsplit + :<C-t> actions.tabedit + :h actions.up + :q actions.quit + :A actions.mkdir + :a actions.newfile + :r actions.rename + "@" actions.cd + :Y actions.yank_path + :i actions.toggle_show_hidden + :d actions.delete + :J (fn [] + (mark-actions.toggle_mark) + (vim.cmd "normal! j")) + :c clipboard-actions.copy + :x clipboard-actions.cut + :p clipboard-actions.paste} + :float {:winblend 0 + :curdir_window {:enable false :highlight_dirname true} + :win_opts (fn [] + (let [width (math.floor (* vim.o.columns 0.7)) + height (math.floor (* vim.o.lines 0.7))] + {:border :rounded : width : height}))} + :hide_cursor false + :on_init (fn [] + (vim.api.nvim_buf_set_keymap 0 :x :J + ":<C-u>lua require(\"lir.mark.actions\").toggle_mark(\"v\")<CR>" + {:noremap true :silent true}))}) + +(fn setup [] + (let [actions (require :lir.actions) + clipboard-actions (require :lir.clipboard.actions) + mark-actions (require :lir.mark.actions) + lir (require :lir)] + (tset vim.g :loaded_netrw 1) + (tset vim.g :loaded_netrwPlugin 1) + (lir.setup (opts actions mark-actions clipboard-actions)) + (vim.keymap.set :n "-" ":lua require'lir.float'.toggle()<cr>" + {:noremap true :silent true}))) + +{1 :tamago324/lir.nvim + :keys "-" + :config (fn [] + (setup)) + :dependencies [:kyazdani42/nvim-web-devicons]} |