changes, idk

This commit is contained in:
2022-05-18 06:15:59 -05:00
parent 2420aee32b
commit 39cd83f557
21 changed files with 680 additions and 662 deletions
-3
View File
@@ -1,3 +0,0 @@
--vim.o.foldlevelstart = 4
--vim.o.foldmethod = "expr"
--vim.o.foldexpr = "nvim_treesitter#foldexpr()"
+3
View File
@@ -0,0 +1,3 @@
vim.o.foldlevelstart = 10
vim.o.foldmethod = "expr"
vim.o.foldexpr = "nvim_treesitter#foldexpr()"
+2
View File
@@ -0,0 +1,2 @@
vim.bo.shiftwidth = 2
vim.bo.tabstop = 2
+1 -1
View File
@@ -1,3 +1,3 @@
local len = 4 local len = 2
vim.bo.shiftwidth = len vim.bo.shiftwidth = len
vim.bo.tabstop = len vim.bo.tabstop = len
+3
View File
@@ -0,0 +1,3 @@
local len = 2
vim.bo.shiftwidth = len
vim.bo.tabstop = len
+3
View File
@@ -0,0 +1,3 @@
local len = 2
vim.bo.shiftwidth = len
vim.bo.tabstop = len
+3
View File
@@ -0,0 +1,3 @@
local len = 2
vim.bo.shiftwidth = len
vim.bo.tabstop = len
+3
View File
@@ -0,0 +1,3 @@
local len = 2
vim.bo.shiftwidth = len
vim.bo.tabstop = len
+3
View File
@@ -0,0 +1,3 @@
local len = 2
vim.bo.shiftwidth = len
vim.bo.tabstop = len
+3
View File
@@ -0,0 +1,3 @@
local len = 2
vim.bo.shiftwidth = len
vim.bo.tabstop = len
+7 -7
View File
@@ -1,10 +1,10 @@
require "ale" --require("ale")
require "packer_check" require("packer_check")
require "plugins" require("plugins")
require "config" require("config")
require "keybinds" require("keybinds")
require "save_buffer_position" require("save_buffer_position")
require "lsp" require("lsp")
--local theme = vim.env.LIGHTMODE == "1" and "onehalflight" or "onedark" --local theme = vim.env.LIGHTMODE == "1" and "onehalflight" or "onedark"
--vim.cmd("colorscheme " .. theme) --vim.cmd("colorscheme " .. theme)
+3 -2
View File
@@ -18,11 +18,12 @@ g.ale_fixers = {
javascript = { "prettier" }, javascript = { "prettier" },
typescript = { "prettier" }, typescript = { "prettier" },
javascriptreact = { "prettier" }, javascriptreact = { "prettier" },
typescriptreact = {"prettier"} typescriptreact = { "prettier" },
htmldjango = { "prettier" },
} }
g.ale_linters = { g.ale_linters = {
sh = {"bashate"} sh = { "bashate" },
--python = {"flake8"}, --python = {"flake8"},
--cpp = {"g++"}, --cpp = {"g++"},
--html = {"tidy"}, --html = {"tidy"},
+53 -41
View File
@@ -1,7 +1,10 @@
-- env file highlighting -- env file highlighting
vim.cmd [[au BufRead,BufNewFile .env.* set filetype=sh]] vim.cmd([[au BufRead,BufNewFile .env.* set filetype=sh]])
-- Dockerfile file highlighting -- Dockerfile file highlighting
vim.cmd [[au BufRead,BufNewFile Dockerfile.* set filetype=dockerfile]] vim.cmd([[au BufRead,BufNewFile Dockerfile.* set filetype=dockerfile]])
vim.cmd([[au BufWrite * normal zx]])
-- jinja highlighting
vim.cmd([[au BufRead,BufNewFile *.jinja set filetype=html]])
local opt = vim.opt -- to set options local opt = vim.opt -- to set options
local fn = vim.fn local fn = vim.fn
@@ -56,7 +59,7 @@ opt.foldmethod = "indent"
----------------------------------------------------- -----------------------------------------------------
-- DISABLE HIGHLIGHT OUTSIDE OF SEARCH AND REPLACE -- -- DISABLE HIGHLIGHT OUTSIDE OF SEARCH AND REPLACE --
----------------------------------------------------- -----------------------------------------------------
vim.cmd [[ vim.cmd([[
" Enable highlighting all the matches in incsearch mode " Enable highlighting all the matches in incsearch mode
" But don't enable hlsearch always " But don't enable hlsearch always
augroup vimrc-incsearch-highlight augroup vimrc-incsearch-highlight
@@ -64,12 +67,17 @@ augroup vimrc-incsearch-highlight
autocmd CmdlineEnter [/\?:] :set hlsearch autocmd CmdlineEnter [/\?:] :set hlsearch
autocmd CmdlineLeave [/\?:] :set nohlsearch autocmd CmdlineLeave [/\?:] :set nohlsearch
augroup END augroup END
]] ]])
--------------- ---------------
-- PROVIDERS -- -- PROVIDERS --
--------------- ---------------
local pyenv_root = vim.env.PYENV_ROOT
if pyenv_root ~= nil then
g.python3_host_prog = pyenv_root .. '/shims/python3'
else
g.python3_host_prog = "/usr/bin/python3" g.python3_host_prog = "/usr/bin/python3"
end
------------------ ------------------
-- ONEDARK.NVIM -- -- ONEDARK.NVIM --
@@ -80,10 +88,10 @@ g.python3_host_prog = "/usr/bin/python3"
--g.onedark_darker_diagnostics = false --g.onedark_darker_diagnostics = false
-- Lua -- Lua
require("onedark").setup { require("onedark").setup({
style = "darker", style = "darker",
toggle_style_key = "<nop>" toggle_style_key = "<nop>",
} })
require("onedark").load() require("onedark").load()
---------------- ----------------
@@ -100,13 +108,13 @@ g.bracey_refresh_on_save = true
----------------------- -----------------------
-- TREESITTER CONFIG -- -- TREESITTER CONFIG --
----------------------- -----------------------
require("nvim-treesitter.configs").setup { require("nvim-treesitter.configs").setup({
ensure_installed = "maintained", ensure_installed = "all",
highlight = { highlight = {
enable = true, enable = true,
disable = {"typescript", "tsx", "html", "javascript"} disable = { "typescript", "tsx", "html", "javascript" },
} },
} })
----------------------- -----------------------
-- GITHUB NVIM THEME -- -- GITHUB NVIM THEME --
@@ -123,12 +131,12 @@ g.github_hide_inactive_statusline = false
-- LUALINE -- -- LUALINE --
------------- -------------
require("lualine").setup { require("lualine").setup({
options = { theme = "onedark", icons_enabled = true }, options = { theme = "onedark", icons_enabled = true },
sections = { sections = {
lualine_a = { "mode" }, lualine_a = { "mode" },
lualine_b = { lualine_b = {
"FugitiveHead" "FugitiveHead",
}, },
lualine_c = { "filename" }, lualine_c = { "filename" },
lualine_x = { lualine_x = {
@@ -138,13 +146,13 @@ require("lualine").setup {
[[string.format("%d Lines", vim.fn.line('$'))]], [[string.format("%d Lines", vim.fn.line('$'))]],
{ {
"diagnostics", "diagnostics",
sources = {"nvim_diagnostic", "ale"} sources = { "nvim_diagnostic", "ale" },
} },
}, },
lualine_y = { lualine_y = {
"progress" "progress",
}, },
lualine_z = {"location"} lualine_z = { "location" },
}, },
inactive_sections = { inactive_sections = {
lualine_a = {}, lualine_a = {},
@@ -152,7 +160,7 @@ require("lualine").setup {
lualine_c = { "filename" }, lualine_c = { "filename" },
lualine_x = { "location" }, lualine_x = { "location" },
lualine_y = {}, lualine_y = {},
lualine_z = {} lualine_z = {},
}, },
tabline = { tabline = {
lualine_a = { lualine_a = {
@@ -160,20 +168,22 @@ require("lualine").setup {
"buffers", "buffers",
show_filename_only = false, -- shows shortened relative path when false show_filename_only = false, -- shows shortened relative path when false
show_modified_status = true, -- shows indicator then bufder is modified show_modified_status = true, -- shows indicator then bufder is modified
max_length = vim.o.columns * 5 / 7, -- maximum width of buffers component max_length = function ()
return vim.o.columns * 5 / 6
end, -- maximum width of buffers component
filetype_names = { filetype_names = {
TelescopePrompt = "Telescope", TelescopePrompt = "Telescope",
dashboard = "Dashboard", dashboard = "Dashboard",
packer = "Packer", packer = "Packer",
fzf = "FZF", fzf = "FZF",
alpha = "Alpha", alpha = "Alpha",
["lsp-installer"] = "LSP Installer" ["lsp-installer"] = "LSP Installer",
}, -- shows specific buffer name for that filetype ( { `filetype` = `buffer_name`, ... } ) }, -- shows specific buffer name for that filetype ( { `filetype` = `buffer_name`, ... } )
buffers_color = { buffers_color = {
active = nil, -- color for active buffer active = nil, -- color for active buffer
inactive = nil -- color for inactive buffer inactive = nil, -- color for inactive buffer
} },
} },
}, },
lualine_b = {}, lualine_b = {},
lualine_c = {}, lualine_c = {},
@@ -184,18 +194,18 @@ require("lualine").setup {
[[string.format("Tab %d/%d", vim.fn.tabpagenr(), vim.fn.tabpagenr('$'))]], [[string.format("Tab %d/%d", vim.fn.tabpagenr(), vim.fn.tabpagenr('$'))]],
cond = function() cond = function()
return fn.tabpagenr("$") > 1 return fn.tabpagenr("$") > 1
end end,
}, },
{ {
[[harpoon_status()]], [[harpoon_status()]],
cond = function() cond = function()
return require("harpoon.mark").get_length() > 0 return require("harpoon.mark").get_length() > 0
end end,
}
}
}, },
extensions = {} },
} },
extensions = {},
})
------------- -------------
-- HARPOON -- -- HARPOON --
@@ -203,23 +213,21 @@ require("lualine").setup {
--Here is the set of global settings and their default values. --Here is the set of global settings and their default values.
require("harpoon").setup( require("harpoon").setup({
{
global_settings = { global_settings = {
save_on_toggle = false, save_on_toggle = false,
save_on_change = true, save_on_change = true,
enter_on_sendcmd = false, enter_on_sendcmd = false,
tmux_autoclose_windows = false, tmux_autoclose_windows = false,
excluded_filetypes = {"harpoon"} excluded_filetypes = { "harpoon" },
} },
} })
)
-------------- --------------
-- NVIM FZF -- -- NVIM FZF --
-------------- --------------
require("fzf").default_options = { require("fzf").default_options = {
fzf_cli_args = " --height 100% --preview='bat --color=always --style=header,grid --line-range :300 {}' " fzf_cli_args = " --height 100% --preview='bat --color=always --style=header,grid --line-range :300 {}' ",
} }
---------------------- ----------------------
@@ -250,10 +258,14 @@ require("fzf").default_options = {
--} --}
--vim.opt.listchars:append("eol:↴") --vim.opt.listchars:append("eol:↴")
--vim.opt.listchars:append("space:⋅") --vim.opt.listchars:append("space:⋅")
vim.opt.list = true opt.list = true
require("indent_blankline").setup { require("indent_blankline").setup({
space_char_blankline = " ", space_char_blankline = " ",
show_current_context = true, show_current_context = true,
show_current_context_start = true show_current_context_start = true,
} })
-- PETOBENS/POET-V --
g.poetv_executables = { "poetry" }
g.poetv_auto_activate = 1
+2 -3
View File
@@ -1,5 +1,4 @@
local bug = local bug = [[
[[
Weird bug: Weird bug:
@@ -93,7 +92,7 @@ end
-- Does not include buffers without a file path. -- Does not include buffers without a file path.
local get_buffer_paths = function() local get_buffer_paths = function()
local buffers = {} local buffers = {}
for b = 1, vim.fn.bufnr "$" do for b = 1, vim.fn.bufnr("$") do
if vim.fn.buflisted(b) ~= 0 and vim.api.nvim_buf_get_option(b, "buftype") == "" then if vim.fn.buflisted(b) ~= 0 and vim.api.nvim_buf_get_option(b, "buftype") == "" then
local buf_path = vim.fn.expand("#" .. b) local buf_path = vim.fn.expand("#" .. b)
if buf_path ~= "" then if buf_path ~= "" then
+4 -3
View File
@@ -17,7 +17,7 @@ map("v", "<C-C>", '"+y')
--map("n", "<S-Tab>", ":bprevious<CR>") --map("n", "<S-Tab>", ":bprevious<CR>")
map("n", "<Tab>", ":lua harpoon_bnext()<CR>") map("n", "<Tab>", ":lua harpoon_bnext()<CR>")
map("n", "<S-Tab>", ":lua harpoon_bprevious()<CR>") map("n", "<S-Tab>", ":lua harpoon_bprevious()<CR>")
map("n", "<esc>", ":noh<cr><esc>", {silent = true}) --After searching, pressing escape stops the highlight --map("n", "<esc>", ":noh<cr><esc>", { silent = true }) --After searching, pressing escape stops the highlight
--map("n", "<Leader>w", [[:%s/\s\+$//e<CR>]]) --map("n", "<Leader>w", [[:%s/\s\+$//e<CR>]])
--map("n", "<Leader>x", ":Bclose <CR>") --map("n", "<Leader>x", ":Bclose <CR>")
@@ -152,7 +152,8 @@ map("n", "<Leader>p", ":Buffers<CR>")
map("n", "<Leader>h", ":Helptags<CR>") map("n", "<Leader>h", ":Helptags<CR>")
map("n", "<Leader>;", ":History:<CR>") map("n", "<Leader>;", ":History:<CR>")
map("n", "<Leader>c", ":Commands<CR>") map("n", "<Leader>c", ":Commands<CR>")
map("n", "<Leader>r", ":Rg<CR>") map("n", "<Leader>r", ":Rg <C-R><C-W><CR>")
map("n", "<Leader>R", ":Rg<CR>")
map("n", "<Leader>s", ":Lines<CR>") map("n", "<Leader>s", ":Lines<CR>")
--map("n", "<Leader>[", ":Windows <CR>") --map("n", "<Leader>[", ":Windows <CR>")
@@ -170,7 +171,7 @@ map("n", "<Leader>gb", ":GBranches<CR>")
--------- ---------
--map("n", "<c-k>", ":ALEPreviousWrap <CR>", {silent = true}) --map("n", "<c-k>", ":ALEPreviousWrap <CR>", {silent = true})
--map("n", "<c-j>", ":ALENextWrap <CR>", {silent = true}) --map("n", "<c-j>", ":ALENextWrap <CR>", {silent = true})
map("n", "<space>f", ":ALEFix<CR>", {silent = true}) --map("n", "<space>f", ":ALEFix<CR>", {silent = true})
------------- -------------
-- HARPOON -- -- HARPOON --
+191 -205
View File
@@ -1,86 +1,112 @@
local opt = vim.opt -- to set options -- ooooo ooooo .o8
-- -- `888' `888' "888
-------------------- -- 888 888 .ooooo. .oooo. .oooo888 .ooooo. oooo d8b
-- NVIM-AUTOPAIRS -- -- 888ooooo888 d88' `88b `P )88b d88' `888 d88' `88b `888""8P
-------------------- -- 888 888 888ooo888 .oP"888 888 888 888ooo888 888
require("nvim-autopairs").setup {check_ts = true} -- 888 888 888 .o d8( 888 888 888 888 .o 888
-- o888o o888o `Y8bod8P' `Y888""8o `Y8bod88P" `Y8bod8P' d888b
-------------- -- https://patorjk.com/software/taag/#p=display&f=Roman&t=WORD_TO_MAKE_HEADER
-- NVIM-CMP --
-------------- -- .oooooo. oooo .o8 oooo
-- d8P' `Y8b `888 "888 `888
-- 888 888 .ooooo. 888oooo. .oooo. 888
-- 888 888 d88' `88b d88' `88b `P )88b 888
-- 888 ooooo 888 888 888 888 888 .oP"888 888
-- `88. .88' 888 888 888 888 888 d8( 888 888
-- `Y8bood8P' o888o `Y8bod8P' `Y8bod8P' `Y888""8o o888o
local opt = vim.opt -- to set options
vim.diagnostic.config({
virtual_text = true,
signs = true,
update_in_insert = false,
})
local config = {
root_dir = require("lspconfig.util").root_pattern(
"manage.py",
"pyproject.toml",
"package.json",
".null-ls-root",
"Makefile",
".git"
),
on_attach = function(client, bufnr)
local function buf_set_keymap(...)
vim.api.nvim_buf_set_keymap(bufnr, ...)
end
local function buf_set_option(...)
vim.api.nvim_buf_set_option(bufnr, ...)
end
---- Disables document formatting by lsp
--client.resolved_capabilities.document_formatting = false
--client.resolved_capabilities.document_range_formatting = false
-- Enable completion triggered by <c-x><c-o>
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-- Mappings.
local opts = { noremap = true, silent = true }
-- See `:help vim.lsp.*` for documentation on any of the below functions
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
buf_set_keymap("n", "<space>e", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
buf_set_keymap("n", "<space>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
buf_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
buf_set_keymap("n", "[d", "<cmd>lua vim.diagnostic.goto_prev({wrap = true})<CR>", opts)
buf_set_keymap("n", "]d", "<cmd>lua vim.diagnostic.goto_next({wrap = true})<CR>", opts)
buf_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
buf_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
end,
}
-- .oooooo. ooo ooooo ooooooooo.
-- d8P' `Y8b `88. .888' `888 `Y88.
-- 888 888b d'888 888 .d88'
-- 888 8 Y88. .P 888 888ooo88P'
-- 888 8 `888' 888 888
-- `88b ooo 8 Y 888 888
-- `Y8bood8P' o8o o888o o888o
require("nvim-autopairs").setup({ check_ts = true })
-- Set completeopt to have a better completion experience -- Set completeopt to have a better completion experience
opt.completeopt = "menuone,noselect" opt.completeopt = "menuone,noselect"
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local cmp_autopairs = require("nvim-autopairs.completion.cmp") local cmp_autopairs = require("nvim-autopairs.completion.cmp")
local cmp = require("cmp") local cmp = require("cmp")
-- LUASNIP CMP THINGS
--local luasnip = require("luasnip")
--
--local luasnip_expand = function(args)
-- luasnip.lsp_expand(args.body)
--end
--
--local luasnip_tab = cmp.mapping(
-- function(fallback)
-- if cmp.visible() then
-- cmp.select_next_item()
-- elseif luasnip.expand_or_jumpable() then
-- luasnip.expand_or_jump()
-- elseif has_words_before() then
-- cmp.complete()
-- else
-- fallback()
-- end
-- end,
-- {"i", "s"}
--)
--
--local luasnip_shift_tab = cmp.mapping(
-- function(fallback)
-- if cmp.visible() then
-- cmp.select_prev_item()
-- elseif luasnip.jumpable(-1) then
-- luasnip.jump(-1)
-- else
-- fallback()
-- end
-- end,
-- {"i", "s"}
--)
-- CMP NVIM ULTISNIP -- CMP NVIM ULTISNIP
local cmp_ultisnips_mappings = require("cmp_nvim_ultisnips.mappings") local cmp_ultisnips_mappings = require("cmp_nvim_ultisnips.mappings")
local ultisnip = { local ultisnip = {
expand = function(args) expand = function(args)
vim.fn["UltiSnips#Anon"](args.body) vim.fn["UltiSnips#Anon"](args.body)
end, end,
tab = cmp.mapping( tab = cmp.mapping(function(fallback)
function(fallback)
--cmp_ultisnips_mappings.jump_forwards(fallback)
--cmp_ultisnips_mappings.compose({"jump_forwards", "select_next_item"})(fallback)
cmp_ultisnips_mappings.compose({ "select_next_item" })(fallback) cmp_ultisnips_mappings.compose({ "select_next_item" })(fallback)
end, end, { "i", "s" }),
{"i", "s"} shift_tab = cmp.mapping(function(fallback)
),
shift_tab = cmp.mapping(
function(fallback)
--cmp_ultisnips_mappings.jump_backwards(fallback)
cmp_ultisnips_mappings.compose({ "select_prev_item" })(fallback) cmp_ultisnips_mappings.compose({ "select_prev_item" })(fallback)
end, end, { "i", "s" }),
{"i", "s"}
)
} }
cmp.setup { cmp.setup({
snippet = { snippet = {
expand = ultisnip.expand expand = ultisnip.expand,
}, },
mapping = { mapping = {
["<C-p>"] = cmp.mapping.select_prev_item(), ["<C-p>"] = cmp.mapping.select_prev_item(),
@@ -89,116 +115,94 @@ cmp.setup {
["<C-f>"] = cmp.mapping.scroll_docs(4), ["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), ["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.close(), ["<C-e>"] = cmp.mapping.close(),
["<CR>"] = cmp.mapping.confirm { ["<CR>"] = cmp.mapping.confirm({
--behavior = cmp.ConfirmBehavior.Replace, select = true,
select = true }),
},
["<Tab>"] = ultisnip.tab, ["<Tab>"] = ultisnip.tab,
["<S-Tab>"] = ultisnip.shift_tab ["<S-Tab>"] = ultisnip.shift_tab,
}, },
sources = { sources = {
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
--{name = "luasnip"}, { name = "ultisnips" },
{name = "ultisnips"} },
} })
}
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))
-------------------- -- ooooo ooo oooo oooo ooooo .oooooo..o
-- NVIM-AUTOPAIRS -- -- `888b. `8' `888 `888 `888' d8P' `Y8
-------------------- -- 8 `88b. 8 oooo oooo 888 888 888 Y88bo.
-- 8 `88b. 8 `888 `888 888 888 888 `"Y8888o.
-- 8 `88b.8 888 888 888 888 888 `"Y88b
-- 8 `888 888 888 888 888 888 o oo .d8P
-- o8o `8 `V88V"V8P' o888o o888o o888ooooood8 8""88888P'
--require("nvim-autopairs").setup {} local null_ls = require("null-ls")
--
---- you need setup cmp first put this after cmp.setup()
--require("nvim-autopairs.completion.cmp").setup(
-- {
-- map_cr = true, -- map <CR> on insert mode
-- map_complete = true, -- it will auto insert `(` (map_char) after select function or method item
-- auto_select = true, -- automatically select the first item
-- insert = false, -- use insert confirm behavior instead of replace
-- map_char = {
-- -- modifies the function or method delimiter by filetypes
-- all = "(",
-- tex = "{"
-- }
-- }
--)
------------------------ -- ORDER IN TABLE DETERMINES EXECUTION ORDER
-- NVIM-LSP-INSTALLER -- local sources = {
------------------------ -- python
null_ls.builtins.diagnostics.flake8,
-- Use an on_attach function to only map the following keys null_ls.builtins.diagnostics.mypy,
-- after the language server attaches to the current buffer null_ls.builtins.formatting.black,
local common_on_attach = function(client, bufnr) null_ls.builtins.formatting.isort,
local function buf_set_keymap(...) -- js
vim.api.nvim_buf_set_keymap(bufnr, ...) null_ls.builtins.diagnostics.eslint,
end null_ls.builtins.code_actions.eslint,
local function buf_set_option(...) null_ls.builtins.formatting.prettier.with({
vim.api.nvim_buf_set_option(bufnr, ...) extra_filetypes = { "svelte" },
end }),
-- lua
--client.resolved_capabilities.document_formatting = false null_ls.builtins.formatting.stylua,
--client.resolved_capabilities.document_range_formatting = false -- bash
-- Enable completion triggered by <c-x><c-o> null_ls.builtins.formatting.shfmt,
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.code_actions.shellcheck,
-- Mappings. -- cpp
local opts = {noremap = true, silent = true} null_ls.builtins.formatting.clang_format,
-- latex
-- See `:help vim.lsp.*` for documentation on any of the below functions null_ls.builtins.formatting.latexindent,
--buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts) null_ls.builtins.diagnostics.chktex,
buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts) -- golang
buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts) null_ls.builtins.diagnostics.golangci_lint,
buf_set_keymap("n", "<space>e", "<cmd>lua vim.diagnostic.show_line_diagnostics()<CR>", opts) -- sql
buf_set_keymap("n", "<space>F", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts) --null_ls.builtins.diagnostics.sqlfluff.with({
buf_set_keymap("n", "<space>q", "<cmd>lua vim.diagnostic.set_loclist()<CR>", opts) -- --filetypes = { "sql", "html" },
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts) -- args = { "lint", "--dialect", "ansi", "-f", "github-annotation", "-n", "--disable_progress_bar", "-" },
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts) --}),
buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts) --null_ls.builtins.formatting.sqlfluff.with({
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts) -- --filetypes = { "sql", "html" },
buf_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts) -- args = { "fix", "--dialect", "ansi", "--disable_progress_bar", "-f", "-n", "-" },
buf_set_keymap("n", "<C-[>", "<cmd>lua vim.diagnostic.goto_prev({wrap = true})<CR>", opts) --}),
buf_set_keymap("n", "<C-]>", "<cmd>lua vim.diagnostic.goto_next({wrap = true})<CR>", opts)
buf_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
buf_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
end
-- enable null-ls integration (optional)
-- lspconfig integration is deprecated; pass options to setup instead
--require("null-ls").config {}
require("null-ls").setup {
on_attach = common_on_attach,
--}
--require("lspconfig")["null-ls"].setup {
handlers = {
["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics,
{
virtual_text = false
}
)
}
} }
null_ls.setup({
sources = sources,
on_attach = config.on_attach,
root_dir = config.root_dir,
})
local tsserver_on_attach = function(client, bufnr) -- ooooo .oooooo..o ooooooooo. ooooo . oooo oooo
-- `888' d8P' `Y8 `888 `Y88. `888' .o8 `888 `888
-- 888 Y88bo. 888 .d88' 888 ooo. .oo. .oooo.o .o888oo .oooo. 888 888 .ooooo. oooo d8b
-- 888 `"Y8888o. 888ooo88P' 888 `888P"Y88b d88( "8 888 `P )88b 888 888 d88' `88b `888""8P
-- 888 `"Y88b 888 888 888 888 `"Y88b. 888 .oP"888 888 888 888ooo888 888
-- 888 o oo .d8P 888 888 888 888 o. )88b 888 . d8( 888 888 888 888 .o 888
-- o888ooooood8 8""88888P' o888o o888o o888o o888o 8""888P' "888" `Y888""8o o888o o888o `Y8bod8P' d888b
local on_attach_tsserver = function(client, bufnr)
local ts_utils = require("nvim-lsp-ts-utils") local ts_utils = require("nvim-lsp-ts-utils")
ts_utils.setup { ts_utils.setup({
eslint_bin = "eslint_d", eslint_bin = "eslint_d",
eslint_enable_diagnostics = true, eslint_enable_diagnostics = true,
eslint_enable_code_actions = true, eslint_enable_code_actions = true,
enable_import_on_completion = true, enable_import_on_completion = true,
filter_out_diagnostics_by_severity = { filter_out_diagnostics_by_severity = {
"information", "information",
"hint" "hint",
--"warning", --"warning",
--"error", --"error",
} },
} })
ts_utils.setup_client(client) ts_utils.setup_client(client)
-- no default maps, so you may want to define some here -- no default maps, so you may want to define some here
@@ -206,82 +210,61 @@ local tsserver_on_attach = function(client, bufnr)
vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize<CR>", o) vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize<CR>", o)
vim.api.nvim_buf_set_keymap(bufnr, "n", "rN", ":TSLspRenameFile<CR>", o) vim.api.nvim_buf_set_keymap(bufnr, "n", "rN", ":TSLspRenameFile<CR>", o)
vim.api.nvim_buf_set_keymap(bufnr, "n", "gI", ":TSLspImportAll<CR>", o) vim.api.nvim_buf_set_keymap(bufnr, "n", "gI", ":TSLspImportAll<CR>", o)
common_on_attach(client, bufnr)
end end
require("nvim-lsp-installer").on_server_ready( require("nvim-lsp-installer").on_server_ready(function(server)
function(server)
--Enable (broadcasting) snippet capability for completion --Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities() local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true capabilities.textDocument.completion.completionItem.snippetSupport = true
local disable_diag = {
["textDocument/publishDiagnostics"] = function() end,
}
local on_attach_generic = function(client, bufnr)
-- Disables document formatting by lsp
client.resolved_capabilities.document_formatting = false
client.resolved_capabilities.document_range_formatting = false
config.on_attach(client, bufnr)
end
local opts = { local opts = {
on_attach = common_on_attach, on_attach = on_attach_generic,
capabilities = capabilities, capabilities = capabilities,
flags = { flags = {
debounce_text_changes = 150 debounce_text_changes = 150,
}, },
settings = { settings = {
format = {enable = true} format = { enable = true },
}, },
handlers = { root_dir = config.root_dir,
["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics,
{
virtual_text = false
} }
)
}
}
--local vscode_servers = {html = "html", jsonls = "json", cssls = "css"}
--local lang = vscode_servers[server.name]
--if lang ~= nil then
-- opts.cmd = {("vscode-" .. lang .. "-language-server"), "--stdio"}
--end
if server.name == "tsserver" then if server.name == "tsserver" then
opts.on_attach = tsserver_on_attach opts.on_attach = function(...)
on_attach_tsserver(...)
on_attach_generic(...)
end
elseif server.name == "sumneko_lua" then elseif server.name == "sumneko_lua" then
opts.settings.Lua = { opts.settings.Lua = {
diagnostics = { diagnostics = {
globals = { globals = {
-- neovim
"vim", "vim",
-- awesome
"awesome", "awesome",
"client" "client",
} },
}
}
elseif server.name == "diagnosticls" then
opts = {
filetypes = {"python"},
init_options = {
formatters = {
black = {
command = "black",
args = {"--quiet", "-"},
rootPatterns = {"pyproject.toml", "setup.cfg"}
}, },
formatFiletypes = {
python = {"black"}
}
}
}
} }
end end
server:setup(opts) server:setup(opts)
vim.cmd [[do User LspAttachBuffers]] vim.cmd([[do User LspAttachBuffers]])
end end)
)
local lsp_installer_servers = require("nvim-lsp-installer.servers") local lsp_installer_servers = require("nvim-lsp-installer.servers")
local auto_servers = { local auto_servers = {
"pylsp", --"pylsp",
--"pyright", --"pyright",
"sumneko_lua", "sumneko_lua",
"tsserver", "tsserver",
@@ -291,10 +274,13 @@ local auto_servers = {
"html", "html",
"cssls", "cssls",
"jsonls", "jsonls",
"omnisharp", --"omnisharp",
"eslint" "ltex",
--"diagnosticls" "jedi_language_server",
--"eslintls" "vuels",
"svelte",
"gopls",
"golangci_lint_ls",
} }
for _, s in ipairs(auto_servers) do for _, s in ipairs(auto_servers) do
+2 -2
View File
@@ -3,6 +3,6 @@ local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then if fn.empty(fn.glob(install_path)) > 0 then
fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }) fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path })
vim.cmd "packadd packer.nvim" vim.cmd("packadd packer.nvim")
vim.cmd ":PackerSync" vim.cmd(":PackerSync")
end end
+48 -49
View File
@@ -1,21 +1,20 @@
local use = require("packer").use local use = require("packer").use
require("packer").startup( require("packer").startup(function()
function() use("wbthomason/packer.nvim")
use "wbthomason/packer.nvim"
-- OPENAI CODEX -- OPENAI CODEX
--use "tom-doerr/vim_codex" --use "tom-doerr/vim_codex"
-- NAVIGATION -- NAVIGATION
use { use({
"phaazon/hop.nvim", "phaazon/hop.nvim",
--branch = "v1.2", -- optional but strongly recommended --branch = "v1.2", -- optional but strongly recommended
config = function() config = function()
-- you can configure Hop the way you like here; see :h hop-config -- you can configure Hop the way you like here; see :h hop-config
require "hop".setup {keys = "etovxqpdygfblzhckisuran"} require("hop").setup({ keys = "etovxqpdygfblzhckisuran" })
end end,
} })
--use { --use {
-- "phaazon/hop.nvim", -- "phaazon/hop.nvim",
-- as = "hop", -- as = "hop",
@@ -31,74 +30,74 @@ require("packer").startup(
-- VIM THEMING -- VIM THEMING
--use "rafi/awesome-vim-colorschemes" -- vim themes --use "rafi/awesome-vim-colorschemes" -- vim themes
use "navarasu/onedark.nvim" use("navarasu/onedark.nvim")
use "projekt0n/github-nvim-theme" use("projekt0n/github-nvim-theme")
use "wojciechkepka/vim-github-dark" use("wojciechkepka/vim-github-dark")
use "folke/tokyonight.nvim" use("folke/tokyonight.nvim")
-- FILE MANAGEMENT -- FILE MANAGEMENT
use "junegunn/fzf" use("junegunn/fzf")
use "junegunn/fzf.vim" use("junegunn/fzf.vim")
use "rbgrouleff/bclose.vim" use("rbgrouleff/bclose.vim")
use "francoiscabrol/ranger.vim" use("francoiscabrol/ranger.vim")
use "vijaymarupudi/nvim-fzf" use("vijaymarupudi/nvim-fzf")
use "vijaymarupudi/nvim-fzf-commands" use("vijaymarupudi/nvim-fzf-commands")
use {"tpope/vim-obsession"} use({ "tpope/vim-obsession" })
-- GIT -- GIT
use "tpope/vim-fugitive" use("tpope/vim-fugitive")
use "stsewd/fzf-checkout.vim" use("stsewd/fzf-checkout.vim")
-- AIRLINE -- AIRLINE
use { use({
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
requires = {"kyazdani42/nvim-web-devicons", opt = true} requires = { "kyazdani42/nvim-web-devicons", opt = true },
} })
-- EDITOR -- EDITOR
use "windwp/nvim-autopairs" use("windwp/nvim-autopairs")
--use "jiangmiao/auto-pairs" --use "jiangmiao/auto-pairs"
use "dense-analysis/ale" --use "dense-analysis/ale"
--use "nathanmsmith/nvim-ale-diagnostic" --use "nathanmsmith/nvim-ale-diagnostic"
use "turbio/bracey.vim" use("turbio/bracey.vim")
use "lukas-reineke/indent-blankline.nvim" use("lukas-reineke/indent-blankline.nvim")
--use "sheerun/vim-polyglot" --use "sheerun/vim-polyglot"
-- SNIPPETS -- SNIPPETS
use "SirVer/ultisnips" use("SirVer/ultisnips")
use "honza/vim-snippets" use("honza/vim-snippets")
-- LSP -- LSP
use "hrsh7th/nvim-cmp" -- Autocompletion plugin use("hrsh7th/nvim-cmp") -- Autocompletion plugin
--use "saadparwaiz1/cmp_luasnip" -- Snippets source for nvim-cmp --use "saadparwaiz1/cmp_luasnip" -- Snippets source for nvim-cmp
use {"nvim-treesitter/nvim-treesitter", run = ":TSUpdate"} use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" })
use "neovim/nvim-lspconfig" -- Collection of configurations for built-in LSP client use("neovim/nvim-lspconfig") -- Collection of configurations for built-in LSP client
use "williamboman/nvim-lsp-installer" use("williamboman/nvim-lsp-installer")
use { use({
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lsp",
requires = "quangnguyen30192/cmp-nvim-ultisnips" requires = "quangnguyen30192/cmp-nvim-ultisnips",
} -- LSP source for nvim-cmp }) -- LSP source for nvim-cmp
use "nvim-lua/plenary.nvim" use("nvim-lua/plenary.nvim")
use "jose-elias-alvarez/nvim-lsp-ts-utils" use("jose-elias-alvarez/nvim-lsp-ts-utils")
use "jose-elias-alvarez/null-ls.nvim" use("jose-elias-alvarez/null-ls.nvim")
use "ThePrimeagen/harpoon" use("ThePrimeagen/harpoon")
use "L3MON4D3/LuaSnip" -- Snippets plugin use("L3MON4D3/LuaSnip") -- Snippets plugin
-- JS -- JS
use "HerringtonDarkholme/yats.vim" use("HerringtonDarkholme/yats.vim")
use "chemzqm/vim-jsx-improve" use("chemzqm/vim-jsx-improve")
use "yuezk/vim-js" -- js use("yuezk/vim-js") -- js
use "maxmellon/vim-jsx-pretty" -- react/tsx syntax highlight & indent use("maxmellon/vim-jsx-pretty") -- react/tsx syntax highlight & indent
--use "leafOfTree/vim-vue-plugin" -- vue syntax highlight & indent --use "leafOfTree/vim-vue-plugin" -- vue syntax highlight & indent
-- PYTHON -- PYTHON
--use {"numirias/semshi", run = ":UpdateRemotePlugins"} -- python --use {"numirias/semshi", run = ":UpdateRemotePlugins"} -- python
use "Vimjas/vim-python-pep8-indent" use("Vimjas/vim-python-pep8-indent")
--use("petobens/poet-v")
-- HTML/CSS -- HTML/CSS
use "mattn/emmet-vim" use("mattn/emmet-vim")
end end)
)
+2 -2
View File
@@ -1,4 +1,4 @@
vim.cmd [[ vim.cmd([[
" https://vim.fandom.com/wiki/Avoid_scrolling_when_switch_buffers " https://vim.fandom.com/wiki/Avoid_scrolling_when_switch_buffers
" Save current view settings on a per-window, per-buffer basis. " Save current view settings on a per-window, per-buffer basis.
@@ -27,4 +27,4 @@ vim.cmd [[
autocmd BufLeave * call AutoSaveWinView() autocmd BufLeave * call AutoSaveWinView()
autocmd BufEnter * call AutoRestoreWinView() autocmd BufEnter * call AutoRestoreWinView()
]] ]])