Updates
This commit is contained in:
+118
-79
@@ -1,81 +1,85 @@
|
||||
vim.opt.termguicolors = true
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable",
|
||||
"https://github.com/folke/lazy.nvim.git", lazypath })
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {},
|
||||
},
|
||||
{ "norcalli/nvim-colorizer.lua" },
|
||||
{ "mbbill/undotree" },
|
||||
{ "nvim-mini/mini.pairs", version = '*' },
|
||||
{ "ibhagwan/fzf-lua", dependencies = { "nvim-tree/nvim-web-devicons" } },
|
||||
{ "saghen/blink.cmp", version = "v1.*", opts = {} },
|
||||
{
|
||||
dir = "/Users/andrew/personal/Projects/Lua/polydev/",
|
||||
opts = {
|
||||
terminal = {
|
||||
mode = "split",
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
branch = "master",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true }
|
||||
})
|
||||
end
|
||||
},
|
||||
}
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/rose-pine/neovim", name = "rose-pine" },
|
||||
{ src = "https://github.com/norcalli/nvim-colorizer.lua" },
|
||||
{ src = "https://github.com/mbbill/undotree" },
|
||||
{ src = "https://github.com/nvim-mini/mini.pairs", version = vim.version.range('*') },
|
||||
{ src = "https://github.com/nvim-tree/nvim-web-devicons" },
|
||||
{ src = "https://github.com/ibhagwan/fzf-lua" },
|
||||
{ src = "https://github.com/saghen/blink.cmp", version = vim.version.range('*'), },
|
||||
{ src = "git@moo:dmm/polydev.git", version = "main" },
|
||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
|
||||
{ src = "https://github.com/alexghergh/nvim-tmux-navigation" },
|
||||
|
||||
})
|
||||
|
||||
require'nvim-tmux-navigation'.setup {
|
||||
disable_when_zoomed = true -- defaults to false
|
||||
}
|
||||
require('nvim-treesitter').install { 'rust', 'c', 'cpp', 'lua' }
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = { 'c', 'cpp', 'rust', 'lua' },
|
||||
callback = function()
|
||||
vim.treesitter.start()
|
||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
||||
end,
|
||||
})
|
||||
|
||||
require('colorizer').setup()
|
||||
require("Polydev").setup({
|
||||
terminal = {
|
||||
mode = "split",
|
||||
},
|
||||
})
|
||||
require("blink.cmp").setup({
|
||||
completion = {
|
||||
menu = {
|
||||
draw = {
|
||||
columns = { { "label", gap = 1 }, { "kind_icon", gap = 1, "kind" } },
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
require('mini.pairs').setup()
|
||||
require("fzf-lua").setup({
|
||||
"border-fused",
|
||||
previewers = {
|
||||
builtin = {
|
||||
syntax_limit_b = -51200, -- 50KB limit on highlighting files
|
||||
},
|
||||
},
|
||||
winopts = {
|
||||
height = 0.50,
|
||||
width = 0.45,
|
||||
row = 0.35,
|
||||
col = 0.50,
|
||||
border = "rounded",
|
||||
backdrop = 0,
|
||||
fullscreen = false,
|
||||
preview = {
|
||||
hidden = true,
|
||||
},
|
||||
},
|
||||
grep = {
|
||||
rg_glob = true,
|
||||
rg_glob_fn = function(query)
|
||||
local regex, flags = query:match("^(.-)%s%-%-(.*)$")
|
||||
return (regex or query), flags
|
||||
end,
|
||||
},
|
||||
defaults = {
|
||||
formatter = "path.filename_first",
|
||||
},
|
||||
"border-fused",
|
||||
previewers = {
|
||||
builtin = {
|
||||
syntax_limit_b = -51200, -- 50KB limit on highlighting files
|
||||
},
|
||||
},
|
||||
winopts = {
|
||||
height = 0.50,
|
||||
width = 0.45,
|
||||
row = 0.35,
|
||||
col = 0.50,
|
||||
border = "rounded",
|
||||
backdrop = 0,
|
||||
fullscreen = false,
|
||||
preview = {
|
||||
hidden = true,
|
||||
},
|
||||
},
|
||||
grep = {
|
||||
rg_glob = true,
|
||||
rg_glob_fn = function(query)
|
||||
local regex, flags = query:match("^(.-)%s%-%-(.*)$")
|
||||
return (regex or query), flags
|
||||
end,
|
||||
},
|
||||
defaults = {
|
||||
formatter = "path.filename_first",
|
||||
},
|
||||
})
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.tabstop = 8 -- Number of spaces a <Tab> counts for
|
||||
vim.opt.shiftwidth = 8 -- Number of spaces for autoindent (>>, <<, etc.)
|
||||
vim.opt.expandtab = true -- Use spaces instead of tabs
|
||||
vim.opt.autoindent = true -- Copy indent from current line when starting a new line
|
||||
vim.opt.softtabstop = 8 -- Number of spaces for <Tab> in insert mode (backspace deletes 4 spaces)
|
||||
vim.opt.wrap = false
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.signcolumn = "yes"
|
||||
@@ -86,6 +90,7 @@ vim.opt.hlsearch = false
|
||||
vim.opt.completeopt = { "menuone", "noselect", "popup" }
|
||||
vim.g.netrw_browse_split = 0
|
||||
vim.g.netrw_banner = 0
|
||||
vim.g.netrw_liststyle = 3
|
||||
vim.g.netrw_winsize = 25
|
||||
vim.opt.wrapscan = true -- begin search from top of the file when nothng is found
|
||||
vim.opt.cursorline = true -- enable cursorline
|
||||
@@ -99,31 +104,57 @@ vim.opt.smartcase = true -- However if we use a capital in search string we th
|
||||
vim.opt.smartindent = true -- smarter indentation
|
||||
vim.opt.smarttab = true -- make tab behaviour smarter
|
||||
vim.opt.laststatus = 3
|
||||
-- vim.opt.list = true
|
||||
|
||||
-- vim.opt.lcs = "tab:| "
|
||||
-- vim.opt.colorcolumn= "80"
|
||||
vim.cmd.colorscheme("tokyonight-moon")
|
||||
vim.lsp.enable({ "lua_ls", "clangd" })
|
||||
vim.cmd.colorscheme("rose-pine")
|
||||
-- vim.cmd.colorscheme("tokyonight-moon")
|
||||
local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
|
||||
-- 2. Customize the built-in lua_ls config
|
||||
vim.lsp.config("lua_ls", {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = { globals = { "vim" } },
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
checkThirdParty = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.lsp.enable({ "lua_ls", "clangd", "rust-analyzer" })
|
||||
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "StatusLine", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "StatusLineTerm", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "StatusLineNC", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, 'LineNrAbove', { fg='#5c638d', bold=true })
|
||||
vim.api.nvim_set_hl(0, 'LineNrBelow', { fg='#5c638d', bold=true })
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(0, "StatusLine", { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(0, "StatusLineTerm", { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(0, "StatusLineNC", { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(0, "SignColumn", { link = 'Normal' })
|
||||
-- vim.api.nvim_set_hl(0, 'LineNrAbove', { link = 'Conceal', bold = true })
|
||||
-- vim.api.nvim_set_hl(0, 'LineNrBelow', { link = 'Conceal', bold = true })
|
||||
vim.api.nvim_set_hl(0, 'LineNrAbove', { link = 'NonText', bold = true })
|
||||
vim.api.nvim_set_hl(0, 'LineNrBelow', { link = 'NonText', bold = true })
|
||||
vim.api.nvim_set_hl(0, "LineNr", { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(0, "FoldColumn", { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(0, "CursorLineNr", { bg = "none", link = 'MatchParen', bold = true })
|
||||
|
||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||
vim.keymap.set("n", "<leader>ff", vim.lsp.buf.format)
|
||||
vim.keymap.set("n", "<leader>vs", ":vsplit<CR>")
|
||||
vim.keymap.set("n", "<leader>ss", ":split<CR>")
|
||||
vim.keymap.set("n", "<leader>E", ":Ex<CR>")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("x", "<leader>p", [["_dP]])
|
||||
vim.keymap.set('n', '<leader><leader>', ":FzfLua files<CR>")
|
||||
vim.keymap.set('n', '<leader>gh', ":FzfLua helptags<CR>")
|
||||
vim.keymap.set('n', '<leader>gg', ":FzfLua live_grep<CR>")
|
||||
vim.keymap.set('n', '<leader>fh', ":FzfLua helptags<CR>")
|
||||
vim.keymap.set('n', '<leader>fg', ":FzfLua live_grep<CR>")
|
||||
vim.keymap.set('n', '<leader>fm', ":FzfLua manpages<CR>")
|
||||
vim.keymap.set('n', '<leader>xx', ":FzfLua diagnostics_workspace<CR>")
|
||||
vim.keymap.set('n', '<leader>po', ":PolydevOpen<CR>")
|
||||
vim.keymap.set('n', '<leader>fs', vim.lsp.buf.document_symbol)
|
||||
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition)
|
||||
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references)
|
||||
vim.keymap.set("n", "<leader>gR", vim.lsp.buf.rename)
|
||||
@@ -131,3 +162,11 @@ vim.keymap.set("n", "<leader>gc", vim.lsp.buf.code_action)
|
||||
vim.keymap.set("n", "<leader>uu", ":UndotreeToggle<CR>")
|
||||
vim.keymap.set("n", "<leader>[", "<c-w>H", { silent = true, noremap = true, })
|
||||
vim.keymap.set("n", "<leader>]", "<c-w>K", { silent = true, noremap = true, })
|
||||
vim.keymap.set("n", "[q", ":cprev<CR>zz", { desc = "Previous Quickfix Item" })
|
||||
vim.keymap.set("n", "]q", ":cnext<CR>zz", { desc = "Next Quickfix Item" })
|
||||
vim.keymap.set("n", "<leader>qo", ":copen<CR>", { desc = "Open Quickfix" })
|
||||
vim.keymap.set("n", "<leader>qc", ":cclose<CR>", { desc = "Close Quickfix" })
|
||||
vim.keymap.set("n", "<C-h>", ":NvimTmuxNavigateLeft<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-j>", ":NvimTmuxNavigateDown<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-k>", ":NvimTmuxNavigateUp<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-l>", ":NvimTmuxNavigateRight<CR>", { silent = true })
|
||||
|
||||
Reference in New Issue
Block a user