nvim: install lua-language-server
also change all the lua stuff to make the lsp happy
This commit is contained in:
parent
8c512a2572
commit
95fefd2304
@ -88,7 +88,6 @@ keymap("gR", "<cmd>TroubleToggle lsp_references<cr>")
|
||||
-- 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 <c-x><c-o>
|
||||
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,
|
||||
|
@ -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
|
||||
})
|
||||
|
||||
|
@ -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("<leader>dc", compile)
|
||||
keymap("<leader>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("<leader>rw", write_input)
|
||||
keymap("<leader>ri", run_input)
|
||||
keymap("<leader>rw", M.write_input)
|
||||
keymap("<leader>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("<leader>dt", run_tests)
|
||||
keymap("<leader>dt", M.run_tests)
|
||||
|
||||
|
||||
----------------
|
||||
|
@ -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
|
||||
|
||||
--------------------------------
|
||||
--------------------------------
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user