Files
vern-nvim/lua/Polydev/configs.lua
T

84 lines
2.8 KiB
Lua

local M = {}
M.user_config = {}
---@param user_opts table
function M.setup(user_opts)
user_opts = user_opts or {}
local project_root = (user_opts.globals and user_opts.globals.project_root) or "~/personal/Projects"
local defaults = {
rust = {
project_root = project_root .. "/Rust",
keybinds = {
["<leader>pr"] = "RustRun",
},
},
javascript = {
project_root = project_root .. "/Javascript",
keybinds = {
["<leader>pr"] = "JavascriptRun",
},
},
java = {
project_root = project_root .. "/Java",
keybinds = {
["<leader>pr"] = "JavaRun",
},
},
lua = {
project_root = project_root .. "/Lua",
keybinds = {
["<leader>pr"] = "LuaRun",
},
},
c = {
project_root = project_root .. "/C",
keybinds = {
["<leader>pr"] = "CRun",
},
},
cpp = {
project_root = project_root .. "/CPP",
keybinds = {
["<leader>pr"] = "CppRun",
},
},
python = {
project_root = project_root .. "/Python",
keybinds = {
["<leader>pr"] = "PythonRun",
["<leader>pb"] = "PythonPip",
},
},
html = {
project_root = project_root .. "/Html",
},
globals = {
project_root = project_root,
keybinds = {
["<leader>po"] = "PolydevOpen",
},
},
terminal = {
mode = "split",
win = {
type = "horizontal", anchor = "bottom", size = "20"
},
border = {
enabled = true,
type = "rounded",
},
},
}
M.user_config = vim.tbl_deep_extend("force", defaults, user_opts)
end
---@param lang string
---@return table
function M.get(lang)
return M.user_config[lang] or {}
end
return M