From 418a659142be05dff397711e36b4fe183ed95f5f Mon Sep 17 00:00:00 2001 From: asep komarudin Date: Sun, 5 Mar 2023 19:29:48 +0700 Subject: [PATCH] fix lsp register ^& code runner config --- lua/core/config.lua | 1 + lua/custom/default.lua | 5 +++++ lua/user/coderunner.lua | 29 +++++++++++++++++++---------- lua/user/lsp/mason.lua | 6 ++++-- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/lua/core/config.lua b/lua/core/config.lua index 6d11708..bf228ff 100644 --- a/lua/core/config.lua +++ b/lua/core/config.lua @@ -33,6 +33,7 @@ config = { unregister_lsp = opt("unregister_lsp", {}), null_ls_sources = opt("null_ls_sources", {}), whichkey = opt("whichkey", {}), + coderunner = opt("coderunner", {}), } return config diff --git a/lua/custom/default.lua b/lua/custom/default.lua index a9c1f9c..1406e76 100644 --- a/lua/custom/default.lua +++ b/lua/custom/default.lua @@ -113,3 +113,8 @@ vim.g.pcode_whichkey = { }, ["o"] = { "SymbolsOutline", "Symbol Outline" }, } + +-- https://github.com/CRAG666/code_runner.nvim +vim.g.pcode_coderunner = { + javascript = "node $dir/$fileName", +} diff --git a/lua/user/coderunner.lua b/lua/user/coderunner.lua index 83d49b7..87672ff 100644 --- a/lua/user/coderunner.lua +++ b/lua/user/coderunner.lua @@ -2,18 +2,27 @@ local status_ok, code_runner = pcall(require, "code_runner") if not status_ok then return end + +local filetype = { + java = "cd $dir && javac $fileName && java $fileNameWithoutExt", + python = "python3 -u", + typescript = "deno run", + rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt", + -- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt" + cpp = "g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt", + scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css", +} + +local data_exists, runscript = pcall(require, "core.config") +if data_exists then + for _, code in pairs(runscript.coderunner) do + table.insert(filetype, code) + end +end + code_runner.setup({ -- put here the commands by filetype - filetype = { - java = "cd $dir && javac $fileName && java $fileNameWithoutExt", - python = "python3 -u", - typescript = "deno run", - javascript = "node $dir/$fileName", - rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt", - -- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt" - cpp = "g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt", - scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css", - }, + filetype = filetype, -- mode = "term", mode = "float", focus = true, diff --git a/lua/user/lsp/mason.lua b/lua/user/lsp/mason.lua index 2a741e9..9e249f7 100644 --- a/lua/user/lsp/mason.lua +++ b/lua/user/lsp/mason.lua @@ -27,9 +27,11 @@ end local data_ok, unregis = pcall(require, "core.config") if data_ok then if unregis.unregister_lsp ~= nil then - for _, unreg in pairs(custom_lsp.unregister_lsp) do + for _, unreg in pairs(unregis.unregister_lsp) do local my_index = idxOf(servers, unreg) - table.remove(servers, my_index) + if my_index ~= nil then + table.remove(servers, my_index) + end end end end