Correctly sets up lua IDE

This commit is contained in:
Dennis Schoepf 2025-04-15 20:49:59 +02:00
parent 26428924c0
commit 98e3a59438
9 changed files with 56 additions and 73 deletions

View file

@ -1,8 +0,0 @@
{
"runtime.version": "LuaJIT",
"runtime.path": ["lua/?.lua", "lua/?/init.lua"],
"diagnostics.globals": ["vim", "Snacks"],
"workspace.checkThirdParty": false,
"workspace.library": ["$VIMRUNTIME"]
}

View file

@ -5,11 +5,11 @@
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"follow-md-links.nvim": { "branch": "main", "commit": "ce8735a15dc3e5fc5bb052ec51b849c03e57df53" }, "follow-md-links.nvim": { "branch": "main", "commit": "ce8735a15dc3e5fc5bb052ec51b849c03e57df53" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"fzf-lua": { "branch": "main", "commit": "47b85a25c0c0b2c20b4e75199ed01bb71e7814f5" },
"gitsigns.nvim": { "branch": "main", "commit": "17ab794b6fce6fce768430ebc925347e349e1d60" }, "gitsigns.nvim": { "branch": "main", "commit": "17ab794b6fce6fce768430ebc925347e349e1d60" },
"go.nvim": { "branch": "master", "commit": "ef38820e413e10f47d83688dee41785bd885fb2a" }, "go.nvim": { "branch": "master", "commit": "ef38820e413e10f47d83688dee41785bd885fb2a" },
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" }, "guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "1ba400068bc178eb698b96ecfde82db59e7a7b8f" }, "lualine.nvim": { "branch": "master", "commit": "1ba400068bc178eb698b96ecfde82db59e7a7b8f" },
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
"mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" }, "mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },

View file

@ -1,16 +1,46 @@
return { return {
cmd = { 'lua-language-server' }, cmd = { "lua-language-server" },
filetypes = { 'lua' }, filetypes = { "lua" },
root_markers = { root_markers = {
'.luarc.json', ".luarc.json",
'.luarc.jsonc', ".luarc.jsonc",
'.luacheckrc', ".luacheckrc",
'.stylua.toml', ".stylua.toml",
'stylua.toml', "stylua.toml",
'selene.toml', "selene.toml",
'selene.yml', "selene.yml",
'.git', ".git",
}, },
single_file_support = true, single_file_support = true,
log_level = vim.lsp.protocol.MessageType.Warning, log_level = vim.lsp.protocol.MessageType.Warning,
on_init = function(client)
if client.workspace_folders then
local path = client.workspace_folders[1].name
if
path ~= vim.fn.stdpath("config")
and (vim.uv.fs_stat(path .. "/.luarc.json") or vim.uv.fs_stat(path .. "/.luarc.jsonc"))
then
return
end
end
client.config.settings.Lua = vim.tbl_deep_extend("force", client.config.settings.Lua, {
runtime = {
version = "LuaJIT",
},
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME,
},
},
})
end,
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
},
},
} }

View file

@ -41,7 +41,7 @@ local options = {
splitright = true, -- force all vertical splits to go to the right of current window splitright = true, -- force all vertical splits to go to the right of current window
swapfile = false, -- creates a swapfile swapfile = false, -- creates a swapfile
termguicolors = true, -- set term gui colors (most terminals support this) termguicolors = true, -- set term gui colors (most terminals support this)
timeoutlen = 200, -- time to wait for a mapped sequence to complete (in milliseconds) timeoutlen = 600, -- time to wait for a mapped sequence to complete (in milliseconds)
undofile = true, -- enable persistent undo undofile = true, -- enable persistent undo
updatetime = 230, -- faster completion (4000ms default) updatetime = 230, -- faster completion (4000ms default)
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited

View file

@ -1,5 +0,0 @@
local opts = { noremap = true, silent = true, expr = true }
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.keymap.set("", "<Space>", "<Nop>", opts)

View file

@ -16,7 +16,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
local opts = { buffer = args.buf } local opts = { buffer = args.buf }
vim.keymap.set("n", "<C-Space>", "<C-x><C-o>", opts) vim.keymap.set("n", "<C-Space>", "<C-x><C-o>", opts)
vim.keymap.set("n", "<Space>e", "vim.diagnostic.open_float()", opts) vim.keymap.set("n", "<Space>e", "<cmd>lua vim.diagnostic.open_float()<cr>", opts)
vim.keymap.set("n", "<Space>ca", "<cmd>lua vim.lsp.buf.code_action()<cr>", opts) vim.keymap.set("n", "<Space>ca", "<cmd>lua vim.lsp.buf.code_action()<cr>", opts)
end, end,
}) })

View file

@ -1,44 +0,0 @@
local options = {
backup = false, -- creates a backup file
clipboard = "unnamedplus", -- allows neovim to access the system clipboard
cmdheight = 1, -- more space in the neovim command line for displaying messages
completeopt = { "menu", "menuone", "noselect" }, -- mostly just for cmp
conceallevel = 0, -- so that `` is visible in markdown files
fileencoding = "utf-8", -- the encoding written to a file
hlsearch = true, -- highlight all matches on previous search pattern
ignorecase = true, -- ignore case in search patterns
mouse = "a", -- allow the mouse to be used in neovim
pumheight = 10, -- pop up menu height
showmode = false, -- we don't need to see things like -- INSERT -- anymore
smartindent = true,
breakindent = true,
showtabline = 0, -- always show tabs
smartcase = true, -- smart case
splitbelow = true, -- force all horizontal splits to go below current window
splitright = true, -- force all vertical splits to go to the right of current window
swapfile = false, -- creates a swapfile
termguicolors = true, -- set term gui colors (most terminals support this)
timeoutlen = 200, -- time to wait for a mapped sequence to complete (in milliseconds)
undofile = true, -- enable persistent undo
updatetime = 230, -- faster completion (4000ms default)
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
expandtab = true, -- convert tabs to spaces
shiftwidth = 2, -- the number of spaces inserted for each indentation
tabstop = 2, -- insert 2 spaces for a tab
cursorline = true, -- highlight the current line
number = true, -- set numbered lines
relativenumber = true, -- set relative numbered lines
numberwidth = 4, -- set number column width to 2 {default 4}
signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
linebreak = true,
breakat = " ^I!@*-+;:,./?",
scrolloff = 6, -- is one of my fav
sidescrolloff = 4,
winbar = nil,
}
vim.opt.shortmess:append("c")
for k, v in pairs(options) do
vim.opt[k] = v
end

View file

@ -14,8 +14,6 @@ return {
appearance = { appearance = {
nerd_font_variant = "mono", nerd_font_variant = "mono",
}, },
-- (Default) Only show the documentation popup when manually triggered
-- C-k: Toggle signature help (if signature.enabled = true)
completion = { completion = {
documentation = { auto_show = false }, documentation = { auto_show = false },
list = { list = {
@ -29,10 +27,15 @@ return {
enabled = true, enabled = true,
}, },
sources = { sources = {
default = { "lsp", "path", "snippets", "buffer" }, default = { "lazydev", "lsp", "path", "snippets", "buffer" },
per_filetype = { sql = { "dadbod" } }, per_filetype = { sql = { "dadbod" } },
providers = { providers = {
dadbod = { module = "vim_dadbod_completion.blink" }, dadbod = { module = "vim_dadbod_completion.blink" },
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
score_offset = 100,
},
}, },
}, },
fuzzy = { implementation = "prefer_rust_with_warning" }, fuzzy = { implementation = "prefer_rust_with_warning" },

View file

@ -0,0 +1,7 @@
return {
{
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {},
},
}