feat: Flake | revamp entire flake (#1)

Reviewed-on: #1
This commit is contained in:
2025-02-16 06:35:32 +00:00
parent ecc87ef0b8
commit 79d044e8ef
80 changed files with 1015 additions and 174 deletions

View File

@@ -0,0 +1,23 @@
local dap = require("dap")
dap.adapters["pwa-node"] = {
type = "server",
host = "127.0.0.1",
port = 8123,
executable = {
command = "js-debug-adapter",
},
}
for _, language in ipairs { "javascript", "typescript" } do
dap.configurations[language] = {
{
type = "pwa-node",
request = "launch",
name = "Launch file",
program = "${file}",
cwd = "${workspaceFolder}",
runtimeExecutable = "node",
},
}
end

View File

@@ -0,0 +1,16 @@
local M = {
filetype = {
javascript = {
require("formatter.filetypes.javascript").prettier,
},
typescript = {
require("formatter.filetypes.javascript").prettier,
},
},
}
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
command = "FormatWriteLock",
})
return M

View File

@@ -0,0 +1,79 @@
local config = require("plugins.configs.lspconfig")
local on_attach = config.on_attach
local capabilities = config.capabilities
local lspconfig = require("lspconfig")
local function organize_imports()
local params = {
command = "_typescript.organizeImports",
arguments = { vim.api.nvim_buf_get_name(0) },
}
vim.lsp.buf.execute_command(params)
end
lspconfig.ts_ls.setup {
on_attach = on_attach,
capabilities = capabilities,
init_options = {
preferences = {
disablesuggestions = true,
}
},
commands = {
OrganizeImports = {
organize_imports,
description = "Organize Imports",
},
}
}
lspconfig.terraformls.setup {
on_attach = on_attach,
capabilities = capabilities,
}
lspconfig.tflint.setup {
on_attach = on_attach,
capabilities = capabilities,
}
lspconfig.gopls.setup {
on_attach = on_attach,
capabilities = capabilities,
cmd = { "gopls" },
filetypes = { "go", "gomod", "gowork", "gotempl" },
root_dir = lspconfig.util.root_pattern("go.mod", "go.work"),
settings = {
gopls = {
completeUnimported = true,
usePlaceholders = true,
analyses = {
unusedparams = true,
},
},
},
}
lspconfig.pyright.setup {
on_attach = on_attach,
capabilities = capabilities,
filetypes = { "python" },
}
lspconfig.gleam.setup({})
lspconfig.nil_ls.setup {
on_attach = on_attach,
capabilities = capabilities,
autostart = true,
cmd = { "nil" },
filetypes = { "nix" },
settings = {
['nil'] = {
testSetting = 42,
formatting = {
command = { "alejandra" },
},
},
},
}

View File

@@ -0,0 +1,28 @@
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
local null_ls = require("null-ls")
local opts = {
sources = {
null_ls.builtins.formatting.black,
null_ls.builtins.diagnostics.mypy,
null_ls.builtins.diagnostics.ruff,
},
on_attach = function(client, bufnr)
if client.supports_method("textDocument/formatting") then
vim.api.nvim_clear_autocmds({
group = augroup,
buffer = bufnr,
})
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
buffer = bufnr,
callback = function()
vim.lsp.buf.format({ bufnr = bufnr })
end,
})
end
end,
}
return opts