updated
This commit is contained in:
parent
3b332b462a
commit
d3f99fee39
2 changed files with 92 additions and 76 deletions
144
init.lua
144
init.lua
|
|
@ -1,26 +1,21 @@
|
|||
-- Load user configuration files
|
||||
require("user.options")
|
||||
require("user.keymaps")
|
||||
require("user.cmp")
|
||||
require("user.java")
|
||||
require("user.autopairs")
|
||||
require("user.telescope")
|
||||
require("user.gruvbox")
|
||||
require("user.lsp")
|
||||
require("user.treesitter")
|
||||
require("user.null-ls") -- Load null-ls configuration
|
||||
require("user.terminal")
|
||||
require("user.markdown")
|
||||
require("user.autocmds")
|
||||
require("user.files_utils")
|
||||
require("user.commands")
|
||||
require("user.comment")
|
||||
-- /home/prabhat/.config/nvim/init.lua
|
||||
|
||||
return require("packer").startup(function(use)
|
||||
-- 1. Packer Bootstrap (required to make 'packer' available)
|
||||
-- This ensures 'packer.nvim' is installed if not present and then loaded.
|
||||
-- This part is usually placed at the very top.
|
||||
local install_path = vim.fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
|
||||
vim.fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||
vim.cmd [[packadd packer.nvim]]
|
||||
end
|
||||
|
||||
-- 2. Call packer.startup to define your plugins.
|
||||
-- This part should NOT be preceded by 'return' if you have other configs.
|
||||
require("packer").startup(function(use)
|
||||
-- Let packer manage itself
|
||||
use("wbthomason/packer.nvim")
|
||||
|
||||
-- Completion framework
|
||||
-- Completion framework
|
||||
use("hrsh7th/nvim-cmp")
|
||||
use("hrsh7th/cmp-buffer")
|
||||
use("hrsh7th/cmp-path")
|
||||
|
|
@ -29,72 +24,85 @@
|
|||
use("saadparwaiz1/cmp_luasnip")
|
||||
use("L3MON4D3/LuaSnip")
|
||||
|
||||
-- Load test plugin configuration
|
||||
require("user.test")(use)
|
||||
-- Load test plugin configuration (this `require` should call a `use` inside user.test)
|
||||
require("user.test")(use) -- Make sure user.test returns a function that takes 'use'
|
||||
|
||||
-- NERDTree plugin
|
||||
use("preservim/nerdtree")
|
||||
|
||||
-- Plugin for integrating formatters/linters
|
||||
use("jose-elias-alvarez/null-ls.nvim")
|
||||
use({
|
||||
"nvimtools/none-ls.nvim",
|
||||
requires = { "nvim-lua/plenary.nvim" },
|
||||
})
|
||||
|
||||
-- -- TS Server
|
||||
use("jose-elias-alvarez/nvim-lsp-ts-utils")
|
||||
-- TS Server
|
||||
use("jose-elias-alvarez/nvim-lsp-ts-utils")
|
||||
|
||||
-- Treesitter
|
||||
use("nvim-treesitter/nvim-treesitter")
|
||||
use("nvim-treesitter/nvim-treesitter")
|
||||
|
||||
-- Auto pairs
|
||||
use("windwp/nvim-autopairs")
|
||||
-- Auto pairs
|
||||
use("windwp/nvim-autopairs")
|
||||
|
||||
-- LSP Configuration
|
||||
use("neovim/nvim-lspconfig")
|
||||
-- LSP Configuration
|
||||
use("neovim/nvim-lspconfig")
|
||||
|
||||
-- Java Language Server support
|
||||
use("mfussenegger/nvim-jdtls")
|
||||
-- Java Language Server support
|
||||
use("mfussenegger/nvim-jdtls")
|
||||
|
||||
-- Markdown Preview (optional)
|
||||
use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install" })
|
||||
use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install" })
|
||||
|
||||
use({
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.8",
|
||||
-- or , branch = '0.1.x',
|
||||
requires = { { "nvim-lua/plenary.nvim" } },
|
||||
})
|
||||
use({
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.8",
|
||||
-- or , branch = '0.1.x',
|
||||
requires = { { "nvim-lua/plenary.nvim" } },
|
||||
})
|
||||
|
||||
-- Comment
|
||||
use 'numToStr/Comment.nvim'
|
||||
-- Comment
|
||||
use 'numToStr/Comment.nvim'
|
||||
|
||||
-- Telescope FZF native
|
||||
use({
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
run = "make",
|
||||
})
|
||||
|
||||
-- Telescope FZF native
|
||||
use({
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
run = "make",
|
||||
})
|
||||
use({ "ellisonleao/gruvbox.nvim" })
|
||||
|
||||
use({ "ellisonleao/gruvbox.nvim" })
|
||||
-- Mason and Mason-LSPConfig
|
||||
-- **** IMPORTANT: Pinning to known stable commits ****
|
||||
-- This helps resolve "nil enable" errors due to transient incompatibilities
|
||||
-- between the latest versions of these two plugins.
|
||||
-- If these specific commits cause new issues, you may try slightly different
|
||||
-- recent commits, or check their GitHub repos for very recent stable ones.
|
||||
use({ "williamboman/mason.nvim" })
|
||||
use({ "williamboman/mason-lspconfig.nvim" })
|
||||
|
||||
use({
|
||||
"williamboman/mason.nvim",
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Mason LSPConfig for integrating Mason with nvim-lspconfig
|
||||
use({
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
config = function()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"pyright",
|
||||
"ts_ls",
|
||||
"jdtls",
|
||||
"marksman",
|
||||
"kotlin_language_server",
|
||||
},
|
||||
})
|
||||
end,
|
||||
})
|
||||
end)
|
||||
|
||||
-- 3. Load user configuration files (after Packer has defined and made plugins available)
|
||||
-- These files will contain the `setup()` calls for your plugins.
|
||||
require("user.options")
|
||||
require("user.keymaps")
|
||||
require("user.cmp")
|
||||
require("user.java")
|
||||
require("user.autopairs")
|
||||
require("user.telescope")
|
||||
require("user.gruvbox")
|
||||
|
||||
-- This is where your mason.setup() and mason-lspconfig.setup() calls should be.
|
||||
-- Ensure that your 'user/lsp.lua' contains the 'handlers' table in its
|
||||
-- mason-lspconfig.setup call as instructed previously.
|
||||
require("user.lsp")
|
||||
|
||||
require("user.treesitter")
|
||||
require("user.null-ls") -- Load null-ls configuration
|
||||
require("user.terminal")
|
||||
require("user.markdown")
|
||||
require("user.autocmds")
|
||||
require("user.files_utils")
|
||||
require("user.commands")
|
||||
require("user.comment")
|
||||
|
|
|
|||
|
|
@ -1,13 +1,21 @@
|
|||
-- Load language server configuration
|
||||
vim.opt.rtp:prepend(vim.fn.stdpath('data') .. '/site/pack/packer/start/mason.nvim')
|
||||
vim.opt.rtp:prepend(vim.fn.stdpath('data') .. '/site/pack/packer/start/mason-lspconfig.nvim')
|
||||
vim.opt.rtp:prepend(vim.fn.stdpath('data') .. '/site/pack/packer/start/nvim-lspconfig')
|
||||
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = { "lua_ls" }, -- Test with a single, simple LSP
|
||||
automatic_installation = false,
|
||||
handlers = {
|
||||
function(server_name)
|
||||
require("lspconfig")[server_name].setup({})
|
||||
end,
|
||||
},
|
||||
})
|
||||
-- Load LSP configurations
|
||||
require("user.lsp_servers.pyright")
|
||||
require("user.lsp_servers.ts_ls")
|
||||
require("user.lsp_servers.jdtls")
|
||||
require("user.lsp_servers.marksman")
|
||||
require("user.lsp_servers.kotlin_ls")
|
||||
require("user.lsp_servers.graphql")
|
||||
|
||||
-- Mason setup
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = { "pyright", "ts_ls", "jdtls", "marksman", "kotlin_language_server" }, -- Ensure Kotlin LSP is installed
|
||||
})
|
||||
require("user.lsp_servers.jdtls")
|
||||
|
|
|
|||
Loading…
Reference in a new issue