Archived
0
0
Fork 0

fixed up neovim config

This commit is contained in:
Daryl Ronningen 2022-06-23 15:34:18 +08:00
parent 1b903cce7f
commit db5fa210a1
13 changed files with 198 additions and 68 deletions

View file

@ -19,3 +19,5 @@ require("user.indentline")
require("user.alpha") require("user.alpha")
require("user.whichkey") require("user.whichkey")
require("user.trouble") require("user.trouble")
require("user.colorizer")
require("user.gps")

View file

@ -0,0 +1,46 @@
-- Use 'q' to quit from common plugins
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = { "qf", "help", "man", "lspinfo", "spectre_panel", "lir" },
callback = function()
vim.cmd([[
nnoremap <silent> <buffer> q :close<CR>
set nobuflisted
]])
end,
})
-- Remove statusline and tabline when in Alpha
vim.api.nvim_create_autocmd({ "User" }, {
pattern = { "AlphaReady" },
callback = function()
vim.cmd([[
set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
set laststatus=0 | autocmd BufUnload <buffer> set laststatus=3
]])
end,
})
-- Set wrap and spell in markdown and gitcommit
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = { "gitcommit", "markdown" },
callback = function()
vim.opt_local.wrap = true
vim.opt_local.spell = true
end,
})
vim.cmd("autocmd BufEnter * ++nested if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif")
-- Fixes Autocomment
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
callback = function()
vim.cmd("set formatoptions-=cro")
end,
})
-- Highlight Yanked Text
vim.api.nvim_create_autocmd({ "TextYankPost" }, {
callback = function()
vim.highlight.on_yank({ higroup = "Visual", timeout = 200 })
end,
})

View file

@ -1,25 +1,12 @@
-- Setup nvim-cmp.
local status_ok, npairs = pcall(require, "nvim-autopairs") local status_ok, npairs = pcall(require, "nvim-autopairs")
if not status_ok then if not status_ok then
return return
end end
npairs.setup({ npairs.setup({
check_ts = true, check_ts = true, -- treesitter integration
ts_config = {
lua = { "string", "source" },
},
disable_filetype = { "TelescopePrompt" }, disable_filetype = { "TelescopePrompt" },
fast_wrap = {
map = "<M-e>",
chars = { "{", "[", "(", '"', "'" },
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
offset = 0,
end_key = "$",
keys = "qwertyuiopzxcvbnmasdfghjkl",
check_comma = true,
highlight = "PmenuSel",
highlight_grey = "LineNr",
},
}) })
local cmp_autopairs = require("nvim-autopairs.completion.cmp") local cmp_autopairs = require("nvim-autopairs.completion.cmp")
@ -27,4 +14,4 @@ local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then if not cmp_status_ok then
return return
end end
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({}))

View file

@ -115,8 +115,10 @@ cmp.setup({
behavior = cmp.ConfirmBehavior.Replace, behavior = cmp.ConfirmBehavior.Replace,
select = false, select = false,
}, },
documentation = { window = {
border = { "", "", "", "", "", "", "", "" }, documentation = {
border = { "", "", "", "", "", "", "", "" },
},
}, },
experimental = { experimental = {
ghost_text = true, ghost_text = true,

View file

@ -0,0 +1,17 @@
local status_ok, colorizer = pcall(require, "colorizer")
if not status_ok then
return
end
colorizer.setup({ "*" }, {
RGB = true, -- #RGB hex codes
RRGGBB = true, -- #RRGGBB hex codes
names = false, -- "Name" codes like Blue oe blue
RRGGBBAA = true, -- #RRGGBBAA hex codes
rgb_fn = true, -- CSS rgb() and rgba() functions
hsl_fn = true, -- CSS hsl() and hsla() functions
css = false, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
css_fn = false, -- Enable all CSS *functions*: rgb_fn, hsl_fn
-- Available modes: foreground, background, virtualtext
mode = "background", -- Set the display mode.)
})

View file

@ -0,0 +1,34 @@
local status_ok, gps = pcall(require, "nvim-gps")
if not status_ok then
return
end
gps.setup({
disable_icons = false, -- Setting it to true will disable all icons
icons = {
["class-name"] = "", -- Classes and class-like objects
["function-name"] = "", -- Functions
["method-name"] = "", -- Methods (functions inside class-like objects)
["container-name"] = "", -- Containers (example: lua tables)
["tag-name"] = "", -- Tags (example: html tags)
["mapping-name"] = "",
["sequence-name"] = "",
["null-name"] = "[] ",
["boolean-name"] = "ﰰﰴ ",
["integer-name"] = "# ",
["float-name"] = "",
["string-name"] = "",
["array-name"] = "",
["object-name"] = "",
["number-name"] = "# ",
["table-name"] = "",
["date-name"] = "",
["date-time-name"] = "",
["inline-table-name"] = "",
["time-name"] = "",
["module-name"] = "",
},
separator = " > ",
depth = 0,
depth_limit_indicator = "..",
})

View file

@ -0,0 +1,3 @@
vim.g.Illuminate_ftblacklist = {'alpha', 'NvimTree'}
vim.api.nvim_set_keymap('n', '<a-n>', '<cmd>lua require"illuminate".next_reference{wrap=true}<cr>', {noremap=true})
vim.api.nvim_set_keymap('n', '<a-p>', '<cmd>lua require"illuminate".next_reference{reverse=true,wrap=true}<cr>', {noremap=true})

View file

@ -42,18 +42,11 @@ M.setup = function()
end end
local function lsp_highlight_document(client) local function lsp_highlight_document(client)
if client.resolved_capabilities.document_highlight then local status_ok, illuminate = pcall(require, "illuminate")
vim.api.nvim_exec( if not status_ok then
[[ return
augroup lsp_document_highlight
autocmd! * <buffer>
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
augroup END
]],
false
)
end end
illuminate.on_attach(client)
end end
local function lsp_keymaps(bufnr) local function lsp_keymaps(bufnr)

View file

@ -12,11 +12,11 @@ null_ls.setup({
formatting.stylua, formatting.stylua,
}, },
on_attach = function(client) on_attach = function(client)
if client.resolved_capabilities.document_formatting then if client.server_capabilities.documentFormattingProvider then
vim.cmd([[ vim.cmd([[
augroup LspFormatting augroup LspFormatting
autocmd! * <buffer> autocmd! * <buffer>
autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_sync() autocmd BufWritePre <buffer> lua vim.lsp.buf.format()
augroup END augroup END
]]) ]])
end end

View file

@ -3,6 +3,20 @@ if not status_ok then
return return
end end
local status_gps_ok, gps = pcall(require, "nvim-gps")
if not status_gps_ok then
return
end
local nvim_gps = function()
local gps_location = gps.get_location()
if gps_location == "error" then
return ""
else
return gps.get_location()
end
end
lualine.setup({ lualine.setup({
options = { options = {
icons_enabled = true, icons_enabled = true,
@ -15,7 +29,7 @@ lualine.setup({
sections = { sections = {
lualine_a = { "mode" }, lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" }, lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = { "filename", "filesize" }, lualine_c = { "filename", "filesize", nvim_gps },
lualine_x = { "encoding", "fileformat", "filetype" }, lualine_x = { "encoding", "fileformat", "filetype" },
lualine_y = { "progress" }, lualine_y = { "progress" },
lualine_z = { "location" }, lualine_z = { "location" },

View file

@ -1,24 +1,3 @@
vim.g.nvim_tree_icons = {
default = "",
symlink = "",
git = {
unstaged = "",
staged = "S",
unmerged = "",
renamed = "",
deleted = "",
untracked = "U",
ignored = "",
},
folder = {
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
},
}
local status_ok, nvim_tree = pcall(require, "nvim-tree") local status_ok, nvim_tree = pcall(require, "nvim-tree")
if not status_ok then if not status_ok then
return return
@ -30,6 +9,14 @@ if not config_status_ok then
end end
local tree_cb = nvim_tree_config.nvim_tree_callback local tree_cb = nvim_tree_config.nvim_tree_callback
vim.api.nvim_create_autocmd("BufEnter", {
nested = true,
callback = function()
if #vim.api.nvim_list_wins() == 1 and vim.api.nvim_buf_get_name(0):match("NvimTree_") ~= nil then
vim.cmd("quit")
end
end,
})
nvim_tree.setup({ nvim_tree.setup({
disable_netrw = true, disable_netrw = true,
@ -38,14 +25,9 @@ nvim_tree.setup({
ignore_ft_on_setup = { ignore_ft_on_setup = {
"alpha", "alpha",
}, },
auto_close = true,
open_on_tab = false, open_on_tab = false,
hijack_cursor = true, hijack_cursor = true,
update_cwd = true, update_cwd = true,
update_to_buf_dir = {
enable = true,
auto_open = true,
},
diagnostics = { diagnostics = {
enable = true, enable = true,
icons = { icons = {
@ -82,15 +64,40 @@ nvim_tree.setup({
number = false, number = false,
relativenumber = false, relativenumber = false,
}, },
quit_on_open = 0, actions = {
git_hl = 1, open_file = {
disable_window_picker = 0, quit_on_open = false,
root_folder_modifier = ":t", window_picker = {
show_icons = { enable = false,
git = 1, },
folders = 1, },
files = 1, },
folder_arrows = 1, renderer = {
tree_width = 30, icons = {
glyphs = {
default = "",
symlink = "",
git = {
unstaged = "",
staged = "S",
unmerged = "",
renamed = "",
deleted = "",
untracked = "U",
ignored = "",
},
folder = {
default = "",
open = "",
empty = "",
empty_open = "",
symlink = "",
},
},
},
},
filesystem_watchers = {
enable = true,
interval = 100,
}, },
}) })

View file

@ -119,6 +119,15 @@ return packer.startup(function(use)
-- WhichKey -- WhichKey
use("folke/which-key.nvim") use("folke/which-key.nvim")
-- Illuminate
use("RRethy/vim-illuminate")
-- Colorizer
use("norcalli/nvim-colorizer.lua")
-- GPS
use("SmiteshP/nvim-gps")
if PACKER_BOOTSTRAP then if PACKER_BOOTSTRAP then
require("packer").sync() require("packer").sync()
end end

View file

@ -169,6 +169,16 @@ _G.packer_plugins = {
path = "/home/relms/.local/share/nvim/site/pack/packer/start/nvim-cmp", path = "/home/relms/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp" url = "https://github.com/hrsh7th/nvim-cmp"
}, },
["nvim-colorizer.lua"] = {
loaded = true,
path = "/home/relms/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua",
url = "https://github.com/norcalli/nvim-colorizer.lua"
},
["nvim-gps"] = {
loaded = true,
path = "/home/relms/.local/share/nvim/site/pack/packer/start/nvim-gps",
url = "https://github.com/SmiteshP/nvim-gps"
},
["nvim-lsp-installer"] = { ["nvim-lsp-installer"] = {
loaded = true, loaded = true,
path = "/home/relms/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer", path = "/home/relms/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer",
@ -289,6 +299,11 @@ _G.packer_plugins = {
path = "/home/relms/.local/share/nvim/site/pack/packer/start/vim-better-whitespace", path = "/home/relms/.local/share/nvim/site/pack/packer/start/vim-better-whitespace",
url = "https://github.com/ntpeters/vim-better-whitespace" url = "https://github.com/ntpeters/vim-better-whitespace"
}, },
["vim-illuminate"] = {
loaded = true,
path = "/home/relms/.local/share/nvim/site/pack/packer/start/vim-illuminate",
url = "https://github.com/RRethy/vim-illuminate"
},
["which-key.nvim"] = { ["which-key.nvim"] = {
loaded = true, loaded = true,
path = "/home/relms/.local/share/nvim/site/pack/packer/start/which-key.nvim", path = "/home/relms/.local/share/nvim/site/pack/packer/start/which-key.nvim",
@ -302,5 +317,6 @@ if should_profile then save_profiles() end
end) end)
if not no_errors then if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end end