diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 4157e0f..ae1e31a 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,14 +1,8 @@ -#!/bin/bash -STYLUA_PATH="$HOME/.local/share/nvim/mason/bin/stylua" +#!/usr/bin/env bash -if [[ -x "$STYLUA_PATH" ]]; then - LUA_FILES=$(git diff --cached --name-only --diff-filter=AM | grep '\.lua$') +LUA_FILES=$(git diff --cached --name-only --diff-filter=AM | grep '\.lua$') - if [ -n "$LUA_FILES" ]; then - echo "$LUA_FILES" | xargs "$STYLUA_PATH" - echo "$LUA_FILES" | xargs git add - fi -else - echo "Error: stylua not found. Please install it via Mason." - exit 1 +if [ -n "$LUA_FILES" ]; then + echo "$LUA_FILES" | xargs "$STYLUA_PATH" + echo "$LUA_FILES" | xargs git add fi diff --git a/lazy-lock.json b/lazy-lock.json index 74455b1..2d7e7e0 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,36 +1,31 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, - "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, - "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, + "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, "cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" }, - "cmp-dbee": { "branch": "main", "commit": "1650f67b9bf43c029fc37570665ca895a33cdf5a" }, "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" }, - "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, + "flash.nvim": { "branch": "main", "commit": "b68bda044d68e4026c4e1ec6df3c5afd7eb8e341" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "70cdea35ac8fe5e3a977616b883d780a842cc115" }, + "fzf-lua": { "branch": "main", "commit": "7b730b69985e33c14bff3bdafd1a2c82fdfa1376" }, "git-worktree.nvim": { "branch": "main", "commit": "3ad8c17a3d178ac19be925284389c14114638ebb" }, "gitlinker.nvim": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" }, - "gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" }, - "go.nvim": { "branch": "master", "commit": "2f7cd3a20a2940320d5cad338722601ffa3ce31b" }, + "gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" }, + "go.nvim": { "branch": "master", "commit": "bfd135469297f7eec50b444c8a10e098ae170f00" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, + "lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "5e085efe67fccb13372d54331d849219662a7e93" }, - "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, - "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, - "mini.ai": { "branch": "main", "commit": "45a26d032d8703f280c69c2ed9fb4e1bfc8f24f9" }, + "mini.ai": { "branch": "main", "commit": "dcd346a3eda9121e917950680e5eb59f59f78aae" }, "mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" }, "mini.statusline": { "branch": "main", "commit": "3c86b8a1cb67e347e91815b21662c28fd52ac144" }, - "mini.surround": { "branch": "main", "commit": "953fb53aa1d0b2ae4506d35fff0e0e7afc8ceb8d" }, + "mini.surround": { "branch": "main", "commit": "4b92d30fb5e021cced6cbb68698c73018211fbfa" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-dbee": { "branch": "master", "commit": "dda517694889a5d238d7aa407403984da9f80cc0" }, "nvim-lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" }, - "nvim-lint": { "branch": "master", "commit": "f126af5345c7472e9a0cdbe1d1a29209be72c4c4" }, - "nvim-lspconfig": { "branch": "master", "commit": "3e89e4973d784e1c966517e528b3a30395403fa7" }, + "nvim-lint": { "branch": "master", "commit": "0864f81c681e15d9bdc1156fe3a17bd07db5a3ed" }, + "nvim-lspconfig": { "branch": "master", "commit": "107c2458cdc780c4ed2c2b5e1b7800cd019010bd" }, "nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, @@ -41,9 +36,9 @@ "presenterm.nvim": { "branch": "main", "commit": "2db942337aeeca99e33f627459df2264b3987634" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "quicker.nvim": { "branch": "master", "commit": "6b88ca4d70e35df877d9564beba83f00ba0c3133" }, - "render-markdown.nvim": { "branch": "main", "commit": "e76eb2e4262f0f0a1a7bd7a454dd7d44f1299afd" }, - "schemastore.nvim": { "branch": "main", "commit": "2ae6d27897c60265d4ad3f33e286528d519098fd" }, - "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, + "render-markdown.nvim": { "branch": "main", "commit": "67f2c7c8850bb11eefa6b22054a6f4cef1146de2" }, + "schemastore.nvim": { "branch": "main", "commit": "22f0c2f7c727a15b45b7bfcbbab533720223b840" }, + "snacks.nvim": { "branch": "main", "commit": "d67a47739dfc652cfcf66c59e929c704a854b37a" }, "suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "typst-preview.nvim": { "branch": "master", "commit": "dea4525d5420b7c32eebda7de15a6beb9d6574fa" }, diff --git a/lua/plugins/completion.lua b/lua/plugins/completion.lua index 3077240..8ca6d68 100644 --- a/lua/plugins/completion.lua +++ b/lua/plugins/completion.lua @@ -4,21 +4,8 @@ local M = { "nvim-lua/plenary.nvim", { "L3MON4D3/LuaSnip", version = "v2.*" }, "folke/lazydev.nvim", - { - "MattiasMTS/cmp-dbee", - dependencies = { - { "kndndrj/nvim-dbee" }, - }, - ft = "sql", -- optional but good to have - opts = {}, -- needed - }, - { - "saghen/blink.compat", - version = "2.*", - lazy = true, - opts = {}, - }, }, + build = "nix run .#build-plugin", version = "*", } @@ -50,13 +37,8 @@ M.config = function() sources = { default = { "lsp", "path", "snippets", "buffer", "lazydev" }, providers = { - dbee = { name = "cmp-dbee", module = "blink.compat.source" }, lazydev = { module = "lazydev.integrations.blink", score_offset = 100 }, }, - - per_filetype = { - sql = { "dbee", "buffer" }, - }, }, signature = { diff --git a/lua/plugins/format.lua b/lua/plugins/format.lua index 0639402..e86bf5a 100644 --- a/lua/plugins/format.lua +++ b/lua/plugins/format.lua @@ -30,6 +30,7 @@ return { toml = { "taplo" }, typst = { "prettypst" }, java = { "google-java-format" }, + nix = { "nixpkgs-fmt" }, }, formatters = { csharpier = { diff --git a/lua/plugins/lsp/init.lua b/lua/plugins/lsp/init.lua index b11d614..d6bd2c4 100644 --- a/lua/plugins/lsp/init.lua +++ b/lua/plugins/lsp/init.lua @@ -3,16 +3,11 @@ return { dependencies = { require("plugins.lsp.extras.lazydev"), require("plugins.lsp.extras.gopher"), - "mason-org/mason-lspconfig.nvim", - "mason-org/mason.nvim", "j-hui/fidget.nvim", "ibhagwan/fzf-lua", - "WhoIsSethDaniel/mason-tool-installer.nvim", }, config = function() - -- Mason setup - require("mason").setup({ max_concurrent_installers = 4 }) require("fidget").setup({}) -- Enhance floating preview windows @@ -125,7 +120,9 @@ return { nmap("li", ":LspInfo", vim.tbl_extend("force", opts, { desc = "LSP Info" })) end - -- LSP servers configuration + local lspconfig = require("lspconfig") + + -- Lista de servidores LSP a habilitar local servers = { "gopls", "jsonls", @@ -134,42 +131,21 @@ return { "yamlls", "graphql", "html", + "cssls", "omnisharp", "svelte", - -- "vtsls", "templ", "tinymist", "jdtls", + "ts_ls", + "ts_go_ls", + "nixd", } - -- Tools for mason-tool-installer - local tools = { - "prettierd", - "shfmt", - "stylua", - "latexindent", - "clang-format", - "csharpier", - "quick-lint-js", - } - - -- Servers not supported by mason - local mason_unsupported = {} - - local mason_servers = vim.tbl_filter(function(server) - return not vim.tbl_contains(mason_unsupported, server) - end, servers) - - -- Mason setup - require("mason-lspconfig").setup({ - ensure_installed = mason_servers, - automatic_installation = true, - automatic_enable = false, - }) - require("mason-tool-installer").setup({ ensure_installed = tools }) - - -- Enable LSP servers - vim.lsp.enable(servers) + -- Setup automático - Neovim 11 carga las configs automáticamente + for _, server in ipairs(servers) do + lspconfig[server].setup({}) + end -- LSP Attach autocmd vim.api.nvim_create_autocmd("LspAttach", { @@ -184,7 +160,7 @@ return { setup_keymaps(args.buf) -- Inlay hints - if client:supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint, args.buf) then + if client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint, args.buf) then vim.keymap.set("n", "th", function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = args.buf }), { bufnr = args.buf }) end, { buffer = args.buf, desc = "Toggle Inlay Hints" }) @@ -203,20 +179,5 @@ return { end end, }) - - vim.lsp.config("ts_go_ls", { - cmd = { vim.loop.os_homedir() .. "/Dev/random/typescript-go/built/local/tsgo", "--lsp", "-stdio" }, - filetypes = { - "javascript", - "javascriptreact", - "javascript.jsx", - "typescript", - "typescriptreact", - "typescript.tsx", - }, - root_markers = { "tsconfig.json", "jsconfig.json", "package.json", ".git" }, - }) - - vim.lsp.enable("ts_go_ls") end, }