lir.nvim
lir.nvim copied to clipboard
New lir buffer is opened and floating window remains on cd
When using the floating window and entering a directory, either through actions.up
or actions.edit
the directory is opened in a new non floating buffer behind the floating window, which remains but loses focus.
The floating window needs to be manually focused and closed and navigation can not continue in a floating window
Thanks for the report. Please indicate the version of neovim and the detailed reproduction procedure.
Use lir.float.init
Use actions.up through keybind and a new window will open behind.
I think the issue is due to this
https://github.com/tamago324/lir.nvim/blob/eaa706a38bdf889103806d10ccbe0be1983ca746/lua/lir/actions.lua#L29-L30
The expected behaviour is to open in the floating window
NVIM v0.7.0-dev+997-g21cdecc8e, but is present in newer versions on another computer
I have performed the following steps and it is working fine, can you please try?
-
nvim -u minvimrc -i NONE
-
:lua require'lir.float'.init()
- press
l
, pressh
Neovim version: NVIM v0.7.0-dev+1115-g5cb45dffb
minvimrc
set encoding=utf-8
filetype plugin indent on
if has('vim_starting')
let s:pluin_manager_dir='~/.config/nvim/.plugged/vim-plug'
execute 'set runtimepath+=' . s:pluin_manager_dir
endif
call plug#begin('~/.config/nvim/.plugged')
Plug 'kyazdani42/nvim-web-devicons'
Plug 'nvim-lua/plenary.nvim'
Plug 'tamago324/lir.nvim'
call plug#end()
set nobackup
set nowritebackup
set noswapfile
set updatecount=0
set backspace=indent,eol,start
language messages en_US.utf8
" nvim -u ~/ghq/github.com/tamago324/sandbox-vim/nvim/lir.vim -i NONE
lua << EOF
local actions = require'lir.actions'
local mark_actions = require 'lir.mark.actions'
local clipboard_actions = require'lir.clipboard.actions'
require'lir'.setup {
show_hidden_files = false,
devicons_enable = true,
mappings = {
['l'] = actions.edit,
['<C-s>'] = actions.split,
['<C-v>'] = actions.vsplit,
['<C-t>'] = actions.tabedit,
['h'] = actions.up,
['q'] = actions.quit,
['K'] = actions.mkdir,
['N'] = actions.newfile,
['R'] = actions.rename,
['@'] = actions.cd,
['Y'] = actions.yank_path,
['.'] = actions.toggle_show_hidden,
['D'] = actions.delete,
['J'] = function()
mark_actions.toggle_mark()
vim.cmd('normal! j')
end,
['C'] = clipboard_actions.copy,
['X'] = clipboard_actions.cut,
['P'] = clipboard_actions.paste,
},
float = {
winblend = 0,
curdir_window = {
enable = false,
highlight_dirname = false
},
-- -- You can define a function that returns a table to be passed as the third
-- -- argument of nvim_open_win().
-- win_opts = function()
-- local width = math.floor(vim.o.columns * 0.8)
-- local height = math.floor(vim.o.lines * 0.8)
-- return {
-- border = require("lir.float.helper").make_border_opts({
-- "+", "─", "+", "│", "+", "─", "+", "│",
-- }, "Normal"),
-- width = width,
-- height = height,
-- row = 1,
-- col = math.floor((vim.o.columns - width) / 2),
-- }
-- end,
},
hide_cursor = true,
on_init = function()
-- use visual mode
vim.api.nvim_buf_set_keymap(
0,
"x",
"J",
':<C-u>lua require"lir.mark.actions".toggle_mark("v")<CR>',
{ noremap = true, silent = true }
)
-- echo cwd
vim.api.nvim_echo({ { vim.fn.expand("%:p"), "Normal" } }, false, {})
end,
}
-- custom folder icon
require'nvim-web-devicons'.set_icon({
lir_folder_icon = {
icon = "",
color = "#7ebae4",
name = "LirFolderNode"
}
})
EOF
I am sorry for taking such a while to respond, hectic week with exams.
Anyways, I found the culprit
The plugin stickybuf prevented the new buffer from opening. The plugins purpose is to prevent files from opening in tree view buffers.
Removing the plugin fixes the issue, though it enables one to open files inside tree windows, which isn't such a big issue.
Just out of curiosity:
Is it possible to set the ctx.dir
and have it update without reloading the file manager using edit dir
. I didn't get the first method to work in my small attempts, maybe something like that could be used to prevent firing more autocommands from other plugins