Add new config for neovim
This commit is contained in:
110
config/nvim/init.lua
Normal file
110
config/nvim/init.lua
Normal file
@@ -0,0 +1,110 @@
|
||||
-- Locals
|
||||
local fn = vim.fn
|
||||
|
||||
-- Install packer automagically
|
||||
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({
|
||||
"git",
|
||||
"clone",
|
||||
"--depth",
|
||||
"1",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
install_path,
|
||||
})
|
||||
end
|
||||
|
||||
require("packer").startup(function(use)
|
||||
use({ "wbthomason/packer.nvim" })
|
||||
|
||||
use({ "nvim-lua/popup.nvim" })
|
||||
use({ "nvim-lua/plenary.nvim" })
|
||||
|
||||
-- Colorschemes go here
|
||||
use({ "folke/tokyonight.nvim" })
|
||||
|
||||
-- Make commenting code great
|
||||
use({ "tpope/vim-commentary" })
|
||||
|
||||
-- Icons used by many plugins
|
||||
use({ "kyazdani42/nvim-web-devicons" })
|
||||
|
||||
-- Auto pairs plugin that automatically closes brackets and quotes
|
||||
use({ "windwp/nvim-autopairs" })
|
||||
|
||||
-- File tree
|
||||
use({ "kyazdani42/nvim-tree.lua" })
|
||||
|
||||
-- Treesitter for better syntax highlighting
|
||||
use({
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
run = ":TSUpdate",
|
||||
{
|
||||
{ "JoosepAlviste/nvim-ts-context-commentstring" },
|
||||
{ "nvim-treesitter/playground" },
|
||||
{ "windwp/nvim-ts-autotag" },
|
||||
},
|
||||
})
|
||||
|
||||
-- Git things
|
||||
use({ "lewis6991/gitsigns.nvim" })
|
||||
use({ "tpope/vim-fugitive" })
|
||||
|
||||
-- LSP stuff
|
||||
use({ "neovim/nvim-lspconfig" })
|
||||
use({ "williamboman/nvim-lsp-installer" })
|
||||
use({ "jose-elias-alvarez/null-ls.nvim" })
|
||||
|
||||
-- Completion, snippets, etc
|
||||
use({
|
||||
"hrsh7th/nvim-cmp",
|
||||
{
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "hrsh7th/cmp-buffer" },
|
||||
{ "hrsh7th/cmp-path" },
|
||||
{ "hrsh7th/cmp-cmdline" },
|
||||
},
|
||||
})
|
||||
use({ "L3MON4D3/LuaSnip", {
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
} })
|
||||
|
||||
use({ "nvim-telescope/telescope.nvim" })
|
||||
|
||||
-- Statusline
|
||||
use({ "nvim-lualine/lualine.nvim" })
|
||||
|
||||
-- Highlight todo comments
|
||||
use({
|
||||
"folke/todo-comments.nvim",
|
||||
config = function()
|
||||
require("todo-comments").setup({})
|
||||
end,
|
||||
})
|
||||
|
||||
use({
|
||||
"folke/trouble.nvim",
|
||||
config = function()
|
||||
require("trouble").setup({})
|
||||
end,
|
||||
})
|
||||
|
||||
if PACKER_BOOTSTRAP then
|
||||
require("packer").sync()
|
||||
end
|
||||
end)
|
||||
|
||||
vim.g.mapleader = " "
|
||||
|
||||
require("user.options")
|
||||
require("user.theme")
|
||||
|
||||
require("nvim-autopairs").setup({})
|
||||
|
||||
require("user.file-tree")
|
||||
require("user.treesitter")
|
||||
require("user.telescope")
|
||||
require("user.git")
|
||||
require("user.lsp")
|
||||
require("user.lualine")
|
||||
require("user.remaps")
|
||||
Reference in New Issue
Block a user