Updated scripts
This commit is contained in:
parent
ec590a7a81
commit
292759db4e
@ -13,32 +13,32 @@ vim.opt.relativenumber = true
|
|||||||
vim.opt.termguicolors = true
|
vim.opt.termguicolors = true
|
||||||
vim.opt.undofile = true
|
vim.opt.undofile = true
|
||||||
vim.opt.signcolumn = "yes"
|
vim.opt.signcolumn = "yes"
|
||||||
vim.g.netrw_banner = 0 -- gets rid of the annoying banner for netrw
|
vim.g.netrw_banner = 0 -- gets rid of the annoying banner for netrw
|
||||||
vim.g.netrw_browse_split = 4 -- open in prior window
|
vim.g.netrw_browse_split = 4 -- open in prior window
|
||||||
vim.g.netrw_altv = 1 -- change from left splitting to right splitting
|
vim.g.netrw_altv = 1 -- change from left splitting to right splitting
|
||||||
vim.g.netrw_liststyle = 3 -- tree style view in netrw
|
vim.g.netrw_liststyle = 3 -- tree style view in netrw
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
-- Autocommands
|
-- Autocommands
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
-- -- show cursor line only in active window
|
-- show cursor line only in active window
|
||||||
-- local cursorLineGrp = vim.api.nvim_create_augroup("CursorLine", { clear = true })
|
local cursorLineGrp = vim.api.nvim_create_augroup("CursorLine", { clear = true })
|
||||||
-- vim.api.nvim_create_autocmd(
|
vim.api.nvim_create_autocmd(
|
||||||
-- { "InsertLeave", "WinEnter" },
|
{ "InsertLeave", "WinEnter" },
|
||||||
-- { pattern = "*", command = "set cursorline", group = cursorLineGrp }
|
{ pattern = "*", command = "set cursorline", group = cursorLineGrp }
|
||||||
-- )
|
)
|
||||||
-- vim.api.nvim_create_autocmd(
|
vim.api.nvim_create_autocmd(
|
||||||
-- { "InsertEnter", "WinLeave" },
|
{ "InsertEnter", "WinLeave" },
|
||||||
-- { pattern = "*", command = "set nocursorline", group = cursorLineGrp }
|
{ pattern = "*", command = "set nocursorline", group = cursorLineGrp }
|
||||||
-- )
|
)
|
||||||
-- vim.api.nvim_create_autocmd(
|
vim.api.nvim_create_autocmd(
|
||||||
-- { "InsertLeave", "FocusGained" },
|
{ "InsertLeave", "FocusGained" },
|
||||||
-- { pattern = "*", command = "set cursorline", group = cursorLineGrp }
|
{ pattern = "*", command = "set cursorline", group = cursorLineGrp }
|
||||||
-- )
|
)
|
||||||
-- vim.api.nvim_create_autocmd(
|
vim.api.nvim_create_autocmd(
|
||||||
-- { "InsertEnter", "FocusLost" },
|
{ "InsertEnter", "FocusLost" },
|
||||||
-- { pattern = "*", command = "set nocursorline", group = cursorLineGrp }
|
{ pattern = "*", command = "set nocursorline", group = cursorLineGrp }
|
||||||
-- )
|
)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
-- Plugin installation
|
-- Plugin installation
|
||||||
@ -52,35 +52,67 @@ vim.pack.add({
|
|||||||
{ src = "https://github.com/echasnovski/mini.statusline" },
|
{ src = "https://github.com/echasnovski/mini.statusline" },
|
||||||
{ src = "https://github.com/echasnovski/mini.pick" },
|
{ src = "https://github.com/echasnovski/mini.pick" },
|
||||||
{ src = "https://github.com/echasnovski/mini.extra" },
|
{ src = "https://github.com/echasnovski/mini.extra" },
|
||||||
{ src = 'https://github.com/neovim/nvim-lspconfig' },
|
{ src = "https://github.com/neovim/nvim-lspconfig" },
|
||||||
{ src = 'https://github.com/lewis6991/gitsigns.nvim' },
|
{ src = "https://github.com/lewis6991/gitsigns.nvim" },
|
||||||
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
|
{ src = "https://github.com/MunifTanjim/nui.nvim" },
|
||||||
{ src = 'https://github.com/folke/noice.nvim' },
|
{ src = "https://github.com/folke/noice.nvim" },
|
||||||
{ src = "https://github.com/L3MON4D3/LuaSnip" },
|
{ src = "https://github.com/L3MON4D3/LuaSnip" },
|
||||||
{ src = "https://github.com/rafamadriz/friendly-snippets" },
|
{ src = "https://github.com/rafamadriz/friendly-snippets" },
|
||||||
{ src = 'https://github.com/saghen/blink.cmp' },
|
{ src = "https://github.com/saghen/blink.cmp" },
|
||||||
|
{ src = "https://github.com/stevearc/conform.nvim" },
|
||||||
})
|
})
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
-- Plugin config
|
-- Plugin config
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
require "noice".setup()
|
require("noice").setup()
|
||||||
|
require("conform").setup({
|
||||||
|
formatters_by_ft = {
|
||||||
|
lua = { "stylua" },
|
||||||
|
python = { "isort", "black" },
|
||||||
|
rust = { "rustfmt", lsp_format = "fallback" },
|
||||||
|
c = { "clang_format" },
|
||||||
|
cpp = { "clang_format" },
|
||||||
|
javascript = { "prettier" },
|
||||||
|
typescript = { "prettier" },
|
||||||
|
javascriptreact = { "prettier" },
|
||||||
|
typescriptreact = { "prettier" },
|
||||||
|
css = { "prettier" },
|
||||||
|
html = { "prettier" },
|
||||||
|
json = { "prettier" },
|
||||||
|
yaml = { "prettier" },
|
||||||
|
markdown = { "prettier" },
|
||||||
|
sh = { "shfmt" },
|
||||||
|
},
|
||||||
|
formatters = {
|
||||||
|
clang_format = {
|
||||||
|
prepend_args = { "--style={BasedOnStyle: LLVM, IndentWidth: 4, TabWidth: 4, UseTab: Never}" },
|
||||||
|
},
|
||||||
|
shfmt = {
|
||||||
|
prepend_args = { "-i", "4" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
format_on_save = {
|
||||||
|
timeout_ms = 3000,
|
||||||
|
lsp_format = "fallback",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
local win_config = function()
|
local win_config = function()
|
||||||
local height = math.floor(0.618 * vim.o.lines)
|
local height = math.floor(0.618 * vim.o.lines)
|
||||||
local width = math.floor(0.618 * vim.o.columns)
|
local width = math.floor(0.618 * vim.o.columns)
|
||||||
return {
|
return {
|
||||||
anchor = 'NW',
|
anchor = "NW",
|
||||||
height = height,
|
height = height,
|
||||||
width = width,
|
width = width,
|
||||||
row = math.floor(0.5 * (vim.o.lines - height)),
|
row = math.floor(0.5 * (vim.o.lines - height)),
|
||||||
col = math.floor(0.5 * (vim.o.columns - width)),
|
col = math.floor(0.5 * (vim.o.columns - width)),
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
require "mini.pick".setup({ window = { config = win_config } })
|
require("mini.pick").setup({ window = { config = win_config } })
|
||||||
require "mini.extra".setup()
|
require("mini.extra").setup()
|
||||||
require "mini.statusline".setup()
|
require("mini.statusline").setup()
|
||||||
require "gitsigns".setup({
|
require("gitsigns").setup({
|
||||||
signs = {
|
signs = {
|
||||||
add = { text = "▎" },
|
add = { text = "▎" },
|
||||||
change = { text = "▎" },
|
change = { text = "▎" },
|
||||||
@ -110,17 +142,17 @@ require("blink.cmp").setup({
|
|||||||
auto_show = true,
|
auto_show = true,
|
||||||
draw = {
|
draw = {
|
||||||
columns = {
|
columns = {
|
||||||
{ "label", "label_description", gap = 1 },
|
{ "label", "label_description", gap = 1 },
|
||||||
{ "kind_icon", "kind" }
|
{ "kind_icon", "kind" },
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sources = {
|
sources = {
|
||||||
default = { 'lsp', 'buffer', 'path', 'snippets' },
|
default = { "lsp", "buffer", "path", "snippets" },
|
||||||
providers = {
|
providers = {
|
||||||
-- defaults to `{ 'buffer' }`
|
-- defaults to `{ 'buffer' }`
|
||||||
lsp = { fallbacks = {} }
|
lsp = { fallbacks = {} },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
fuzzy = { implementation = "lua" },
|
fuzzy = { implementation = "lua" },
|
||||||
@ -168,27 +200,29 @@ vim.diagnostic.config({
|
|||||||
local map = vim.keymap.set
|
local map = vim.keymap.set
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
-- QoL bindings
|
-- QoL bindings
|
||||||
map('i', 'jj', '<Esc>', { noremap = true, silent = true })
|
map("i", "jj", "<Esc>", { noremap = true, silent = true })
|
||||||
map('n', '<leader>u', ':update<CR> :source<CR>', { noremap = true, silent = true })
|
map("n", "<leader>u", ":update<CR> :source<CR>", { noremap = true, silent = true })
|
||||||
map('n', '<leader>w', ':write<CR>', { noremap = true, silent = true })
|
map("n", "<leader>w", ":write<CR>", { noremap = true, silent = true })
|
||||||
map('n', '<leader>q', ':quit<CR>', { noremap = true, silent = true })
|
map("n", "<leader>q", ":quit<CR>", { noremap = true, silent = true })
|
||||||
map('n', '<leader>v', ':vsplit<CR>', { noremap = true, silent = true })
|
map("n", "<leader>v", ":vsplit<CR>", { noremap = true, silent = true })
|
||||||
|
|
||||||
-- Git
|
-- Git
|
||||||
map('n', '<leader>g', ':LazyGitCurrentFile<CR>', { noremap = true, silent = true })
|
map("n", "<leader>g", ":LazyGitCurrentFile<CR>", { noremap = true, silent = true })
|
||||||
|
|
||||||
-- File browser
|
-- File browser
|
||||||
map('n', '<leader>e', ':25Lex<CR>', { noremap = true, silent = true })
|
map("n", "<leader>e", ":25Lex<CR>", { noremap = true, silent = true })
|
||||||
map('n', '<leader>f', ":Pick files<CR>", { noremap = true, silent = true })
|
map("n", "<leader>f", ":Pick files<CR>", { noremap = true, silent = true })
|
||||||
map('n', '<leader>h', ":Pick help<CR>", { noremap = true, silent = true })
|
map("n", "<leader>h", ":Pick help<CR>", { noremap = true, silent = true })
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
map('n', '<leader>lf', vim.lsp.buf.format, { noremap = true, silent = true })
|
map("n", "grr", ":Pick lsp scope='references'<CR>", { noremap = true, silent = true })
|
||||||
|
map("n", "grt", ":Pick lsp scope='type_definition'<CR>", { noremap = true, silent = true })
|
||||||
|
map("n", "gri", ":Pick lsp scope='implementation'<CR>", { noremap = true, silent = true })
|
||||||
|
|
||||||
-- Global Copy/Paste
|
-- Global Copy/Paste
|
||||||
map({ 'n', 'v' }, '<leader>y', '"+y', { noremap = true, silent = true })
|
map({ "n", "v" }, "<leader>y", '"+y', { noremap = true, silent = true })
|
||||||
map({ 'n', 'v' }, '<leader>d', '"+d', { noremap = true, silent = true })
|
map({ "n", "v" }, "<leader>d", '"+d', { noremap = true, silent = true })
|
||||||
map({ 'n', 'v' }, '<leader>c', '1z=', { noremap = true, silent = true })
|
map({ "n", "v" }, "<leader>c", "1z=", { noremap = true, silent = true })
|
||||||
|
|
||||||
-- Smart splits to support TMUX
|
-- Smart splits to support TMUX
|
||||||
map({ "n", "t" }, "<A-h>", require("smart-splits").resize_left, { desc = "Resize left" })
|
map({ "n", "t" }, "<A-h>", require("smart-splits").resize_left, { desc = "Resize left" })
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user