From 95fefd2304b3c8e9f092cb7fc557cc704ff900c6 Mon Sep 17 00:00:00 2001 From: dogeystamp Date: Tue, 2 Apr 2024 14:14:16 -0400 Subject: [PATCH] nvim: install lua-language-server also change all the lua stuff to make the lsp happy --- src/.config/nvim/lua/coding.lua | 18 ++++++++++++++++-- src/.config/nvim/lua/confutil.lua | 11 ++++++++--- src/.config/nvim/lua/debugging.lua | 26 +++++++++++++------------- src/.config/nvim/lua/init.lua | 6 +++--- src/.config/nvim/lua/theme.lua | 17 +++++++++-------- 5 files changed, 49 insertions(+), 29 deletions(-) diff --git a/src/.config/nvim/lua/coding.lua b/src/.config/nvim/lua/coding.lua index a72d0ac..00e3a55 100644 --- a/src/.config/nvim/lua/coding.lua +++ b/src/.config/nvim/lua/coding.lua @@ -88,7 +88,6 @@ keymap("gR", "TroubleToggle lsp_references") -- plug: nvim-lspconfig ------ local on_attach = function(client, bufnr) - local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end -- Enable completion triggered by buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') @@ -127,6 +126,21 @@ local servers = { tsserver = {}, bashls = {}, cssls = {}, + lua_ls = { + settings = { + Lua = { + runtime = { + version = "LuaJIT", + }, + workspace = { + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME, + }, + } + } + } + }, rust_analyzer = { settings = { ['rust-analyzer'] = { @@ -140,7 +154,7 @@ local servers = { local nvim_lsp = require('lspconfig') for lsp, sv_settings in pairs(servers) do -- defaults - settings = { + local settings = { on_attach = on_attach, flags = { debounce_text_changes = 150, diff --git a/src/.config/nvim/lua/confutil.lua b/src/.config/nvim/lua/confutil.lua index 1fb1402..435bde8 100644 --- a/src/.config/nvim/lua/confutil.lua +++ b/src/.config/nvim/lua/confutil.lua @@ -8,14 +8,19 @@ function M.keymap(key, cmd, params) params = {} end - default_params = { + if cmd == nil then + -- sometimes a function will be there, sometimes not + return + end + + local default_params = { silent=true, mode={'n'}, noremap=true, } setmetatable(params, { - __index = function (table, key) - return default_params[key] + __index = function (table, k) + return default_params[k] end }) diff --git a/src/.config/nvim/lua/debugging.lua b/src/.config/nvim/lua/debugging.lua index c227030..d113afd 100644 --- a/src/.config/nvim/lua/debugging.lua +++ b/src/.config/nvim/lua/debugging.lua @@ -129,27 +129,27 @@ function M.dbg_dir(file) -- get a directory to store files needed for debugging -- like ad hoc test cases, or compiled binaries local dir = assert(vim.env.XDG_CACHE_HOME, "$XDG_CACHE_HOME is unset") .. "/nvimdbg" - local file = gf(file) + file = gf(file) local subdir = dir .. file assert(vim.fn.mkdir(subdir, "p"), "Could not create debug directory.") return subdir end -function compile(file) - local file = gf(file) +function M.compile(file) + file = gf(file) local subdir = M.dbg_dir(file) vim.fn.execute("make " .. subdir .. "/binary " .. "-f $XDG_CONFIG_HOME/nvim/makefile") end -keymap("dc", compile) +keymap("dc", M.compile) -function write_input(file) +function M.write_input(file) -- store ad hoc test input from clipboard - local file = gf(file) + file = gf(file) local inp_file = M.dbg_dir(file) .. "/input" vim.fn.writefile(vim.fn.getreg("+", 1, 1), inp_file) end -function run_input(file) - local file = gf(file) +function M.run_input(file) + file = gf(file) if not dapui.elements.console then print("Unable to feed input: no console found") return @@ -163,11 +163,11 @@ function run_input(file) end) end -keymap("rw", write_input) -keymap("ri", run_input) +keymap("rw", M.write_input) +keymap("ri", M.run_input) -function run_tests(file) - local file = gf(file) +function M.run_tests(file) + file = gf(file) local executable if vim.fn.expand("%:e") == "cpp" then executable = M.dbg_dir(file) .. "/binary" @@ -187,7 +187,7 @@ function run_tests(file) ]] end -keymap("dt", run_tests) +keymap("dt", M.run_tests) ---------------- diff --git a/src/.config/nvim/lua/init.lua b/src/.config/nvim/lua/init.lua index 65a6884..fe4ad31 100644 --- a/src/.config/nvim/lua/init.lua +++ b/src/.config/nvim/lua/init.lua @@ -1,9 +1,9 @@ -- lua entry point -confutil = require("confutil") +local confutil = require("confutil") -keymap = confutil.keymap -dotprofile, profile_table = confutil.dotprofile, confutil.profile_table +local keymap = confutil.keymap +local dotprofile, profile_table = confutil.dotprofile, confutil.profile_table -------------------------------- -------------------------------- diff --git a/src/.config/nvim/lua/theme.lua b/src/.config/nvim/lua/theme.lua index 8296d87..1b9c943 100644 --- a/src/.config/nvim/lua/theme.lua +++ b/src/.config/nvim/lua/theme.lua @@ -15,19 +15,20 @@ require("noirbuddy").setup({ }, preset = "slate", }) + -- force transparent bg local Color, colors, Group, groups, styles = require("colorbuddy").setup {} -Group.new("Normal", colors.noir_4, colors.none, no) +Group.new("Normal", colors.noir_4, colors.none, nil) Group.new("StatusLine", colors.noir_4, colors.none, styles.bold) -- not selected statusline Group.new("StatusLineNC", colors.noir_7, colors.none) Group.link("Gutter", groups.normal) -Group.new("LineNr", colors.noir_8, colors.none, no) +Group.new("LineNr", colors.noir_8, colors.none, nil) Group.link("SignColumn", groups.LineNr) -Group.new("VertSplit", colors.noir_9, colors.none, no) +Group.new("VertSplit", colors.noir_9, colors.none, nil) -- other overrides -Group.new("identifier", colors.noir_3, nil, no) +Group.new("identifier", colors.noir_3, nil, nil) Group.new("function", colors.noir_2, nil) Group.link("@function", groups["function"]) @@ -41,11 +42,11 @@ Group.link("@keyword.return", groups["keyword.return"]) Group.link("type.qualifier", groups["keyword.return"]) Group.link("@type.qualifier", groups["keyword.return"]) -Group.new("NormalFloat", colors.noir_1, colors.noir_9, no) +Group.new("NormalFloat", colors.noir_1, colors.noir_9, nil) -- swap undercurls and underlines for _, v in ipairs({"Error", "Info", "Hint", "Warn"}) do - col_name = "diagnostic_" .. string.lower(v) + local col_name = "diagnostic_" .. string.lower(v) if v == "Warn" then col_name = "diagnostic_warning" end @@ -56,8 +57,8 @@ end -- DAP-ui colors -Group.new("debugPC", primary, colors.noir_8) -Group.new("DapUIModifiedValue", primary, nil, styles.bold) +Group.new("debugPC", colors.primary, colors.noir_8) +Group.new("DapUIModifiedValue", colors.primary, nil, styles.bold) Group.new("DapUIWatchesEmpty", colors.noir_8, nil, nil) Group.new("DapUIWatchesError", colors.diff_delete, nil, nil) Group.new("DapUISource", colors.primary, nil, nil)