nvim migrate to lazy
This commit is contained in:
@ -15,7 +15,6 @@ local check_backspace = function()
|
||||
return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
|
||||
end
|
||||
|
||||
-- פּ ﯟ some other good icons
|
||||
local kind_icons = {
|
||||
Text = "",
|
||||
Method = "m",
|
||||
@ -68,12 +67,12 @@ cmp.setup {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- elseif luasnip.expandable() then
|
||||
-- luasnip.expand()
|
||||
-- elseif luasnip.expand_or_jumpable() then
|
||||
-- luasnip.expand_or_jump()
|
||||
-- elseif check_backspace() then
|
||||
-- fallback()
|
||||
elseif luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif check_backspace() then
|
||||
fallback()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
@ -99,7 +98,6 @@ cmp.setup {
|
||||
format = function(entry, vim_item)
|
||||
-- Kind icons
|
||||
vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
||||
-- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
||||
vim_item.menu = ({
|
||||
nvim_lsp = "[LSP]",
|
||||
luasnip = "[Snippet]",
|
||||
|
||||
@ -29,7 +29,14 @@ keymap("v", "p", '"_dP', opts)
|
||||
keymap("v", "<", "<gv", opts)
|
||||
keymap("v", ">", ">gv", opts)
|
||||
|
||||
--center when moving with ctrl-u, ctrl-d
|
||||
|
||||
-- center view for different commands
|
||||
keymap("n", "n", "nzz", opts)
|
||||
keymap("n", "N", "Nzz", opts)
|
||||
keymap("n", "*", "*zz", opts)
|
||||
keymap("n", "#", "#zz", opts)
|
||||
keymap("n", "g*", "g*zz", opts)
|
||||
keymap("n", "g#", "g#zz", opts)
|
||||
keymap("n", "<C-u>", "<C-u>zz", opts)
|
||||
keymap("n", "<C-d>", "<C-d>zz", opts)
|
||||
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
vim.opt.backup = false
|
||||
vim.opt.cmdheight = 1
|
||||
vim.opt.completeopt = { "menuone", "noselect" }
|
||||
vim.opt.showmode = false
|
||||
vim.opt.fileencoding = "utf-8"
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.showtabline = 2
|
||||
vim.opt.pumblend = 10
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.splitright = true
|
||||
@ -15,6 +17,8 @@ vim.opt.shiftwidth = 2
|
||||
vim.opt.updatetime = 300
|
||||
vim.opt.ttimeoutlen = 5
|
||||
|
||||
vim.g.netrw_banner = 0
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "cs",
|
||||
command = "setlocal shiftwidth=4 tabstop=4"
|
||||
|
||||
@ -1,140 +1,130 @@
|
||||
local fn = vim.fn
|
||||
|
||||
-- Automatically install packer
|
||||
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
PACKER_BOOTSTRAP = fn.system({
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--depth",
|
||||
"1",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
install_path,
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
print("Installing packer close and reopen Neovim...")
|
||||
vim.cmd([[packadd packer.nvim]])
|
||||
end
|
||||
|
||||
-- Autocommand that reloads neovim whenever you save the plugins.lua file
|
||||
vim.cmd([[
|
||||
augroup packer_user_config
|
||||
autocmd!
|
||||
autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
||||
augroup end
|
||||
]])
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Use a protected call so we don't error out on first use
|
||||
local status_ok, packer = pcall(require, "packer")
|
||||
local status_ok, lazy = pcall(require, "lazy")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
-- Have packer use a popup window
|
||||
packer.init({
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float({ border = "rounded" })
|
||||
end,
|
||||
},
|
||||
})
|
||||
lazy.setup({
|
||||
|
||||
-- Install your plugins here
|
||||
return packer.startup(function(use)
|
||||
-- My plugins here
|
||||
use("wbthomason/packer.nvim") -- Have packer manage itself
|
||||
use("nvim-lua/popup.nvim") -- An implementation of the Popup API from vim in Neovim
|
||||
use("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins
|
||||
--colorschemes
|
||||
use("navarasu/onedark.nvim")
|
||||
use("morhetz/gruvbox")
|
||||
use("Mofiqul/dracula.nvim")
|
||||
use("folke/tokyonight.nvim")
|
||||
-- use("lunarvim/colorschemes")
|
||||
"nvim-lua/popup.nvim", -- An implementation of the Popup API from vim in Neovim
|
||||
"nvim-lua/plenary.nvim", -- Useful lua functions used ny lots of plugins
|
||||
"navarasu/onedark.nvim",
|
||||
"morhetz/gruvbox",
|
||||
"Mofiqul/dracula.nvim",
|
||||
"folke/tokyonight.nvim",
|
||||
|
||||
use("windwp/nvim-autopairs")
|
||||
"windwp/nvim-autopairs",
|
||||
|
||||
use("hrsh7th/nvim-cmp") -- The completion plugin
|
||||
use("hrsh7th/cmp-buffer") -- buffer completions
|
||||
use("hrsh7th/cmp-path") -- path completions
|
||||
use("hrsh7th/cmp-cmdline") -- cmdline completions
|
||||
use("saadparwaiz1/cmp_luasnip") -- snippet completions
|
||||
use("hrsh7th/cmp-nvim-lsp")
|
||||
"hrsh7th/nvim-cmp", -- The completion plugin
|
||||
"hrsh7th/cmp-buffer", -- buffer completions
|
||||
"hrsh7th/cmp-path", -- path completions
|
||||
"hrsh7th/cmp-cmdline", -- cmdline completions
|
||||
"saadparwaiz1/cmp_luasnip", -- snippet completions
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
|
||||
-- snippets
|
||||
use("L3MON4D3/LuaSnip") --snippet engine
|
||||
use("rafamadriz/friendly-snippets") -- a bunch of snippets to use
|
||||
use({ "dsznajder/vscode-es7-javascript-react-snippets", run = "yarn install --frozen-lockfile && yarn compile" })
|
||||
"L3MON4D3/LuaSnip", --snippet engine
|
||||
"rafamadriz/friendly-snippets", -- a bunch of snippets to use
|
||||
{ "dsznajder/vscode-es7-javascript-react-snippets", run = "yarn install --frozen-lockfile && yarn compile" },
|
||||
|
||||
-- LSP
|
||||
use("williamboman/mason.nvim") -- simple to use language server installer
|
||||
use("williamboman/mason-lspconfig.nvim")
|
||||
use("neovim/nvim-lspconfig") -- enable LSP
|
||||
-- use("williamboman/nvim-lsp-installer") -- simple to use language server installer
|
||||
use("nvim-treesitter/nvim-treesitter-refactor")
|
||||
"williamboman/mason.nvim", -- simple to use language server installer
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"neovim/nvim-lspconfig", -- enable LSP
|
||||
-- "williamboman/nvim-lsp-installer") -- simple to use language server installer
|
||||
"nvim-treesitter/nvim-treesitter-refactor",
|
||||
|
||||
-- file explorer
|
||||
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
|
||||
use {
|
||||
{
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v2.x",
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
||||
"MunifTanjim/nui.nvim",
|
||||
}
|
||||
}
|
||||
branch = "v2.x",
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
},
|
||||
|
||||
use({
|
||||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
requires = {
|
||||
"kyazdani42/nvim-web-devicons", -- optional, for file icons
|
||||
},
|
||||
tag = "nightly", -- optional, updated every week. (see issue #1193)
|
||||
})
|
||||
},
|
||||
|
||||
use({ "akinsho/bufferline.nvim", tag = "v2.*", requires = "kyazdani42/nvim-web-devicons" })
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
tag = "v2.*",
|
||||
requires = "kyazdani42/nvim-web-devicons",
|
||||
},
|
||||
|
||||
use({
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
run = ":TSUpdate",
|
||||
})
|
||||
},
|
||||
|
||||
use({
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
})
|
||||
},
|
||||
|
||||
use("lukas-reineke/lsp-format.nvim")
|
||||
use("Vimjas/vim-python-pep8-indent")
|
||||
"lukas-reineke/lsp-format.nvim",
|
||||
"Vimjas/vim-python-pep8-indent",
|
||||
|
||||
--telescope
|
||||
use("nvim-telescope/telescope.nvim")
|
||||
use("nvim-telescope/telescope-media-files.nvim")
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-telescope/telescope-media-files.nvim",
|
||||
|
||||
--comment out
|
||||
use("tpope/vim-commentary")
|
||||
use("lukas-reineke/indent-blankline.nvim")
|
||||
use("windwp/nvim-ts-autotag")
|
||||
"tpope/vim-commentary",
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
"windwp/nvim-ts-autotag",
|
||||
|
||||
use("sickill/vim-monokai")
|
||||
use("rebelot/kanagawa.nvim")
|
||||
{
|
||||
"rebelot/kanagawa.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
},
|
||||
|
||||
--scrollbar
|
||||
use("petertriho/nvim-scrollbar")
|
||||
"petertriho/nvim-scrollbar",
|
||||
|
||||
--heirline statusbar
|
||||
use("rebelot/heirline.nvim")
|
||||
"rebelot/heirline.nvim",
|
||||
|
||||
--heirline statusbar
|
||||
use("lewis6991/gitsigns.nvim")
|
||||
"lewis6991/gitsigns.nvim",
|
||||
|
||||
--debugging
|
||||
use("mfussenegger/nvim-dap")
|
||||
use("rcarriga/nvim-dap-ui")
|
||||
"mfussenegger/nvim-dap",
|
||||
"rcarriga/nvim-dap-ui",
|
||||
|
||||
use("nvim-lualine/lualine.nvim")
|
||||
-- Automatically set up your configuration after cloning packer.nvim
|
||||
-- Put this at the end after all plugins
|
||||
if PACKER_BOOTSTRAP then
|
||||
require("packer").sync()
|
||||
end
|
||||
end)
|
||||
"nvim-lualine/lualine.nvim",
|
||||
|
||||
"folke/neodev.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
})
|
||||
|
||||
-- vim.cmd([[
|
||||
-- augroup packer_user_config
|
||||
-- autocmd!
|
||||
-- autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
||||
-- augroup end
|
||||
-- ]])
|
||||
|
||||
-- Use a protected call so we don't error out on first use
|
||||
|
||||
@ -12,10 +12,17 @@ require("kanagawa").setup({
|
||||
colors = {
|
||||
-- add/modify theme and palette colors
|
||||
palette = {},
|
||||
theme = { wave = {}, lotus = {}, dragon = {}, all = {} },
|
||||
theme = { wave = {}, lotus = {}, dragon = {}, all = { ui = { bg_gutter = "none" } } },
|
||||
},
|
||||
overrides = function(colors) -- add/modify highlights
|
||||
return {}
|
||||
local theme = colors.theme
|
||||
return {
|
||||
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1, blend = vim.o.pumblend }, -- add `blend = vim.o.pumblend` to enable transparency
|
||||
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
||||
PmenuSbar = { bg = theme.ui.bg_m1 },
|
||||
PmenuThumb = { bg = theme.ui.bg_p2 },
|
||||
CursorLine = { bg = "#272735" },
|
||||
}
|
||||
end,
|
||||
theme = "wave", -- Load "wave" theme when 'background' option is not set
|
||||
background = { -- map the value of 'background' option to a theme
|
||||
|
||||
Reference in New Issue
Block a user