diff --git a/config/nvim/lua/terminal/init.lua b/config/nvim/lua/terminal/init.lua index 1a362d8..7391429 100644 --- a/config/nvim/lua/terminal/init.lua +++ b/config/nvim/lua/terminal/init.lua @@ -1,54 +1,54 @@ local term_buf = nil local function open_term_split() - vim.cmd('botright vsplit') - local win = vim.api.nvim_get_current_win() - if term_buf and vim.api.nvim_buf_is_valid(term_buf) then - vim.api.nvim_win_set_buf(win, term_buf) - else - vim.cmd('terminal') - term_buf = vim.api.nvim_get_current_buf() - end - vim.api.nvim_win_set_width(win, math.floor(vim.o.columns * 0.37)) - vim.cmd('startinsert') + vim.cmd('botright vsplit') + local win = vim.api.nvim_get_current_win() + if term_buf and vim.api.nvim_buf_is_valid(term_buf) then + vim.api.nvim_win_set_buf(win, term_buf) + else + vim.cmd('terminal') + term_buf = vim.api.nvim_get_current_buf() + end + vim.api.nvim_win_set_width(win, math.floor(vim.o.columns * 0.37)) + vim.cmd('startinsert') end local function toggle_term() - -- Check if terminal is already visible in a window - for _, win in ipairs(vim.api.nvim_list_wins()) do - if vim.api.nvim_win_get_buf(win) == term_buf then - vim.api.nvim_win_close(win, false) - return - end - end - open_term_split() + -- Check if terminal is already visible in a window + for _, win in ipairs(vim.api.nvim_list_wins()) do + if vim.api.nvim_win_get_buf(win) == term_buf then + vim.api.nvim_win_close(win, false) + return + end + end + open_term_split() end local function open_term_fullscreen() - if term_buf and vim.api.nvim_buf_is_valid(term_buf) then - vim.api.nvim_set_current_buf(term_buf) - else - vim.cmd('terminal') - term_buf = vim.api.nvim_get_current_buf() - end - vim.cmd('startinsert') + if term_buf and vim.api.nvim_buf_is_valid(term_buf) then + vim.api.nvim_set_current_buf(term_buf) + else + vim.cmd('terminal') + term_buf = vim.api.nvim_get_current_buf() + end + vim.cmd('startinsert') end local function prev_non_term_buf() - local cur = vim.api.nvim_get_current_buf() - local bufs = vim.fn.getbufinfo({ buflisted = 1 }) - local candidates = {} - for _, info in ipairs(bufs) do - if info.bufnr ~= cur and vim.bo[info.bufnr].buftype ~= 'terminal' then - table.insert(candidates, info) - end - end - if #candidates == 0 then - print('No previous non-terminal buffer') - return - end - table.sort(candidates, function(a, b) return a.lastused > b.lastused end) - vim.api.nvim_set_current_buf(candidates[1].bufnr) + local cur = vim.api.nvim_get_current_buf() + local bufs = vim.fn.getbufinfo({ buflisted = 1 }) + local candidates = {} + for _, info in ipairs(bufs) do + if info.bufnr ~= cur and vim.bo[info.bufnr].buftype ~= 'terminal' then + table.insert(candidates, info) + end + end + if #candidates == 0 then + print('No previous non-terminal buffer') + return + end + table.sort(candidates, function(a, b) return a.lastused > b.lastused end) + vim.api.nvim_set_current_buf(candidates[1].bufnr) end map('n', '', toggle_term, { desc = 'Toggle terminal split' }) diff --git a/install.sh b/install.sh index 5680475..e5409e5 100755 --- a/install.sh +++ b/install.sh @@ -86,12 +86,12 @@ if [ "$DO_LINKS" = true ]; then link_file "$DOTFILES_DIR/config/kanata" "$HOME/.config/kanata" link_file "$DOTFILES_DIR/config/fish" "$HOME/.config/fish" link_file "$DOTFILES_DIR/config/alacritty" "$HOME/.config/alacritty" - link_file "$DOTFILES_DIR/config/nvim" "$HOME/.config/nvim" - link_file "$DOTFILES_DIR/config/zed/keymap.json" "$HOME/.config/zed/keymap.json" - link_file "$DOTFILES_DIR/config/zed/settings.json" "$HOME/.config/zed/settings.json" link_file "$DOTFILES_DIR/config/lf" "$HOME/.config/lf" + link_file "$DOTFILES_DIR/config/picom" "$HOME/.config/picom" link_file "$DOTFILES_DIR/config/polybar" "$HOME/.config/polybar" link_file "$DOTFILES_DIR/config/rofi" "$HOME/.config/rofi" + link_file "$DOTFILES_DIR/config/nvim" "$HOME/.config/nvim" + link_file "$DOTFILES_DIR/scripts/bin" "$HOME/.local/bin" echo "" echo "🧾 Summary: $CREATED symlink(s) created or fixed, $SKIPPED skipped."