latest
This commit is contained in:
@@ -1,29 +1,37 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
require('lazy').setup('plugins')
|
||||
|
||||
-- Settings
|
||||
vim.cmd('source ~/.config/nvim/settings.vim')
|
||||
require("config.lazy")
|
||||
|
||||
-- colorscheme
|
||||
vim.o.termguicolors = true
|
||||
vim.o.background = "dark" -- or "light" for light mode
|
||||
vim.cmd("colorscheme gruvbox ")
|
||||
--vim.opt.winborder = 'rounded'
|
||||
--vim.o.background = "dark" -- or "light" for light mode
|
||||
--vim.cmd("colorscheme gruvbox ")
|
||||
--vim.cmd("colorscheme retrobox")
|
||||
|
||||
vim.opt.clipboard = "unnamedplus" -- uses the clipboard register for all operations except yank.
|
||||
|
||||
vim.cmd("set nocompatible")
|
||||
vim.cmd("syntax on")
|
||||
vim.cmd("filetype plugin indent on")
|
||||
vim.cmd("set number")
|
||||
|
||||
vim.cmd("set relativenumber")
|
||||
vim.cmd("set expandtab")
|
||||
vim.cmd("set shiftwidth=4")
|
||||
vim.cmd("set softtabstop=4")
|
||||
vim.cmd("set tabstop=4")
|
||||
vim.cmd("set smartindent")
|
||||
|
||||
vim.cmd("set backspace=indent,eol,start")
|
||||
vim.cmd("set colorcolumn=81")
|
||||
vim.cmd("set textwidth=80")
|
||||
vim.cmd("set wrap")
|
||||
vim.cmd("set linebreak")
|
||||
vim.cmd("noswapfile")
|
||||
|
||||
vim.cmd("set autoread")
|
||||
vim.cmd("set complete-=i")
|
||||
|
||||
vim.cmd("au FileType python set fileformat=unix encoding=utf-8")
|
||||
vim.cmd("au FileType markdown,tex set spell spelllang=en_us")
|
||||
|
||||
-- keymaps
|
||||
vim.keymap.set('n', '<leader>/', ':nohlsearch<CR>')
|
||||
vim.keymap.set('n', '<leader>b', ':buffers<CR>')
|
||||
vim.keymap.set('n', 'bp', ':bp<CR>')
|
||||
vim.keymap.set('n', 'bn', ':bn<CR>')
|
||||
|
||||
|
||||
@@ -1,26 +1,14 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "8d7aa7a7b7c0875e4878d1d2590924bc1c229305" },
|
||||
"async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "49d9c0b150ba70efcd831ec7b3cb8ee740067045" },
|
||||
"black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" },
|
||||
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
||||
"lsp-zero.nvim": { "branch": "v2.x", "commit": "9a686513eaaa13d737d0fec8956a18268ead8b29" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "4d0e5b49363cac187326998b96aa6a2884e0e89b" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.nvim": { "branch": "main", "commit": "0a8a1072137d916406507c941698a4bfa9dbbe7a" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "29fb4854573355792df9e156cb779f0d31308796" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "54617a18f4cf46f0c2f6d024fa6feb7515fe036d" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "92d2501d698e0fe855bd222540f9648890fab6c7" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "fc05fb7c56795f191b6800799a2ec6ea325ba715" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
|
||||
"vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }
|
||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "80c0130c5f16b551865a69e832f1feadeedb5fbe" },
|
||||
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||
"mini.completion": { "branch": "main", "commit": "4d451f82f193f6751719935a63d16ccb79a76e0b" },
|
||||
"mini.nvim": { "branch": "main", "commit": "8dccba88fc4dce006ca0ad668067c9e0d5ce7702" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "84b9ba066d1860f7a586ce9cd732fd6c4f77d1d9" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }
|
||||
}
|
||||
|
||||
35
.config/nvim/lua/config/lazy.lua
Normal file
35
.config/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,35 @@
|
||||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
--vim.g.mapleader = "/\"
|
||||
--im.g.maplocalleader = "\\"
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
-- install = { colorscheme = { "habamax" } },
|
||||
-- automatically check for plugin updates
|
||||
-- checker = { enabled = true },
|
||||
})
|
||||
13
.config/nvim/lua/plugins/colorscheme.lua
Normal file
13
.config/nvim/lua/plugins/colorscheme.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
return {
|
||||
"metalelf0/black-metal-theme-neovim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("black-metal").setup({
|
||||
-- optional configuration here
|
||||
term_colors = true,
|
||||
})
|
||||
|
||||
require("black-metal").load()
|
||||
end,
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
return {
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000,
|
||||
config = function ()
|
||||
require("gruvbox").setup({
|
||||
undercurl = true,
|
||||
underline = true,
|
||||
bold = true,
|
||||
italic = {
|
||||
strings = true,
|
||||
comments = true,
|
||||
operators = false,
|
||||
folds = true,
|
||||
},
|
||||
strikethrough = true,
|
||||
invert_selection = false,
|
||||
invert_signs = false,
|
||||
invert_tabline = false,
|
||||
invert_intend_guides = false,
|
||||
inverse = true, -- invert background for search, diffs, statuslines and errors
|
||||
contrast = "hard", -- can be "hard", "soft" or empty string
|
||||
palette_overrides = {},
|
||||
overrides = {},
|
||||
dim_inactive = false,
|
||||
transparent_mode = true,
|
||||
})
|
||||
end
|
||||
}
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
return {
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
branch = 'v2.x',
|
||||
dependencies = {
|
||||
-- LSP Support
|
||||
{'neovim/nvim-lspconfig'}, -- Required
|
||||
{'williamboman/mason.nvim'}, -- Optional
|
||||
{'williamboman/mason-lspconfig.nvim'}, -- Optional
|
||||
|
||||
-- Autocompletion
|
||||
{'hrsh7th/nvim-cmp'}, -- Required
|
||||
{'hrsh7th/cmp-nvim-lsp'}, -- Required
|
||||
{'hrsh7th/cmp-buffer'}, -- Optional
|
||||
{'hrsh7th/cmp-path'}, -- Optional
|
||||
{'saadparwaiz1/cmp_luasnip'}, -- Optional
|
||||
{'hrsh7th/cmp-nvim-lua'}, -- Optional
|
||||
|
||||
|
||||
-- snippets
|
||||
{'L3MON4D3/LuaSnip'}, -- Required
|
||||
{'rafamadriz/friendly-snippets'}, -- Optional
|
||||
},
|
||||
|
||||
config = function()
|
||||
local lsp = require('lsp-zero')
|
||||
lsp.preset('recommended')
|
||||
|
||||
lsp.on_attach(function(client, bufnr)
|
||||
local opts = {buffer = bufnr, remap = false}
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>ca", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set("n", "<leader>rr", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>rn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
|
||||
end)
|
||||
|
||||
local lspconfig = require('lspconfig')
|
||||
local root_pattern = require('lspconfig.util').root_pattern
|
||||
|
||||
lspconfig['jedi_language_server'].setup{
|
||||
root_dir = root_pattern('.git', 'setup.py')
|
||||
}
|
||||
|
||||
lspconfig['lua_ls'].setup{
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = {'vim'},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local cmp = require('cmp')
|
||||
local cmp_action = require('lsp-zero').cmp_action()
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
|
||||
cmp.setup({
|
||||
mapping = {
|
||||
['<CR>'] = cmp.mapping.confirm({select = false}),
|
||||
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
||||
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end
|
||||
},
|
||||
})
|
||||
|
||||
lsp.setup()
|
||||
end
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
return{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons', opt = true },
|
||||
config = function()
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = 'auto',
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
}
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {'mode'},
|
||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'location'},
|
||||
lualine_y = {},
|
||||
lualine_z = {}
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {},
|
||||
inactive_winbar = {},
|
||||
extensions = {}
|
||||
}
|
||||
end
|
||||
}
|
||||
54
.config/nvim/lua/plugins/mason.lua
Normal file
54
.config/nvim/lua/plugins/mason.lua
Normal file
@@ -0,0 +1,54 @@
|
||||
return {
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
dependencies = {
|
||||
{"mason-org/mason.nvim"},
|
||||
{'neovim/nvim-lspconfig'},
|
||||
|
||||
{'nvim-mini/mini.nvim'},
|
||||
{'nvim-mini/mini.completion'},
|
||||
},
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup {}
|
||||
|
||||
-- NOTE: this is meant to be backwards compatible with Neovim v0.9
|
||||
---
|
||||
-- Autocompletion
|
||||
---
|
||||
|
||||
require('mini.snippets').setup()
|
||||
require('mini.completion').setup()
|
||||
|
||||
---
|
||||
-- Language server configuration
|
||||
---
|
||||
|
||||
-- These keymaps are the defaults in Neovim v0.10
|
||||
if vim.fn.has('nvim-0.11') == 0 then
|
||||
-- NOTE: vim.diagnostic.goto_* methods are deprecated in v0.11
|
||||
-- that's why we put these under a conditional block
|
||||
vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
|
||||
vim.keymap.set('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
|
||||
vim.keymap.set('n', '<C-w>d', '<cmd>lua vim.diagnostic.open_float()<cr>')
|
||||
vim.keymap.set('n', '<C-w><C-d>', '<cmd>lua vim.diagnostic.open_float()<cr>')
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
callback = function(event)
|
||||
local bufmap = function(mode, rhs, lhs)
|
||||
vim.keymap.set(mode, rhs, lhs, {buffer = event.buf})
|
||||
end
|
||||
|
||||
-- These keymaps are the defaults in Neovim v0.11
|
||||
bufmap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
|
||||
bufmap('n', 'grr', '<cmd>lua vim.lsp.buf.references()<cr>')
|
||||
bufmap('n', 'gri', '<cmd>lua vim.lsp.buf.implementation()<cr>')
|
||||
bufmap('n', 'grn', '<cmd>lua vim.lsp.buf.rename()<cr>')
|
||||
bufmap('n', 'gra', '<cmd>lua vim.lsp.buf.code_action()<cr>')
|
||||
bufmap('n', 'gO', '<cmd>lua vim.lsp.buf.document_symbol()<cr>')
|
||||
bufmap({'i', 's'}, '<C-s>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
|
||||
end,
|
||||
})
|
||||
|
||||
end
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
return {
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||
---@module 'render-markdown'
|
||||
---@type render.md.UserConfig
|
||||
opts = {},
|
||||
|
||||
config = function()
|
||||
require('render-markdown').setup({
|
||||
render_modes = true,
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -1,12 +1,13 @@
|
||||
-- plugins/telescope.lua:
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim', tag = '0.1.2',
|
||||
'nvim-telescope/telescope.nvim', tag = 'v0.1.9',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
config = function()
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||
|
||||
require('telescope').setup{
|
||||
pickers = {
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
return {
|
||||
'KenN7/vim-arsync',
|
||||
dependencies = { 'prabirshrestha/async.vim' },
|
||||
config = function()
|
||||
end
|
||||
}
|
||||
|
||||
--[[
|
||||
--Create a .vim-arsync file on the root of your project that contains the following:
|
||||
remote_host example.com
|
||||
remote_user john
|
||||
remote_port 22
|
||||
remote_passwd secret
|
||||
remote_path ~/temp/
|
||||
local_path /home/ken/temp/vuetest/
|
||||
ignore_path ["build/","test/"]
|
||||
ignore_dotfiles 1
|
||||
auto_sync_up 0
|
||||
remote_or_local remote
|
||||
sleep_before_sync 0
|
||||
|
||||
--]]
|
||||
Reference in New Issue
Block a user