tree-wide: Format files
ugh why do people don't push formatted stuff
This commit is contained in:
parent
6224ed6283
commit
978e672038
|
@ -41,7 +41,6 @@ map("n", miscMap.copywhole_file, ":%y+<CR>", opt)
|
||||||
-- toggle numbers
|
-- toggle numbers
|
||||||
map("n", miscMap.toggle_linenr, ":set nu!<CR>", opt)
|
map("n", miscMap.toggle_linenr, ":set nu!<CR>", opt)
|
||||||
|
|
||||||
|
|
||||||
-- terminals
|
-- terminals
|
||||||
local function terms()
|
local function terms()
|
||||||
local m = user_map.terms
|
local m = user_map.terms
|
||||||
|
@ -50,7 +49,7 @@ local function terms()
|
||||||
map("t", m.esc_termmode, "<C-\\><C-n>", opt)
|
map("t", m.esc_termmode, "<C-\\><C-n>", opt)
|
||||||
-- hide a term from within terminal mode
|
-- hide a term from within terminal mode
|
||||||
map("t", m.esc_hide_termmode, "<C-\\><C-n> :lua require('utils').close_buffer() <CR>", opt)
|
map("t", m.esc_hide_termmode, "<C-\\><C-n> :lua require('utils').close_buffer() <CR>", opt)
|
||||||
-- pick a hidden term
|
-- pick a hidden term
|
||||||
map("n", m.pick_term, ":Telescope terms <CR>", opt)
|
map("n", m.pick_term, ":Telescope terms <CR>", opt)
|
||||||
|
|
||||||
-- Open terminals
|
-- Open terminals
|
||||||
|
|
|
@ -27,7 +27,7 @@ opt.fillchars = { eob = " " }
|
||||||
-- Numbers
|
-- Numbers
|
||||||
opt.number = options.number
|
opt.number = options.number
|
||||||
opt.numberwidth = options.numberwidth
|
opt.numberwidth = options.numberwidth
|
||||||
opt.relativenumber = options.relativenumber
|
opt.relativenumber = options.relativenumber
|
||||||
|
|
||||||
-- Indenline
|
-- Indenline
|
||||||
opt.expandtab = options.expandtab
|
opt.expandtab = options.expandtab
|
||||||
|
|
|
@ -5,7 +5,7 @@ local present, bufferline = pcall(require, "bufferline")
|
||||||
if not present then
|
if not present then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
bufferline.setup {
|
bufferline.setup {
|
||||||
options = {
|
options = {
|
||||||
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
|
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
|
||||||
|
@ -25,23 +25,23 @@ bufferline.setup {
|
||||||
mappings = true,
|
mappings = true,
|
||||||
always_show_bufferline = true,
|
always_show_bufferline = true,
|
||||||
custom_filter = function(buf_number)
|
custom_filter = function(buf_number)
|
||||||
-- Func to filter out our managed/persistent split terms
|
-- Func to filter out our managed/persistent split terms
|
||||||
local present_type, type = pcall(function()
|
local present_type, type = pcall(function()
|
||||||
return vim.api.nvim_buf_get_var(buf_number, "term_type")
|
return vim.api.nvim_buf_get_var(buf_number, "term_type")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if present_type then
|
if present_type then
|
||||||
if type == "vert" then
|
if type == "vert" then
|
||||||
return false
|
return false
|
||||||
elseif type == "hori" then
|
elseif type == "hori" then
|
||||||
return false
|
return false
|
||||||
else
|
else
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
highlights = {
|
highlights = {
|
||||||
fill = {
|
fill = {
|
||||||
|
|
|
@ -10,7 +10,7 @@ M.term_picker = function(opts)
|
||||||
pickers = require "telescope.pickers"
|
pickers = require "telescope.pickers"
|
||||||
finders = require "telescope.finders"
|
finders = require "telescope.finders"
|
||||||
previewers = require "telescope.previewers"
|
previewers = require "telescope.previewers"
|
||||||
|
|
||||||
make_entry = require "telescope.make_entry"
|
make_entry = require "telescope.make_entry"
|
||||||
actions = require "telescope.actions"
|
actions = require "telescope.actions"
|
||||||
action_state = require "telescope.actions.state"
|
action_state = require "telescope.actions.state"
|
||||||
|
@ -19,26 +19,25 @@ M.term_picker = function(opts)
|
||||||
else
|
else
|
||||||
error "Cannot find telescope!"
|
error "Cannot find telescope!"
|
||||||
end
|
end
|
||||||
|
|
||||||
local filter = vim.tbl_filter
|
local filter = vim.tbl_filter
|
||||||
|
|
||||||
local local_utils = require "utils"
|
local local_utils = require "utils"
|
||||||
|
|
||||||
-- buffer number and name
|
-- buffer number and name
|
||||||
local bufnr = vim.api.nvim_get_current_buf()
|
local bufnr = vim.api.nvim_get_current_buf()
|
||||||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
|
||||||
local bufnrs = filter(function(b)
|
local bufnrs = filter(function(b)
|
||||||
local present_type, type = pcall(function()
|
local present_type, type = pcall(function()
|
||||||
return vim.api.nvim_buf_get_var(b, "term_type")
|
return vim.api.nvim_buf_get_var(b, "term_type")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if not present_type then
|
if not present_type then
|
||||||
-- let's only terms that we created
|
-- let's only terms that we created
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
-- if 1 ~= vim.fn.buflisted(b) then
|
-- if 1 ~= vim.fn.buflisted(b) then
|
||||||
-- return false
|
-- return false
|
||||||
-- end
|
-- end
|
||||||
|
@ -59,22 +58,22 @@ M.term_picker = function(opts)
|
||||||
return vim.fn.getbufinfo(a)[1].lastused > vim.fn.getbufinfo(b)[1].lastused
|
return vim.fn.getbufinfo(a)[1].lastused > vim.fn.getbufinfo(b)[1].lastused
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
local buffers = {}
|
local buffers = {}
|
||||||
local default_selection_idx = 1
|
local default_selection_idx = 1
|
||||||
for _, bufnr in ipairs(bufnrs) do
|
for _, bufnr in ipairs(bufnrs) do
|
||||||
local flag = bufnr == vim.fn.bufnr "" and "%" or (bufnr == vim.fn.bufnr "#" and "#" or " ")
|
local flag = bufnr == vim.fn.bufnr "" and "%" or (bufnr == vim.fn.bufnr "#" and "#" or " ")
|
||||||
|
|
||||||
if opts.sort_lastused and not opts.ignore_current_buffer and flag == "#" then
|
if opts.sort_lastused and not opts.ignore_current_buffer and flag == "#" then
|
||||||
default_selection_idx = 2
|
default_selection_idx = 2
|
||||||
end
|
end
|
||||||
|
|
||||||
local element = {
|
local element = {
|
||||||
bufnr = bufnr,
|
bufnr = bufnr,
|
||||||
flag = flag,
|
flag = flag,
|
||||||
info = vim.fn.getbufinfo(bufnr)[1],
|
info = vim.fn.getbufinfo(bufnr)[1],
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.sort_lastused and (flag == "#" or flag == "%") then
|
if opts.sort_lastused and (flag == "#" or flag == "%") then
|
||||||
local idx = ((buffers[1] ~= nil and buffers[1].flag == "%") and 2 or 1)
|
local idx = ((buffers[1] ~= nil and buffers[1].flag == "%") and 2 or 1)
|
||||||
table.insert(buffers, idx, element)
|
table.insert(buffers, idx, element)
|
||||||
|
@ -82,12 +81,12 @@ M.term_picker = function(opts)
|
||||||
table.insert(buffers, element)
|
table.insert(buffers, element)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not opts.bufnr_width then
|
if not opts.bufnr_width then
|
||||||
local max_bufnr = math.max(unpack(bufnrs))
|
local max_bufnr = math.max(unpack(bufnrs))
|
||||||
opts.bufnr_width = #tostring(max_bufnr)
|
opts.bufnr_width = #tostring(max_bufnr)
|
||||||
end
|
end
|
||||||
|
|
||||||
pickers.new(opts, {
|
pickers.new(opts, {
|
||||||
prompt_title = "Terminal buffers",
|
prompt_title = "Terminal buffers",
|
||||||
finder = finders.new_table {
|
finder = finders.new_table {
|
||||||
|
@ -103,24 +102,24 @@ M.term_picker = function(opts)
|
||||||
actions.close(prompt_bufnr)
|
actions.close(prompt_bufnr)
|
||||||
|
|
||||||
local buf = entry.bufnr
|
local buf = entry.bufnr
|
||||||
|
|
||||||
local chad_term, type = pcall(function()
|
local chad_term, type = pcall(function()
|
||||||
return vim.api.nvim_buf_get_var(buf, "term_type")
|
return vim.api.nvim_buf_get_var(buf, "term_type")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- TODO buffer checks/error detection (make sure we do get a buf)
|
-- TODO buffer checks/error detection (make sure we do get a buf)
|
||||||
|
|
||||||
if chad_term then
|
if chad_term then
|
||||||
if type == "wind" then
|
if type == "wind" then
|
||||||
-- swtich to term buff & show in bufferline
|
-- swtich to term buff & show in bufferline
|
||||||
vim.cmd(string.format('b %d | setlocal bl', buf))
|
vim.cmd(string.format("b %d | setlocal bl", buf))
|
||||||
-- vim.cmd('startinsert') TODO fix this
|
-- vim.cmd('startinsert') TODO fix this
|
||||||
elseif type == "vert" then
|
elseif type == "vert" then
|
||||||
vim.cmd(string.format('vsp #%d', buf))
|
vim.cmd(string.format("vsp #%d", buf))
|
||||||
-- vim.cmd('startinsert') TODO fix this
|
-- vim.cmd('startinsert') TODO fix this
|
||||||
elseif type == "hori" then
|
elseif type == "hori" then
|
||||||
-- TODO change 15 to a chad config var number
|
-- TODO change 15 to a chad config var number
|
||||||
vim.cmd(string.format('15 sp #%d ', buf))
|
vim.cmd(string.format("15 sp #%d ", buf))
|
||||||
-- vim.cmd('startinsert') TODO fix this
|
-- vim.cmd('startinsert') TODO fix this
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -36,39 +36,39 @@ end
|
||||||
|
|
||||||
M.close_buffer = function(bufexpr, force)
|
M.close_buffer = function(bufexpr, force)
|
||||||
-- This is a modification of a NeoVim plugin from
|
-- This is a modification of a NeoVim plugin from
|
||||||
-- Author: ojroques - Olivier Roques
|
-- Author: ojroques - Olivier Roques
|
||||||
-- Src: https://github.com/ojroques/nvim-bufdel
|
-- Src: https://github.com/ojroques/nvim-bufdel
|
||||||
-- (Author has okayed copy-paste)
|
-- (Author has okayed copy-paste)
|
||||||
|
|
||||||
-- Options
|
-- Options
|
||||||
local opts = {
|
local opts = {
|
||||||
next = 'cycle', -- how to retrieve the next buffer
|
next = "cycle", -- how to retrieve the next buffer
|
||||||
quit = false, -- exit when last buffer is deleted
|
quit = false, -- exit when last buffer is deleted
|
||||||
--TODO make this a chadrc flag/option
|
--TODO make this a chadrc flag/option
|
||||||
}
|
}
|
||||||
|
|
||||||
-- ----------------
|
-- ----------------
|
||||||
-- Helper functions
|
-- Helper functions
|
||||||
-- ----------------
|
-- ----------------
|
||||||
|
|
||||||
-- Switch to buffer 'buf' on each window from list 'windows'
|
-- Switch to buffer 'buf' on each window from list 'windows'
|
||||||
local function switch_buffer(windows, buf)
|
local function switch_buffer(windows, buf)
|
||||||
local cur_win = vim.fn.winnr()
|
local cur_win = vim.fn.winnr()
|
||||||
for _, winid in ipairs(windows) do
|
for _, winid in ipairs(windows) do
|
||||||
vim.cmd(string.format('%d wincmd w', vim.fn.win_id2win(winid)))
|
vim.cmd(string.format("%d wincmd w", vim.fn.win_id2win(winid)))
|
||||||
vim.cmd(string.format('buffer %d', buf))
|
vim.cmd(string.format("buffer %d", buf))
|
||||||
end
|
end
|
||||||
vim.cmd(string.format('%d wincmd w', cur_win)) -- return to original window
|
vim.cmd(string.format("%d wincmd w", cur_win)) -- return to original window
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Select the first buffer with a number greater than given buffer
|
-- Select the first buffer with a number greater than given buffer
|
||||||
local function get_next_buf(buf)
|
local function get_next_buf(buf)
|
||||||
local next = vim.fn.bufnr('#')
|
local next = vim.fn.bufnr "#"
|
||||||
if opts.next == 'alternate' and vim.fn.buflisted(next) == 1 then
|
if opts.next == "alternate" and vim.fn.buflisted(next) == 1 then
|
||||||
return next
|
return next
|
||||||
end
|
end
|
||||||
for i = 0, vim.fn.bufnr('$') - 1 do
|
for i = 0, vim.fn.bufnr "$" - 1 do
|
||||||
next = (buf + i) % vim.fn.bufnr('$') + 1 -- will loop back to 1
|
next = (buf + i) % vim.fn.bufnr "$" + 1 -- will loop back to 1
|
||||||
if vim.fn.buflisted(next) == 1 then
|
if vim.fn.buflisted(next) == 1 then
|
||||||
return next
|
return next
|
||||||
end
|
end
|
||||||
|
@ -78,68 +78,68 @@ M.close_buffer = function(bufexpr, force)
|
||||||
-- ----------------
|
-- ----------------
|
||||||
-- End helper functions
|
-- End helper functions
|
||||||
-- ----------------
|
-- ----------------
|
||||||
|
|
||||||
local buf = vim.fn.bufnr()
|
local buf = vim.fn.bufnr()
|
||||||
if vim.fn.buflisted(buf) == 0 then -- exit if buffer number is invalid
|
if vim.fn.buflisted(buf) == 0 then -- exit if buffer number is invalid
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if #vim.fn.getbufinfo({buflisted = 1}) < 2 then
|
if #vim.fn.getbufinfo { buflisted = 1 } < 2 then
|
||||||
if opts.quit then
|
if opts.quit then
|
||||||
-- exit when there is only one buffer left
|
-- exit when there is only one buffer left
|
||||||
if force then
|
if force then
|
||||||
vim.cmd('qall!')
|
vim.cmd "qall!"
|
||||||
else
|
else
|
||||||
vim.cmd('confirm qall')
|
vim.cmd "confirm qall"
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local chad_term, type = pcall(function()
|
local chad_term, type = pcall(function()
|
||||||
return vim.api.nvim_buf_get_var(buf, "term_type")
|
return vim.api.nvim_buf_get_var(buf, "term_type")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if chad_term then
|
if chad_term then
|
||||||
-- Must be a window type
|
-- Must be a window type
|
||||||
vim.cmd(string.format('setlocal nobl', buf))
|
vim.cmd(string.format("setlocal nobl", buf))
|
||||||
vim.cmd('enew')
|
vim.cmd "enew"
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
-- don't exit and create a new empty buffer
|
-- don't exit and create a new empty buffer
|
||||||
vim.cmd('enew')
|
vim.cmd "enew"
|
||||||
vim.cmd('bp')
|
vim.cmd "bp"
|
||||||
end
|
end
|
||||||
|
|
||||||
local next_buf = get_next_buf(buf)
|
local next_buf = get_next_buf(buf)
|
||||||
local windows = vim.fn.getbufinfo(buf)[1].windows
|
local windows = vim.fn.getbufinfo(buf)[1].windows
|
||||||
|
|
||||||
-- force deletion of terminal buffers to avoid the prompt
|
-- force deletion of terminal buffers to avoid the prompt
|
||||||
if force or vim.fn.getbufvar(buf, '&buftype') == 'terminal' then
|
if force or vim.fn.getbufvar(buf, "&buftype") == "terminal" then
|
||||||
local chad_term, type = pcall(function()
|
local chad_term, type = pcall(function()
|
||||||
return vim.api.nvim_buf_get_var(buf, "term_type")
|
return vim.api.nvim_buf_get_var(buf, "term_type")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- TODO this scope is error prone, make resilient
|
-- TODO this scope is error prone, make resilient
|
||||||
if chad_term then
|
if chad_term then
|
||||||
if type == "wind" then
|
if type == "wind" then
|
||||||
-- hide from bufferline
|
-- hide from bufferline
|
||||||
vim.cmd(string.format('%d bufdo setlocal nobl', buf))
|
vim.cmd(string.format("%d bufdo setlocal nobl", buf))
|
||||||
-- swtich to another buff
|
-- swtich to another buff
|
||||||
-- TODO switch to next bufffer, this works too
|
-- TODO switch to next bufffer, this works too
|
||||||
vim.cmd('BufferLineCycleNext')
|
vim.cmd "BufferLineCycleNext"
|
||||||
else
|
else
|
||||||
local cur_win = vim.fn.winnr()
|
local cur_win = vim.fn.winnr()
|
||||||
-- we can close this window
|
-- we can close this window
|
||||||
vim.cmd(string.format('%d wincmd c', cur_win))
|
vim.cmd(string.format("%d wincmd c", cur_win))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
switch_buffer(windows, next_buf)
|
switch_buffer(windows, next_buf)
|
||||||
vim.cmd(string.format('bd! %d', buf))
|
vim.cmd(string.format("bd! %d", buf))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
switch_buffer(windows, next_buf)
|
switch_buffer(windows, next_buf)
|
||||||
vim.cmd(string.format('silent! confirm bd %d', buf))
|
vim.cmd(string.format("silent! confirm bd %d", buf))
|
||||||
end
|
end
|
||||||
-- revert buffer switches if user has canceled deletion
|
-- revert buffer switches if user has canceled deletion
|
||||||
if vim.fn.buflisted(buf) == 1 then
|
if vim.fn.buflisted(buf) == 1 then
|
||||||
|
|
Loading…
Reference in New Issue