From 8443407f0de84f9940ef769736275d5b8abe124f Mon Sep 17 00:00:00 2001
From: linarphy <linarphy@linarphy.net>
Date: Sat, 25 May 2024 00:10:39 +0200
Subject: [PATCH] Update neovim config

---
 private_dot_config/nvim/lazy-lock.json        | 44 +++++++++----------
 .../nvim/lua/mapping/maintenance.lua          |  6 +--
 .../nvim/lua/plugins/nvim-lspconfig.lua       | 19 +-------
 private_dot_config/nvim/lua/provider/init.lua |  3 ++
 private_dot_config/nvim/lua/provider/lsp.lua  | 10 +++++
 .../nvim/lua/provider/vanilla.lua             |  4 ++
 .../nvim/lua/variables/init.lua               |  2 +
 7 files changed, 45 insertions(+), 43 deletions(-)
 create mode 100644 private_dot_config/nvim/lua/provider/init.lua
 create mode 100644 private_dot_config/nvim/lua/provider/lsp.lua
 create mode 100644 private_dot_config/nvim/lua/provider/vanilla.lua

diff --git a/private_dot_config/nvim/lazy-lock.json b/private_dot_config/nvim/lazy-lock.json
index 5286a39..04fe114 100644
--- a/private_dot_config/nvim/lazy-lock.json
+++ b/private_dot_config/nvim/lazy-lock.json
@@ -1,30 +1,30 @@
 {
-  "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" },
+  "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
   "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
   "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" },
-  "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
+  "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
   "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
   "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
-  "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" },
-  "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" },
-  "fzf-lua": { "branch": "main", "commit": "344b309421e5222a6199e4b46d01041089b6a2ae" },
-  "lazy.nvim": { "branch": "main", "commit": "31ddbea7c10b6920c9077b66c97951ca8682d5c8" },
-  "mini.nvim": { "branch": "main", "commit": "c4598eaaa7bc29c1d17dd1238c3436c1fb4233aa" },
+  "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" },
+  "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" },
+  "fzf-lua": { "branch": "main", "commit": "e53867b9c3a5de3d30ebe0b4a5107eb59b1a8a0c" },
+  "lazy.nvim": { "branch": "main", "commit": "0de782a6b0ffba599dbd332a4019d852564bf28c" },
+  "mini.nvim": { "branch": "main", "commit": "eb2dd6d187e1ab5fefec66f0d37b1a3dc8633d17" },
   "monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
-  "neo-tree.nvim": { "branch": "v3.x", "commit": "c61074acb19102dfc6f21738dcae4d9a494a8959" },
-  "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" },
-  "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" },
-  "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" },
-  "nvim-lspconfig": { "branch": "master", "commit": "b3014f2209503944f2714cf27c95591433a0c7d8" },
-  "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
-  "nvim-treesitter": { "branch": "master", "commit": "f08a9d97f7a2ac02115a5c1c8e3973b2634d996b" },
-  "nvim-treesitter-context": { "branch": "master", "commit": "ba05c6b753130d96b284d3e8ba8f54c28c0fb6d1" },
-  "nvim-treesitter-textobjects": { "branch": "master", "commit": "6e9bb569a510bdfab6095c217a2f714af7a3d116" },
-  "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
-  "nvim-web-devicons": { "branch": "master", "commit": "6e355632387a085f15a66ad68cf681c1d7374a04" },
-  "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" },
-  "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" },
-  "trouble.nvim": { "branch": "dev", "commit": "10eff94809ecd6ee6cc59f42e9521b9b8a14e9ce" },
-  "vim-fugitive": { "branch": "master", "commit": "dac8e5c2d85926df92672bf2afb4fc48656d96c7" },
+  "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" },
+  "noice.nvim": { "branch": "main", "commit": "9f6f6ba74f8bfbf7e43d6302cf86b070362f6203" },
+  "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" },
+  "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
+  "nvim-lspconfig": { "branch": "master", "commit": "9bda20fb967075355f253911bc066a8b5a03c77e" },
+  "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
+  "nvim-treesitter": { "branch": "master", "commit": "7c9c5bed8340031f8a6dad47a58a26eaf15b9a56" },
+  "nvim-treesitter-context": { "branch": "master", "commit": "55e29081e73d2e4b2d62fb4dc3eebe21bf66a1e2" },
+  "nvim-treesitter-textobjects": { "branch": "master", "commit": "5f9bf4b1ead7707e4e74e5319ee56bdc81fb73db" },
+  "nvim-ts-autotag": { "branch": "main", "commit": "cb57b07803476ee902c89412aeff219a9a58be13" },
+  "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
+  "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" },
+  "plenary.nvim": { "branch": "master", "commit": "b5c8de02a44ffeabff678090edd6a132ff8ab77d" },
+  "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" },
+  "vim-fugitive": { "branch": "master", "commit": "4f59455d2388e113bd510e85b310d15b9228ca0d" },
   "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
 }
\ No newline at end of file
diff --git a/private_dot_config/nvim/lua/mapping/maintenance.lua b/private_dot_config/nvim/lua/mapping/maintenance.lua
index f8dfa45..a9b2f7d 100644
--- a/private_dot_config/nvim/lua/mapping/maintenance.lua
+++ b/private_dot_config/nvim/lua/mapping/maintenance.lua
@@ -8,9 +8,9 @@ vim.keymap.set(
 )
 
 vim.keymap.set(
-	'n'                                                     ,
-	'<Leader>is'                                            ,
-	':source ' .. require('variables.core').config .. '<CR>',
+	'n'                                                             ,
+	'<Leader>is'                                                    ,
+	':source ' .. require('variables.core').config .. 'init.lua<CR>',
 	{
 		desc = 'try to reload current configuration'
 	}
diff --git a/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua b/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua
index 5599572..3aa5c02 100644
--- a/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua
+++ b/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua
@@ -3,22 +3,5 @@ return {
 	event = {
 		'BufReadPre',
 		'BufNewFile',
-	},
-	config = function()
-		local lspconfig = require('lspconfig')
-		local capabilities = require('cmp_nvim_lsp').default_capabilities()
-
-		lspconfig.pyright.setup {
-			capabilities = capabilities,
-		}
-		lspconfig.tsserver.setup {
-			capabilities = capabilities,
-		}
-		lspconfig.rust_analyzer.setup {
-			capabilities = capabilities,
-			settings     = {
-				['rust-analyzer'] = {},
-			}                          ,
-		}
-	end
+	}
 }
diff --git a/private_dot_config/nvim/lua/provider/init.lua b/private_dot_config/nvim/lua/provider/init.lua
new file mode 100644
index 0000000..f9802d8
--- /dev/null
+++ b/private_dot_config/nvim/lua/provider/init.lua
@@ -0,0 +1,3 @@
+require('provider.vanilla')
+
+require('provider.lsp')
diff --git a/private_dot_config/nvim/lua/provider/lsp.lua b/private_dot_config/nvim/lua/provider/lsp.lua
new file mode 100644
index 0000000..6c6bd95
--- /dev/null
+++ b/private_dot_config/nvim/lua/provider/lsp.lua
@@ -0,0 +1,10 @@
+require('lspconfig').basedpyright.setup {
+	cmd = {
+		require('variables.paths').python .. 'basedpyright-langserver',
+		'--stdio',
+	}
+}
+
+require('lspconfig').tsserver.setup {}
+
+require('lspconfig').rust_analyzer.setup {}
diff --git a/private_dot_config/nvim/lua/provider/vanilla.lua b/private_dot_config/nvim/lua/provider/vanilla.lua
new file mode 100644
index 0000000..4b3c238
--- /dev/null
+++ b/private_dot_config/nvim/lua/provider/vanilla.lua
@@ -0,0 +1,4 @@
+vim.g.python3_host_prog    = require('variables.paths').python .. 'python3'
+vim.g.loaded_node_provider = 0
+vim.g.loaded_perl_provider = 0
+vim.g.loaded_ruby_provider = 0
diff --git a/private_dot_config/nvim/lua/variables/init.lua b/private_dot_config/nvim/lua/variables/init.lua
index 3e41657..e61724b 100644
--- a/private_dot_config/nvim/lua/variables/init.lua
+++ b/private_dot_config/nvim/lua/variables/init.lua
@@ -1,3 +1,5 @@
 require('variables.core')
 
 require('variables.mapping')
+
+require('variables.paths')