refactor: massive cleanup and efficency rewrite

This commit is contained in:
isabel 2024-10-30 12:40:31 +00:00
parent f51e5b827d
commit e4941b8347
No known key found for this signature in database
GPG key ID: 08A97B9A107A1798
24 changed files with 1244 additions and 1253 deletions

View file

@ -15,7 +15,6 @@
"repo": "alpha-nvim",
"rev": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7",
"sha256": "sha256-33lhPP1C4TGo0UQJ61bwRHaiOMAB7XNehcZGaFXOPjQ=",
"sparseCheckout": [],
"type": "github"
},
"version": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7"
@ -38,7 +37,6 @@
"repo": "nvim",
"rev": "65bf0b16f57a3db70d6a93ac68882dd9a31d0565",
"sha256": "sha256-BybseDuFqS5Rc0BOAMgxssuJ3wCU/LZSIoV5fQ+sz5o=",
"sparseCheckout": [],
"type": "github"
},
"version": "65bf0b16f57a3db70d6a93ac68882dd9a31d0565"
@ -59,7 +57,6 @@
"repo": "cloak.nvim",
"rev": "648aca6d33ec011dc3166e7af3b38820d01a71e4",
"sha256": "sha256-V7oNIu7IBAHqSrgCNoePNUPjQDU9cFThFf7XGIth0sk=",
"sparseCheckout": [],
"type": "github"
},
"version": "648aca6d33ec011dc3166e7af3b38820d01a71e4"
@ -80,7 +77,6 @@
"repo": "cmp-buffer",
"rev": "3022dbc9166796b644a841a02de8dd1cc1d311fa",
"sha256": "sha256-dG4U7MtnXThoa/PD+qFtCt76MQ14V1wX8GMYcvxEnbM=",
"sparseCheckout": [],
"type": "github"
},
"version": "3022dbc9166796b644a841a02de8dd1cc1d311fa"
@ -101,7 +97,6 @@
"repo": "cmp-cmdline",
"rev": "d250c63aa13ead745e3a40f61fdd3470efde3923",
"sha256": "sha256-iBmXp+gUSMbgfkv7c7RDQAwPq02e07wEnBETP0dWBOo=",
"sparseCheckout": [],
"type": "github"
},
"version": "d250c63aa13ead745e3a40f61fdd3470efde3923"
@ -122,7 +117,6 @@
"repo": "cmp-nvim-lsp",
"rev": "39e2eda76828d88b773cc27a3f61d2ad782c922d",
"sha256": "sha256-CT1+Z4XJBVsl/RqvJeGmyitD6x7So0ylXvvef5jh7I8=",
"sparseCheckout": [],
"type": "github"
},
"version": "39e2eda76828d88b773cc27a3f61d2ad782c922d"
@ -143,7 +137,6 @@
"repo": "cmp-path",
"rev": "91ff86cd9c29299a64f968ebb45846c485725f23",
"sha256": "sha256-thppiiV3wjIaZnAXmsh7j3DUc6ceSCvGzviwFUnoPaI=",
"sparseCheckout": [],
"type": "github"
},
"version": "91ff86cd9c29299a64f968ebb45846c485725f23"
@ -164,7 +157,6 @@
"repo": "cmp_luasnip",
"rev": "05a9ab28b53f71d1aece421ef32fee2cb857a843",
"sha256": "sha256-nUJJl2zyK/oSwz5RzI9j3gf9zpDfCImCYbPbVsyXgz8=",
"sparseCheckout": [],
"type": "github"
},
"version": "05a9ab28b53f71d1aece421ef32fee2cb857a843"
@ -185,7 +177,6 @@
"repo": "copilot.lua",
"rev": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0",
"sha256": "sha256-UY6N2Q+egh+Cn4REZXrSGH9ElWQBedl0n8tWJvGe7vs=",
"sparseCheckout": [],
"type": "github"
},
"version": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0"
@ -206,7 +197,6 @@
"repo": "crates.nvim",
"rev": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785",
"sha256": "sha256-DIG0MXRTit4iEVoLlgsTK4znjam/QDjeZEpIDn6KHiE=",
"sparseCheckout": [],
"type": "github"
},
"version": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785"
@ -227,7 +217,6 @@
"repo": "direnv.nvim",
"rev": "3e38d855c764bb1bec230130ed0e026fca54e4c8",
"sha256": "sha256-nWdAIchqGsWiF0cQ7NwePRa1fpugE8duZKqdBaisrAc=",
"sparseCheckout": [],
"type": "github"
},
"version": "3e38d855c764bb1bec230130ed0e026fca54e4c8"
@ -248,7 +237,6 @@
"repo": "evergarden",
"rev": "d7adb7e8e1f803176e588a427d7d21e76840bb83",
"sha256": "sha256-/qeQOr/KN3FV6ojw3frecOhZPoiFyKaf0u8pw7uPyZA=",
"sparseCheckout": [],
"type": "github"
},
"version": "d7adb7e8e1f803176e588a427d7d21e76840bb83"
@ -269,7 +257,6 @@
"repo": "fidget.nvim",
"rev": "2f7c08f45639a64a5c0abcf67321d52c3f499ae6",
"sha256": "sha256-8Gl2Ck4YJGReSEq1Xeh1dpdRq4eImmrxvIHrfxdem3Q=",
"sparseCheckout": [],
"type": "github"
},
"version": "2f7c08f45639a64a5c0abcf67321d52c3f499ae6"
@ -290,7 +277,6 @@
"repo": "freeze.nvim",
"rev": "cc8f09454b0ab1904d493f36f39d38528d7fc085",
"sha256": "sha256-6UDskHdf4oMQQ6ZwJmuUG21FUOR1yjID8jU8w536dfQ=",
"sparseCheckout": [],
"type": "github"
},
"version": "cc8f09454b0ab1904d493f36f39d38528d7fc085"
@ -311,7 +297,6 @@
"repo": "go.nvim",
"rev": "12ab6ac0fdd03b1ec9ee4e5378dd204f744a55bf",
"sha256": "sha256-cGJNraQjzAPcRiD/lhmOHxV3LMxHwNxBgcboyrHedTI=",
"sparseCheckout": [],
"type": "github"
},
"version": "12ab6ac0fdd03b1ec9ee4e5378dd204f744a55bf"
@ -332,7 +317,6 @@
"repo": "guihua.lua",
"rev": "225db770e36aae6a1e9e3a65578095c8eb4038d3",
"sha256": "sha256-V5rlORFlhgjAT0n+LcpMNdY+rEqQpur/KGTGH6uFxMY=",
"sparseCheckout": [],
"type": "github"
},
"version": "225db770e36aae6a1e9e3a65578095c8eb4038d3"
@ -353,7 +337,6 @@
"repo": "harpoon",
"rev": "0378a6c428a0bed6a2781d459d7943843f374bce",
"sha256": "sha256-FZQH38E02HuRPIPAog/nWM55FuBxKp8AyrEldFkoLYk=",
"sparseCheckout": [],
"type": "github"
},
"version": "0378a6c428a0bed6a2781d459d7943843f374bce"
@ -374,7 +357,6 @@
"repo": "img-clip.nvim",
"rev": "28a32d811d69042f4fa5c3d5fa35571df2bc1623",
"sha256": "sha256-TTfRow1rrRZ3+5YPeYAQc+2fsb42wUxTMEr6kfUiKXo=",
"sparseCheckout": [],
"type": "github"
},
"version": "28a32d811d69042f4fa5c3d5fa35571df2bc1623"
@ -395,7 +377,6 @@
"repo": "indent-blankline.nvim",
"rev": "04e44b09ee3ff189c69ab082edac1ef7ae2e256c",
"sha256": "sha256-odv43EyZ3gMg410eBFAkye/SdAj+LcVVZPaZm8w0biM=",
"sparseCheckout": [],
"type": "github"
},
"version": "04e44b09ee3ff189c69ab082edac1ef7ae2e256c"
@ -416,7 +397,6 @@
"repo": "lazydev.nvim",
"rev": "491452cf1ca6f029e90ad0d0368848fac717c6d2",
"sha256": "sha256-D5gP2rVPYoWc8hslTrH7Z90cE7XEu+tfkD6FZzY/iPk=",
"sparseCheckout": [],
"type": "github"
},
"version": "491452cf1ca6f029e90ad0d0368848fac717c6d2"
@ -437,7 +417,6 @@
"repo": "lsp-status.nvim",
"rev": "54f48eb5017632d81d0fd40112065f1d062d0629",
"sha256": "sha256-gmLeVnDyL8Zf5ZG92tP3mb/LAt438BxFtAi/Xax2zLI=",
"sparseCheckout": [],
"type": "github"
},
"version": "54f48eb5017632d81d0fd40112065f1d062d0629"
@ -458,7 +437,6 @@
"repo": "lspkind.nvim",
"rev": "a700f1436d4a938b1a1a93c9962dc796afbaef4d",
"sha256": "sha256-/ifgjqqCQw67l3+gUs00tt860pa92M1WYdjdZ0lhxak=",
"sparseCheckout": [],
"type": "github"
},
"version": "a700f1436d4a938b1a1a93c9962dc796afbaef4d"
@ -479,7 +457,6 @@
"repo": "ltex-extra.nvim",
"rev": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45",
"sha256": "sha256-OGeeEIF+z03DdJO2d2kzQ0lZnIYLabp6irYPqYgbCbc=",
"sparseCheckout": [],
"type": "github"
},
"version": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45"
@ -500,7 +477,6 @@
"repo": "lualine.nvim",
"rev": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056",
"sha256": "sha256-gCm7m96PkZyrgjmt7Efc+NMZKStAq1zr7JRCYOgGDuE=",
"sparseCheckout": [],
"type": "github"
},
"version": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056"
@ -510,7 +486,9 @@
"date": "2024-10-28",
"extract": null,
"name": "luasnip",
"passthru": null,
"passthru": {
"as": "luasnip"
},
"pinned": false,
"src": {
"deepClone": false,
@ -521,7 +499,6 @@
"repo": "LuaSnip",
"rev": "2c08f32a570c07b8130144813266e21393da80d3",
"sha256": "sha256-sNHVA70MsJQlbQRkJJAFhLBIdlAJwMsjzbBPrsDZfoA=",
"sparseCheckout": [],
"type": "github"
},
"version": "2c08f32a570c07b8130144813266e21393da80d3"
@ -544,7 +521,6 @@
"repo": "lz.n",
"rev": "14eb8ee8d36eeb1e3d93307e2d4d586a5e09a308",
"sha256": "sha256-+dKLze48BsPjeBLUBwbyOeu0+/FXyil1PM3XXUUKmkA=",
"sparseCheckout": [],
"type": "github"
},
"version": "14eb8ee8d36eeb1e3d93307e2d4d586a5e09a308"
@ -565,7 +541,6 @@
"repo": "markview.nvim",
"rev": "67b69cdaf9055bebac3682a070d7e5c8eecba29c",
"sha256": "sha256-ga7GI2td1mRR6J63+//9neaEnc09TGyMnZrLpP6HGd0=",
"sparseCheckout": [],
"type": "github"
},
"version": "67b69cdaf9055bebac3682a070d7e5c8eecba29c"
@ -586,7 +561,6 @@
"repo": "mini.surround",
"rev": "48a9795c9d352c771e1ab5dedab6063c0a2df037",
"sha256": "sha256-Rzg2yYbOAjOPVNEiUv5qOBObqO1bcDsAgc5ned9HZQw=",
"sparseCheckout": [],
"type": "github"
},
"version": "48a9795c9d352c771e1ab5dedab6063c0a2df037"
@ -607,7 +581,6 @@
"repo": "neovim-session-manager",
"rev": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c",
"sha256": "sha256-W9jtfVXHC8MQJwdbxakNqhd+xh/auQb3U09XKdN2Wzw=",
"sparseCheckout": [],
"type": "github"
},
"version": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c"
@ -628,7 +601,6 @@
"repo": "none-ls.nvim",
"rev": "dcc8cd4efdcb29275681a3c95786a816330dbca6",
"sha256": "sha256-QHvusRnuK/Xq+4AqcIfu84+/iRTMuaYiLCLqrtrhRNk=",
"sparseCheckout": [],
"type": "github"
},
"version": "dcc8cd4efdcb29275681a3c95786a816330dbca6"
@ -649,7 +621,6 @@
"repo": "nvim-cmp",
"rev": "29fb4854573355792df9e156cb779f0d31308796",
"sha256": "sha256-dAsXxv1RtgMc1i5QrR2xqOeK6aRgYNqdYyTXVBXhVJ4=",
"sparseCheckout": [],
"type": "github"
},
"version": "29fb4854573355792df9e156cb779f0d31308796"
@ -670,7 +641,6 @@
"repo": "nvim-colorizer.lua",
"rev": "0671e0eabc6842676d3310370e8fae4e1c51d7f9",
"sha256": "sha256-Ffi1Q5+AI+Ysi2T56myGWmAzzyq6wW0J/Pwoc3B0ncY=",
"sparseCheckout": [],
"type": "github"
},
"version": "0671e0eabc6842676d3310370e8fae4e1c51d7f9"
@ -691,7 +661,6 @@
"repo": "nvim-lspconfig",
"rev": "59a6766cbf32c7e4cf3ed685ccad7ffe1dde8c40",
"sha256": "sha256-Pe5wdF8oHRoJznhImyM7uy9S8uPP+2pwJXKA4emtBHA=",
"sparseCheckout": [],
"type": "github"
},
"version": "59a6766cbf32c7e4cf3ed685ccad7ffe1dde8c40"
@ -712,7 +681,6 @@
"repo": "nvim-navic",
"rev": "8649f694d3e76ee10c19255dece6411c29206a54",
"sha256": "sha256-0p5n/V8Jlj9XyxV/fuMwsbQ7oV5m9H2GqZZEA/njxCQ=",
"sparseCheckout": [],
"type": "github"
},
"version": "8649f694d3e76ee10c19255dece6411c29206a54"
@ -733,7 +701,6 @@
"repo": "nvim-notify",
"rev": "fbef5d32be8466dd76544a257d3f3dce20082a07",
"sha256": "sha256-Sd7IR5roXHOKRCxhqtYMhWfEltyRJMDEMDO/ecSKenE=",
"sparseCheckout": [],
"type": "github"
},
"version": "fbef5d32be8466dd76544a257d3f3dce20082a07"
@ -754,7 +721,6 @@
"repo": "nvim-tree.lua",
"rev": "120ba58254835d412bbc91cffe847e9be835fadd",
"sha256": "sha256-w76Mo346kAJ54Gh4vwTwq5POSJkaoOuNG5ofqpPwxX8=",
"sparseCheckout": [],
"type": "github"
},
"version": "120ba58254835d412bbc91cffe847e9be835fadd"
@ -775,7 +741,6 @@
"repo": "nvim-treesitter",
"rev": "1c111e3e8f42c85b16cb4bf30e4254fcb5607817",
"sha256": "sha256-oRUOK2k0PfUz1qEuCUpQVTKTsJulccHvaECjDMh+tfM=",
"sparseCheckout": [],
"type": "github"
},
"version": "1c111e3e8f42c85b16cb4bf30e4254fcb5607817"
@ -796,7 +761,6 @@
"repo": "nvim-web-devicons",
"rev": "19d257cf889f79f4022163c3fbb5e08639077bd8",
"sha256": "sha256-SUWEOp+QcfHjYaqqr4Zwvh0x91IAJXvrdMkQtuWMlGc=",
"sparseCheckout": [],
"type": "github"
},
"version": "19d257cf889f79f4022163c3fbb5e08639077bd8"
@ -817,7 +781,6 @@
"repo": "obsidian.nvim",
"rev": "14e0427bef6c55da0d63f9a313fd9941be3a2479",
"sha256": "sha256-mbq7fAPmlwOAbWlN3lGX9WGBKTV8cAPZx8pnRCyszJc=",
"sparseCheckout": [],
"type": "github"
},
"version": "14e0427bef6c55da0d63f9a313fd9941be3a2479"
@ -840,7 +803,6 @@
"repo": "plenary.nvim",
"rev": "2d9b06177a975543726ce5c73fca176cedbffe9d",
"sha256": "sha256-bmmPekAvuBvLQmrnnX0n+FRBqfVxBsObhxIEkDGAla4=",
"sparseCheckout": [],
"type": "github"
},
"version": "2d9b06177a975543726ce5c73fca176cedbffe9d"
@ -861,7 +823,6 @@
"repo": "py_lsp.nvim",
"rev": "db01c2d7695a894bfbe5f942b14f798406af5345",
"sha256": "sha256-OUk3G1i68cq/B3+Q7/Vl5xN3A+A0EeL9Ys1WlYM95E0=",
"sparseCheckout": [],
"type": "github"
},
"version": "db01c2d7695a894bfbe5f942b14f798406af5345"
@ -882,7 +843,6 @@
"repo": "rainbow-delimiters.nvim",
"rev": "d227e6c9879bb50af35cd733461198666981d482",
"sha256": "sha256-3Wovs/DREnbch7BtkmQeTXsb91AbZdb+N8TAVikbd88=",
"sparseCheckout": [],
"type": "github"
},
"version": "d227e6c9879bb50af35cd733461198666981d482"
@ -903,7 +863,6 @@
"repo": "rustaceanvim",
"rev": "e1f9464d9e1addeccb170eb7968471966965f5a3",
"sha256": "sha256-AOhN2a8QMn2CEEbKdaCuF91aKqkhh2QBl9YNIAb+GPc=",
"sparseCheckout": [],
"type": "github"
},
"version": "e1f9464d9e1addeccb170eb7968471966965f5a3"
@ -924,7 +883,6 @@
"repo": "sayama.nvim",
"rev": "39175a766dfc80324d3130d27c3e7922f826226e",
"sha256": "sha256-Rxjg6RvcN5JOP5CTv7Jj7AQJv36zRMaHiFEwhiBVgfw=",
"sparseCheckout": [],
"type": "github"
},
"version": "39175a766dfc80324d3130d27c3e7922f826226e"
@ -945,7 +903,6 @@
"repo": "schemastore.nvim",
"rev": "ed65feb5b8026d7c6b1981cfe9d97402342d344d",
"sha256": "sha256-Mrn9ErTQHeD1/aTk9Ijq5Q0i4KrifRwK1b7/87Bkyqc=",
"sparseCheckout": [],
"type": "github"
},
"version": "ed65feb5b8026d7c6b1981cfe9d97402342d344d"
@ -966,7 +923,6 @@
"repo": "telescope.nvim",
"rev": "85922dde3767e01d42a08e750a773effbffaea3e",
"sha256": "sha256-Qa/f+0asQvA8mhIUajC4BGZCI92OqA6ySVoQSC3ZY3s=",
"sparseCheckout": [],
"type": "github"
},
"version": "85922dde3767e01d42a08e750a773effbffaea3e"
@ -987,7 +943,6 @@
"repo": "telescope-project.nvim",
"rev": "796200876bb0fe8157b8eb1ce03d927d3827a052",
"sha256": "sha256-wO/cm5PT1L0hFr/CX466w0UimoFg/tWrDK8T0QeKZMU=",
"sparseCheckout": [],
"type": "github"
},
"version": "796200876bb0fe8157b8eb1ce03d927d3827a052"
@ -1008,7 +963,6 @@
"repo": "telescope-ui-select.nvim",
"rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2",
"sha256": "sha256-YRhNmmG4gx9Ht8JwjQfbTjJyTHEuZmtP6lqnhOsk8bE=",
"sparseCheckout": [],
"type": "github"
},
"version": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2"
@ -1029,7 +983,6 @@
"repo": "todo-comments.nvim",
"rev": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0",
"sha256": "sha256-EH4Sy7qNkzOgA1INFzrtsRfD79TgMqSbKUdundyw22w=",
"sparseCheckout": [],
"type": "github"
},
"version": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0"
@ -1050,7 +1003,6 @@
"repo": "toggleterm.nvim",
"rev": "137d06fb103952a0fb567882bb8527e2f92d327d",
"sha256": "sha256-VlHE5nFHDO6GRRM44TqtcWSk2k0NfeCndp7of/35ta4=",
"sparseCheckout": [],
"type": "github"
},
"version": "137d06fb103952a0fb567882bb8527e2f92d327d"
@ -1071,7 +1023,6 @@
"repo": "trouble.nvim",
"rev": "2f3b537f2207ce32f4459f9d56746ee013b5e01b",
"sha256": "sha256-J0Gor5thMqe6T/4PYC8I1RAywfec0eWU1O+GoHUiHnI=",
"sparseCheckout": [],
"type": "github"
},
"version": "2f3b537f2207ce32f4459f9d56746ee013b5e01b"
@ -1092,7 +1043,6 @@
"repo": "typescript-tools.nvim",
"rev": "f8c2e0b36b651c85f52ad5c5373ff8b07adc15a7",
"sha256": "sha256-8WH/eCff1liDVaezZFvu6RqCtXU4Uwq80BlWiH+tQME=",
"sparseCheckout": [],
"type": "github"
},
"version": "f8c2e0b36b651c85f52ad5c5373ff8b07adc15a7"
@ -1113,7 +1063,6 @@
"repo": "undotree",
"rev": "78b5241191852ffa9bb5da5ff2ee033160798c3b",
"sha256": "sha256-XU2n5S2XLIQcPUJESzW+g/ZAXqJo/9uIHYtFutlqmvA=",
"sparseCheckout": [],
"type": "github"
},
"version": "78b5241191852ffa9bb5da5ff2ee033160798c3b"
@ -1134,7 +1083,6 @@
"repo": "vim-fugitive",
"rev": "d4877e54cef67f5af4f950935b1ade19ed6b7370",
"sha256": "sha256-ArYerBws+MBY4BpKh16J5TfVTrA0OFKPoZq7c2YQjp0=",
"sparseCheckout": [],
"type": "github"
},
"version": "d4877e54cef67f5af4f950935b1ade19ed6b7370"
@ -1155,7 +1103,6 @@
"repo": "vim-wakatime",
"rev": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23",
"sha256": "sha256-HxLmX+qws8A6+mFBGMdru2E3NXJ91P0HtDKMX8ryMzI=",
"sparseCheckout": [],
"type": "github"
},
"version": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23"

View file

@ -300,6 +300,7 @@
fetchSubmodules = false;
sha256 = "sha256-sNHVA70MsJQlbQRkJJAFhLBIdlAJwMsjzbBPrsDZfoA=";
};
as = "luasnip";
date = "2024-10-28";
};
lz-n = {

View file

@ -4,6 +4,6 @@ require("izvim.config.keybinds")
require("izvim.config.neovide")
require("izvim.config.options")
require("lz.n").load(require("izvim.plugins"))
require("lz.n").load("izvim.plugins")
require("izvim.health").loaded = true

View file

@ -1,101 +1,113 @@
require("session_manager").setup({
autoload_mode = require("session_manager.config").AutoloadMode.CurrentDir,
})
return {
{
"alpha-nvim",
after = function()
local function apply_gradient_hl(text)
local lines = {}
for i, line in ipairs(text) do
local tbl = {
type = "text",
val = line,
opts = {
hl = "AlphaHeaderGradient" .. i,
shrink_margin = false,
position = "center",
},
}
table.insert(lines, tbl)
end
local function apply_gradient_hl(text)
local lines = {}
for i, line in ipairs(text) do
local tbl = {
type = "text",
val = line,
opts = {
hl = "AlphaHeaderGradient" .. i,
shrink_margin = false,
return {
type = "group",
val = lines,
opts = { position = "center" },
}
end
local alpha = require("alpha")
local dashboard = require("alpha.themes.dashboard")
local theta = require("alpha.themes.theta")
local header = {
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⢸⣿⣿⣿⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⡿⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠘⣿⣿⠇⠀⠀⡀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⠀⠀⠈⠙⢿⣿⣿⣿⣿⣿⡿⠛⠒⢊⠁⢰⣿⠏⠀⠀⠀⠈⠁⢒⠂⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢻⣿⣿⡿⠋⠀⠀⠘⠿⠇⣼⠏⠀⠀⠀⠀⠀⠘⠿⠃⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠹⣿⡁⠀⠀⠀⠀⠀⠀⠋⠀⠀⡀⠀⠀⠀⠀⠀⠀⠐⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⠀⠀⠙⠇⠀⠀⢠⣶⣤⡄⠀⠀⠀⠉⢶⢀⣰⠆⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⣸⢸⢺⢱⠀⠀⠀⠀⣸⠬⠵⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣭⠀⠀⠀⠲⣻⡘⠘⠀⢦⠀⠀⠔⠁⠀⠀⣀⠤⠚⣱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣌⠛⢷⣤⡀⠀⢘⣗⠀⠀⠀⠱⣤⣴⣖⠈⠹⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⠟⠋⠙⠻⣿⣿⣿⣿⣿⣷⣦⣬⠃⣴⣿⣽⣷⣄⣀⢀⣿⣿⡿⠷⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⠃⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⡇⠀⢹⡿⠿⣍⡙⠛⠛⣻⠟⠻⠶⠦⣤⠞⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣧⣀⠞⠀⠀⠉⠛⠛⠛⢿⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⡎⠀⠀⠀⢀⡀⠤⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⢨⠃⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀⡠⠒⠉⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⣠⠃⠀⠀⠀⠀⠀⠀⠀⠀⡰⢁⠔⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⣼⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠁⠀⠀⠀⠀⠀⠀⠀⢀⡆⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⢀⡰⠃⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⡀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿",
}
local buttons = {
type = "group",
position = "center",
},
}
table.insert(lines, tbl)
end
val = {
dashboard.button("n", " New file", ":ene <bar> startinsert <cr>"),
dashboard.button("f", " Find file", ":Telescope find_files<cr>"),
dashboard.button("g", " Live grep", ":Telescope live_grep<cr>"),
dashboard.button("s", " Show sessions", ":SessionManager load_session<cr>"),
dashboard.button("p", " Projects", ":Telescope project<CR>"),
dashboard.button("q", " Quit", ":qa<CR>"),
},
}
return {
type = "group",
val = lines,
opts = { position = "center" },
}
end
local v = vim.version()
local vStr = string.format("v%d.%d.%d", v.major, v.minor, v.patch)
local alpha = require("alpha")
local dashboard = require("alpha.themes.dashboard")
local theta = require("alpha.themes.theta")
local footer = {
type = "group",
position = "center",
val = {
{
type = "text",
val = "neovim " .. vStr,
opts = { hl = "Comment", position = "center" },
},
},
}
local header = {
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⢸⣿⣿⣿⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⡿⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠘⣿⣿⠇⠀⠀⡀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⠀⠀⠈⠙⢿⣿⣿⣿⣿⣿⡿⠛⠒⢊⠁⢰⣿⠏⠀⠀⠀⠈⠁⢒⠂⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢻⣿⣿⡿⠋⠀⠀⠘⠿⠇⣼⠏⠀⠀⠀⠀⠀⠘⠿⠃⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠹⣿⡁⠀⠀⠀⠀⠀⠀⠋⠀⠀⡀⠀⠀⠀⠀⠀⠀⠐⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⠀⠀⠙⠇⠀⠀⢠⣶⣤⡄⠀⠀⠀⠉⢶⢀⣰⠆⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⣸⢸⢺⢱⠀⠀⠀⠀⣸⠬⠵⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣭⠀⠀⠀⠲⣻⡘⠘⠀⢦⠀⠀⠔⠁⠀⠀⣀⠤⠚⣱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣌⠛⢷⣤⡀⠀⢘⣗⠀⠀⠀⠱⣤⣴⣖⠈⠹⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⠟⠋⠙⠻⣿⣿⣿⣿⣿⣷⣦⣬⠃⣴⣿⣽⣷⣄⣀⢀⣿⣿⡿⠷⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⠃⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⡇⠀⢹⡿⠿⣍⡙⠛⠛⣻⠟⠻⠶⠦⣤⠞⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣧⣀⠞⠀⠀⠉⠛⠛⠛⢿⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⡎⠀⠀⠀⢀⡀⠤⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⢨⠃⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀⡠⠒⠉⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⣠⠃⠀⠀⠀⠀⠀⠀⠀⠀⡰⢁⠔⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⣼⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠁⠀⠀⠀⠀⠀⠀⠀⢀⡆⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿",
"⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⢀⡰⠃⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⡀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿",
}
if vim.g.neovide then
table.insert(footer.val, 2, {
type = "text",
val = "neovide v" .. vim.g.neovide_version,
opts = { hl = "Comment", position = "center" },
})
end
local buttons = {
type = "group",
position = "center",
val = {
dashboard.button("n", " New file", ":ene <bar> startinsert <cr>"),
dashboard.button("f", " Find file", ":Telescope find_files<cr>"),
dashboard.button("g", " Live grep", ":Telescope live_grep<cr>"),
dashboard.button("s", " Show sessions", ":SessionManager load_session<cr>"),
dashboard.button("p", " Projects", ":Telescope project<CR>"),
dashboard.button("q", " Quit", ":qa<CR>"),
theta.config.layout = {
{ type = "padding", val = 4 },
apply_gradient_hl(header),
{ type = "padding", val = 1 },
buttons,
{ type = "padding", val = 1 },
footer,
}
alpha.setup(theta.config)
end,
},
{
"neovim-session-manager",
priority = 60,
after = function()
require("session_manager").setup({
autoload_mode = require("session_manager.config").AutoloadMode.CurrentDir,
})
end,
},
}
local v = vim.version()
local vStr = string.format("v%d.%d.%d", v.major, v.minor, v.patch)
local footer = {
type = "group",
position = "center",
val = {
{
type = "text",
val = "neovim " .. vStr,
opts = { hl = "Comment", position = "center" },
},
},
}
if vim.g.neovide then
table.insert(footer.val, 2, {
type = "text",
val = "neovide v" .. vim.g.neovide_version,
opts = { hl = "Comment", position = "center" },
})
end
theta.config.layout = {
{ type = "padding", val = 4 },
apply_gradient_hl(header),
{ type = "padding", val = 1 },
buttons,
{ type = "padding", val = 1 },
footer,
}
alpha.setup(theta.config)

View file

@ -1,63 +1,71 @@
require("catppuccin").setup({
flavour = "auto",
background = {
light = "latte",
dark = "mocha",
},
term_colors = true,
transparent_background = false,
-- color_overrides = {
-- mocha = {
-- base = "#000000",
-- mantle = "#000000",
-- crust = "#000000",
-- },
-- },
styles = {
comments = { "italic" },
},
integrations = {
alpha = true,
treesitter = true,
treesitter_context = false,
native_lsp = {
enabled = true,
virtual_text = {
errors = { "italic" },
hints = { "italic" },
warnings = { "italic" },
information = { "italic" },
},
underlines = {
errors = { "undercurl" },
hints = { "undercurl" },
warnings = { "undercurl" },
information = { "undercurl" },
},
},
telescope = {
enabled = true,
},
cmp = true,
lsp_trouble = true,
nvimtree = true,
which_key = false,
indent_blankline = {
enabled = true,
colored_indent_levels = true,
},
navic = {
enabled = true,
custom_bg = "NONE",
},
gitsigns = false,
markdown = true,
render_markdown = false,
harpoon = true,
symbols_outline = true,
ts_rainbow = true,
notify = true,
},
})
return {
{
"catppuccin",
priority = 1000,
after = function()
require("catppuccin").setup({
flavour = "auto",
background = {
light = "latte",
dark = "mocha",
},
term_colors = true,
transparent_background = false,
-- color_overrides = {
-- mocha = {
-- base = "#000000",
-- mantle = "#000000",
-- crust = "#000000",
-- },
-- },
styles = {
comments = { "italic" },
},
integrations = {
alpha = true,
treesitter = true,
treesitter_context = false,
native_lsp = {
enabled = true,
virtual_text = {
errors = { "italic" },
hints = { "italic" },
warnings = { "italic" },
information = { "italic" },
},
underlines = {
errors = { "undercurl" },
hints = { "undercurl" },
warnings = { "undercurl" },
information = { "undercurl" },
},
},
telescope = {
enabled = true,
},
cmp = true,
lsp_trouble = true,
nvimtree = true,
which_key = false,
indent_blankline = {
enabled = true,
colored_indent_levels = true,
},
navic = {
enabled = true,
custom_bg = "NONE",
},
gitsigns = false,
markdown = true,
render_markdown = false,
harpoon = true,
symbols_outline = true,
ts_rainbow = true,
notify = true,
},
})
vim.cmd.colorscheme("catppuccin")
vim.cmd.colorscheme("catppuccin")
end,
},
}

View file

@ -1,27 +1,35 @@
require("cloak").setup({
enabled = true,
cloak_character = "*",
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
highlight_group = "Comment",
patterns = {
{
-- Match any file starting with ".env".
-- This can be a table to match multiple file patterns.
file_pattern = {
".env",
".env.local",
".env.dev",
".env.development",
"wrangler.toml",
".dev.vars",
"secrets.yaml",
"secrets.yml",
"*.age",
},
-- Match an equals sign and any character after it.
-- This can also be a table of patterns to cloak,
-- example: cloak_pattern = { ":.+", "-.+" } for yaml files.
cloak_pattern = { ":.+", "=.+" },
},
-- hide my secrets
return {
{
"cloak.nvim",
after = function()
require("cloak").setup({
enabled = true,
cloak_character = "*",
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
highlight_group = "Comment",
patterns = {
{
-- Match any file starting with ".env".
-- This can be a table to match multiple file patterns.
file_pattern = {
".env",
".env.local",
".env.dev",
".env.development",
"wrangler.toml",
".dev.vars",
"secrets.yaml",
"secrets.yml",
"*.age",
},
-- Match an equals sign and any character after it.
-- This can also be a table of patterns to cloak,
-- example: cloak_pattern = { ":.+", "-.+" } for yaml files.
cloak_pattern = { ":.+", "=.+" },
},
},
})
end,
},
})
}

View file

@ -0,0 +1,26 @@
return {
{
"freeze.nvim",
after = function()
vim.keymap.set("v", "<leader>sc", "<cmd>Freeze<cr>")
require("freeze").setup({
output = function()
return vim.fn.getcwd() .. "/" .. os.date("%Y-%m-%d") .. "_freeze.png"
end,
config = "user",
font = {
family = "JetBrains Mono",
},
})
end,
},
{
"sayama.nvim",
after = function()
require("sayama").setup({
dir = vim.fn.glob("$XDG_DATA_HOME/zzz"),
})
end,
},
}

View file

@ -1,42 +1,53 @@
require("copilot").setup({
panel = {
enabled = false,
auto_refresh = false,
keymap = {
jump_prev = "[[",
jump_next = "]]",
accept = "<CR>",
refresh = "gr",
open = "<C-CR>",
},
layout = {
position = "bottom",
ratio = 0.4,
},
return {
{
"copilot.lua",
enabled = function()
return vim.fn.glob("~/.config/gh/config.yml") ~= "" or vim.fn.glob("$XDG_CONFIG_HOME/gh/config.yml") ~= ""
end,
event = "InsertEnter",
after = function()
require("copilot").setup({
panel = {
enabled = false,
auto_refresh = false,
keymap = {
jump_prev = "[[",
jump_next = "]]",
accept = "<CR>",
refresh = "gr",
open = "<C-CR>",
},
layout = {
position = "bottom",
ratio = 0.4,
},
},
suggestion = {
enabled = true,
auto_trigger = true,
debounce = 75,
keymap = {
accept = "<C-a>",
accept_word = false,
accept_line = false,
next = "<M-]>",
prev = "<M-[>",
dismiss = false,
},
},
filetypes = {
["*"] = true,
help = false,
gitcommit = false,
gitrebase = false,
hgcommit = false,
svn = false,
cvs = false,
["."] = false,
},
copilot_node_command = "node",
server_opts_overrides = {},
})
end,
},
suggestion = {
enabled = true,
auto_trigger = true,
debounce = 75,
keymap = {
accept = "<C-a>",
accept_word = false,
accept_line = false,
next = "<M-]>",
prev = "<M-[>",
dismiss = false,
},
},
filetypes = {
["*"] = true,
help = false,
gitcommit = false,
gitrebase = false,
hgcommit = false,
svn = false,
cvs = false,
["."] = false,
},
copilot_node_command = "node",
server_opts_overrides = {},
})
}

View file

@ -1,13 +1,20 @@
require("evergarden").setup({
transparent_background = true,
contrast_dark = "medium", -- 'hard'|'medium'|'soft'
override_terminal = true,
style = {
tabline = { reverse = true, color = "green" },
search = { reverse = false, inc_reverse = true },
types = { italic = true },
keyword = { italic = true },
comment = { italic = false },
return {
{
"evergarden",
after = function()
require("evergarden").setup({
transparent_background = true,
contrast_dark = "medium", -- 'hard'|'medium'|'soft'
override_terminal = true,
style = {
tabline = { reverse = true, color = "green" },
search = { reverse = false, inc_reverse = true },
types = { italic = true },
keyword = { italic = true },
comment = { italic = false },
},
overrides = {}, -- add custom overrides
})
end,
},
overrides = {}, -- add custom overrides
})
}

View file

@ -1,11 +0,0 @@
vim.keymap.set("v", "<leader>sc", "<cmd>Freeze<cr>")
require("freeze").setup({
output = function()
return vim.fn.getcwd() .. "/" .. os.date("%Y-%m-%d") .. "_freeze.png"
end,
config = "user",
font = {
family = "JetBrains Mono",
},
})

View file

@ -1,16 +1,23 @@
local harpoon = require("harpoon")
harpoon:setup()
return {
{
"harpoon",
after = function()
local harpoon = require("harpoon")
harpoon:setup()
vim.keymap.set("n", "<leader>d", function()
harpoon.ui:toggle_quick_menu(harpoon:list())
end)
vim.keymap.set("n", "<leader>d", function()
harpoon.ui:toggle_quick_menu(harpoon:list())
end)
vim.keymap.set("n", "<leader>a", function()
harpoon:list():add()
end)
vim.keymap.set("n", "<leader>a", function()
harpoon:list():add()
end)
for i = 0, 4 do
vim.keymap.set("n", "<leader>" .. i, function()
harpoon:list():select(i)
end)
end
for i = 0, 4 do
vim.keymap.set("n", "<leader>" .. i, function()
harpoon:list():select(i)
end)
end
end,
},
}

View file

@ -1,9 +1,3 @@
local rq = function(plugin)
return function()
require("izvim.plugins." .. plugin)
end
end
return {
-- tree view
{
@ -42,128 +36,7 @@ return {
end,
},
-- markdown stuff
{
"markview.nvim",
lazy = false,
after = rq("markview"),
},
{
"obsidian.nvim",
after = rq("obsidian"),
},
-- rice
{
"alpha-nvim",
after = rq("alpha"),
},
{
"neovim-session-manager",
priority = 60,
},
{
"lualine.nvim",
after = rq("lualine"),
},
{
"catppuccin",
priority = 1000,
after = rq("catppuccin"),
},
{
"evergarden",
after = rq("evergarden"),
},
{
"fidget.nvim",
after = function()
require("fidget").setup({
display = { done_icon = "󰗡" },
notification = {
override_vim_notify = true,
window = { winblend = 0 },
},
progress = {
ignore = {
"copilot",
"null-ls",
},
},
})
end,
},
{
"nvim-colorizer.lua",
after = function()
require("colorizer").setup({
user_default_options = {
RGB = true,
RRGGBB = true,
names = false,
RRGGBBAA = true,
AARRGGBB = false,
rgb_fn = false,
hsl_fn = false,
css = false,
css_fn = false,
mode = "background",
tailwind = "both",
sass = {
enable = true,
},
virtualtext = "",
},
buftypes = {
"*",
"!dashboard",
"!lazy",
"!popup",
"!prompt",
},
})
end,
},
{
"todo-comments.nvim",
after = function()
require("todo-comments").setup()
end,
},
-- quicker movement
{
"telescope.nvim",
after = rq("telescope"),
},
{
"harpoon",
after = rq("harpoon"),
},
-- copilot
{
"copilot.lua",
enabled = function()
return vim.fn.glob("~/.config/gh/config.yml") ~= "" or vim.fn.glob("$XDG_CONFIG_HOME/gh/config.yml") ~= ""
end,
event = "InsertEnter",
after = rq("copilot"),
},
-- lsp
{
"nvim-treesitter",
after = rq("tree-sitter"),
},
{ "rainbow-delimiters.nvim" },
-- rust lsp + formmating
@ -172,15 +45,6 @@ return {
ft = "rust",
},
{
"nvim-lspconfig",
after = rq("lsp"),
},
{
"trouble.nvim",
after = rq("trouble"),
},
{
"lazydev.nvim",
after = function()
@ -188,55 +52,7 @@ return {
end,
},
{
"crates.nvim",
after = function()
require("crates").setup({})
end,
event = "BufRead Cargo.toml",
},
{
"go.nvim",
ft = {
"go",
"gomod",
"gosum",
"gotmpl",
"gohtmltmpl",
"gotexttmpl",
},
after = function()
-- setup go stuff
require("go").setup({
disable_defaults = false,
icons = {
breakpoint = "",
currentpos = "",
},
trouble = true,
luasnip = true,
dap_debug_keymap = false,
lsp_cfg = false,
lsp_keymaps = false,
lsp_inlay_hints = {
enable = true,
style = "inlay",
},
})
require("lspconfig").gopls.setup(require("go.lsp").config())
end,
},
{ "guihua.lua" },
-- hide my secrets
{
"cloak.nvim",
after = rq("cloak"),
},
-- misc
-- add better undo history
{
"undotree",
after = function()
@ -244,27 +60,6 @@ return {
end,
},
-- alow me to paste images really easy
{
"img-clip.nvim",
after = function()
require("img-clip").setup({
filetypes = {
markdown = {
template = function()
local root_dir = vim.fs.find({ ".obsidian" }, { upward = true })
if vim.tbl_isempty(root_dir) then
return "![$CURSOR]($FILE_PATH)"
else
return "![[$FILE_PATH]]"
end
end,
},
},
})
end,
},
-- track my time coding
{
"wakatime",
@ -273,48 +68,7 @@ return {
end,
},
{
"indent-blankline.nvim",
event = "DeferredUIEnter",
after = function()
require("ibl").setup({
scope = { enabled = false },
exclude = {
filetypes = {
"alpha",
"fugitive",
"help",
"lazy",
"NvimTree",
"ToggleTerm",
"LazyGit",
"TelescopePrompt",
"prompt",
"code-action-menu-menu",
"code-action-menu-warning-message",
"Trouble",
},
},
})
end,
},
-- cool snippets saving
{
"sayama.nvim",
after = function()
require("sayama").setup({
dir = vim.fn.glob("$XDG_DATA_HOME/zzz"),
})
end,
},
{
"freeze.nvim",
after = rq("freeze"),
},
-- lazygit integration
-- lazygit integration & terminal
{
"toggleterm.nvim",
after = function()
@ -367,11 +121,4 @@ return {
})
end,
},
-- deps
{
"nvim-web-devicons",
priority = 100,
after = rq("nvim-web-devicons"),
},
}

View file

@ -1,426 +1,490 @@
local plugins = {
"nvim-cmp",
"cmp-buffer",
"cmp-cmdline",
"cmp-nvim-lsp",
"cmp-path",
"cmp_luasnip",
"lspkind.nvim",
"none-ls.nvim",
"lsp-status.nvim",
"ltex-extra.nvim",
"schemastore.nvim",
"py_lsp.nvim",
"typescript-tools.nvim",
"luasnip",
}
return {
{ "nvim-cmp", lazy = false },
{ "cmp-buffer", lazy = false },
{ "cmp-cmdline", lazy = false },
{ "cmp-nvim-lsp", lazy = false },
{ "cmp-path", lazy = false },
{ "cmp_luasnip", lazy = false },
{ "lspkind.nvim", lazy = false },
{ "none-ls.nvim", lazy = false },
{ "lsp-status.nvim", lazy = false },
{ "ltex-extra.nvim", lazy = false },
{ "schemastore.nvim", lazy = false },
{ "py_lsp.nvim", lazy = false },
{ "typescript-tools.nvim", lazy = false },
{ "luasnip", lazy = false },
for _, plugin in ipairs(plugins) do
vim.api.nvim_cmd({
cmd = "packadd",
args = { plugin },
}, {})
end
{
"nvim-lspconfig",
event = "DeferredUIEnter",
after = function()
local plugins = {
"nvim-cmp",
"cmp-buffer",
"cmp-cmdline",
"cmp-nvim-lsp",
"cmp-path",
"cmp_luasnip",
"lspkind.nvim",
"none-ls.nvim",
"lsp-status.nvim",
"ltex-extra.nvim",
"schemastore.nvim",
"py_lsp.nvim",
"typescript-tools.nvim",
"luasnip",
}
local lsp_present, lspconfig = pcall(require, "lspconfig")
local cmp_present, cmp = pcall(require, "cmp")
local navic_present, navic = pcall(require, "nvim-navic")
local luasnip_present, luasnip = pcall(require, "luasnip")
if not lsp_present then
vim.notify("lspnot present", vim.log.levels.ERROR)
return
end
if not cmp_present then
vim.notify("cmp not present", vim.log.levels.ERROR)
return
end
if not luasnip_present then
vim.notify("luasnip not present", vim.log.levels.ERROR)
return
end
vim.opt.completeopt = "menu,menuone,noselect"
require("luasnip.loaders.from_vscode").lazy_load()
-- border style
require("lspconfig.ui.windows").default_options.border = vim.g.bc.style
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
border = vim.g.bc.style,
})
local cmp_borders = {
border = {
vim.g.bc.topleft,
vim.g.bc.horiz,
vim.g.bc.topright,
vim.g.bc.vert,
vim.g.bc.botright,
vim.g.bc.horiz,
vim.g.bc.botleft,
vim.g.bc.vert,
},
winhighlight = "Normal:CmpPmenu,FloatBorder:CmpBorder,CursorLine:PmenuSel,Search:None",
}
cmp.setup({
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
window = {
completion = cmp_borders,
documentation = cmp_borders,
},
mapping = cmp.mapping.preset.insert({
["<CR>"] = cmp.mapping(function(fallback)
if cmp.visible() then
if luasnip.expandable() then
luasnip.expand()
else
cmp.confirm({
select = true,
})
end
else
fallback()
for _, plugin in ipairs(plugins) do
require("lz.n").trigger_load({ plugin })
end
end),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
else
fallback()
local lsp_present, lspconfig = pcall(require, "lspconfig")
local cmp_present, cmp = pcall(require, "cmp")
local navic_present, navic = pcall(require, "nvim-navic")
local luasnip_present, luasnip = pcall(require, "luasnip")
if not lsp_present then
vim.notify("lspnot present", vim.log.levels.ERROR)
return
end
end, { "i", "s" }),
}),
sources = cmp.config.sources({
-- { name = "copilot" },
{ name = "nvim_lsp" },
{ name = "path" },
{ name = "luasnip" },
}, {
{ name = "buffer" },
}),
formatting = {
fields = { "kind", "abbr", "menu" },
format = function(entry, vim_item)
local kind = require("lspkind").cmp_format({
mode = "symbol_text",
ellipsis_char = "",
maxwidth = 50,
symbol_map = { Copilot = "" },
})(entry, vim_item)
local strings = vim.split(kind.kind, "%s", { trimempty = true })
kind.kind = " " .. (strings[1] or "") .. " "
kind.menu = " (" .. (strings[2] or "") .. ")"
if not cmp_present then
vim.notify("cmp not present", vim.log.levels.ERROR)
return
end
return kind
end,
},
})
if not luasnip_present then
vim.notify("luasnip not present", vim.log.levels.ERROR)
return
end
vim.api.nvim_create_autocmd("BufRead", {
group = vim.api.nvim_create_augroup("CmpSourceCargo", { clear = true }),
pattern = "Cargo.toml",
callback = function()
cmp.setup.buffer({ sources = { { name = "crates" } } })
end,
})
vim.opt.completeopt = "menu,menuone,noselect"
require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup.cmdline({ "/", "?" }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = "buffer" },
},
})
cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = "path", option = { trailing_slash = true } },
}, {
{ name = "cmdline" },
}),
})
local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client == nil then
return
end
if navic_present and client.server_capabilities.documentSymbolProvider then
navic.attach(client, ev.buf)
end
if client.server_capabilities.inlayHintProvider then
vim.lsp.inlay_hint.enable(true, { bufnr = ev.buf })
end
local opts = { buffer = ev.buf }
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
vim.keymap.set({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<space>fm", function()
vim.lsp.buf.format({ async = true })
end, opts)
end,
})
local common = { capabilities = capabilities }
-- setup python
pcall(require("py_lsp").setup, common)
require("typescript-tools").setup({
single_file_support = false,
root_dir = function(fname)
local root_dir = lspconfig.util.root_pattern("package.json", "tsconfig.json")(fname)
-- this is needed to make sure we don't pick up root_dir inside node_modules
local node_modules_index = root_dir and root_dir:find("node_modules", 1, true)
if node_modules_index and node_modules_index > 0 then
---@diagnostic disable-next-line: need-check-nil
root_dir = root_dir:sub(1, node_modules_index - 2)
end
return root_dir
end,
settings = {
expose_as_code_action = {
"add_missing_imports",
"fix_all",
"remove_unused",
},
tsserver_path = vim.fn.resolve(vim.fn.exepath("tsserver") .. "/../../lib/node_modules/typescript/bin/tsserver"),
},
})
local servers = {
astro = {},
bashls = {},
cssls = {},
denols = {
root_dir = lspconfig.util.root_pattern("deno.json", "deno.jsonc"),
single_file_support = false,
},
dockerls = {},
emmet_language_server = {
filetypes = {
"astro",
"css",
"eruby",
"html",
"javascript",
"javascriptreact",
"less",
"sass",
"scss",
"pug",
"typescriptreact",
},
},
graphql = {
filetypes = {
"graphql",
"typescriptreact",
"javascriptreact",
"typescript",
},
},
helm_ls = {},
hls = {},
html = {},
intelephense = {},
jqls = {},
jsonls = {
settings = {
json = {
schemas = require("schemastore").json.schemas(),
validate = { enable = true },
},
},
},
lua_ls = {
capabilities = capabilities,
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
},
},
},
ltex = {
on_attach = function()
require("ltex_extra").setup({
load_langs = { "en-US", "en-GB" },
init_check = true,
path = vim.fn.stdpath("data") .. "/dictionary",
-- border style
require("lspconfig.ui.windows").default_options.border = vim.g.bc.style
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
border = vim.g.bc.style,
})
end,
settings = {
ltex = {
language = "en-US",
additionalRules = {
enablePickyRules = true,
motherTongue = "en_GB",
local cmp_borders = {
border = {
vim.g.bc.topleft,
vim.g.bc.horiz,
vim.g.bc.topright,
vim.g.bc.vert,
vim.g.bc.botright,
vim.g.bc.horiz,
vim.g.bc.botleft,
vim.g.bc.vert,
},
},
},
},
marksman = {},
nil_ls = {
autostart = true,
capabilities = capabilities,
cmd = { "nil" },
settings = {
["nil"] = {
winhighlight = "Normal:CmpPmenu,FloatBorder:CmpBorder,CursorLine:PmenuSel,Search:None",
}
cmp.setup({
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
window = {
completion = cmp_borders,
documentation = cmp_borders,
},
mapping = cmp.mapping.preset.insert({
["<CR>"] = cmp.mapping(function(fallback)
if cmp.visible() then
if luasnip.expandable() then
luasnip.expand()
else
cmp.confirm({
select = true,
})
end
else
fallback()
end
end),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
else
fallback()
end
end, { "i", "s" }),
}),
sources = cmp.config.sources({
-- { name = "copilot" },
{ name = "nvim_lsp" },
{ name = "path" },
{ name = "luasnip" },
}, {
{ name = "buffer" },
}),
formatting = {
command = { "nixfmt" },
fields = { "kind", "abbr", "menu" },
format = function(entry, vim_item)
local kind = require("lspkind").cmp_format({
mode = "symbol_text",
ellipsis_char = "",
maxwidth = 50,
symbol_map = { Copilot = "" },
})(entry, vim_item)
local strings = vim.split(kind.kind, "%s", { trimempty = true })
kind.kind = " " .. (strings[1] or "") .. " "
kind.menu = " (" .. (strings[2] or "") .. ")"
return kind
end,
},
nix = { maxMemoryMB = nil },
},
},
},
nushell = {},
serve_d = {},
sourcekit = {},
taplo = {},
teal_ls = {},
tailwindcss = {
filetypes = {
"astro",
"javascriptreact",
"typescriptreact",
"html",
"css",
},
},
volar = {
capabilities = {
workspace = {
didChangeWatchedFiles = {
dynamicRegistration = true,
},
},
},
root_dir = require("lspconfig.util").root_pattern("package.json"),
},
yamlls = {
settings = {
yaml = {
completion = true,
validate = true,
suggest = {
parentSkeletonSelectedFirst = true,
},
schemas = vim.tbl_extend("keep", {
["https://json.schemastore.org/github-action"] = ".github/action.{yaml,yml}",
["https://json.schemastore.org/github-workflow"] = ".github/workflows/*",
["https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json"] = "*lab-ci.{yaml,yml}",
["https://json.schemastore.org/helmfile"] = "helmfile.{yaml,yml}",
["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "docker-compose.{yml,yaml}",
["https://goreleaser.com/static/schema.json"] = ".goreleaser.{yml,yaml}",
}, require("schemastore").yaml.schemas()),
},
redhat = {
telemetry = {
enabled = false,
},
},
},
},
}
})
for server, config in pairs(servers) do
lspconfig[server].setup(vim.tbl_extend("force", common, config))
end
-- null ls stuff
local null_present, null = pcall(require, "null-ls")
if not null_present then
return
end
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
local sources = {
-- general
null.builtins.formatting.treefmt.with({
condition = function(utils)
return utils.root_has_file("treefmt.toml")
end,
}),
-- nix
null.builtins.formatting.nixfmt,
null.builtins.diagnostics.statix,
null.builtins.diagnostics.deadnix,
-- go
null.builtins.formatting.gofumpt,
-- webdev
null.builtins.formatting.prettier.with({
filetypes = {
"html",
"astro",
"vue",
},
}),
-- shell
null.builtins.formatting.shfmt,
-- lua
null.builtins.formatting.stylua,
null.builtins.diagnostics.selene,
-- docs
null.builtins.diagnostics.alex,
null.builtins.diagnostics.proselint,
}
null.setup({
sources = sources,
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,
vim.api.nvim_create_autocmd("BufRead", {
group = vim.api.nvim_create_augroup("CmpSourceCargo", { clear = true }),
pattern = "Cargo.toml",
callback = function()
vim.lsp.buf.format({
bufnr = bufnr,
filter = function(c)
return c.name == "null-ls"
end,
})
cmp.setup.buffer({ sources = { { name = "crates" } } })
end,
})
end
end,
})
local toggle_formatters = function()
null.toggle({ methods = null.methods.FORMATTING })
end
cmp.setup.cmdline({ "/", "?" }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = "buffer" },
},
})
vim.api.nvim_create_user_command("ToggleFormatters", toggle_formatters, {})
cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = "path", option = { trailing_slash = true } },
}, {
{ name = "cmdline" },
}),
})
local capabilities = require("cmp_nvim_lsp").default_capabilities()
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client == nil then
return
end
if navic_present and client.server_capabilities.documentSymbolProvider then
navic.attach(client, ev.buf)
end
if client.server_capabilities.inlayHintProvider then
vim.lsp.inlay_hint.enable(true, { bufnr = ev.buf })
end
local opts = { buffer = ev.buf }
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
vim.keymap.set({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<space>fm", function()
vim.lsp.buf.format({ async = true })
end, opts)
end,
})
local common = { capabilities = capabilities }
-- setup python
pcall(require("py_lsp").setup, common)
require("typescript-tools").setup({
single_file_support = false,
root_dir = function(fname)
local root_dir = lspconfig.util.root_pattern("package.json", "tsconfig.json")(fname)
-- this is needed to make sure we don't pick up root_dir inside node_modules
local node_modules_index = root_dir and root_dir:find("node_modules", 1, true)
if node_modules_index and node_modules_index > 0 then
---@diagnostic disable-next-line: need-check-nil
root_dir = root_dir:sub(1, node_modules_index - 2)
end
return root_dir
end,
settings = {
expose_as_code_action = {
"add_missing_imports",
"fix_all",
"remove_unused",
},
tsserver_path = vim.fn.resolve(
vim.fn.exepath("tsserver") .. "/../../lib/node_modules/typescript/bin/tsserver"
),
},
})
local servers = {
astro = {},
bashls = {},
cssls = {},
denols = {
root_dir = lspconfig.util.root_pattern("deno.json", "deno.jsonc"),
single_file_support = false,
},
dockerls = {},
emmet_language_server = {
filetypes = {
"astro",
"css",
"eruby",
"html",
"javascript",
"javascriptreact",
"less",
"sass",
"scss",
"pug",
"typescriptreact",
},
},
graphql = {
filetypes = {
"graphql",
"typescriptreact",
"javascriptreact",
"typescript",
},
},
helm_ls = {},
hls = {},
html = {},
intelephense = {},
jqls = {},
jsonls = {
settings = {
json = {
schemas = require("schemastore").json.schemas(),
validate = { enable = true },
},
},
},
lua_ls = {
capabilities = capabilities,
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
},
},
},
ltex = {
on_attach = function()
require("ltex_extra").setup({
load_langs = { "en-US", "en-GB" },
init_check = true,
path = vim.fn.stdpath("data") .. "/dictionary",
})
end,
settings = {
ltex = {
language = "en-US",
additionalRules = {
enablePickyRules = true,
motherTongue = "en_GB",
},
},
},
},
marksman = {},
nil_ls = {
autostart = true,
capabilities = capabilities,
cmd = { "nil" },
settings = {
["nil"] = {
formatting = {
command = { "nixfmt" },
},
nix = { maxMemoryMB = nil },
},
},
},
nushell = {},
serve_d = {},
sourcekit = {},
taplo = {},
teal_ls = {},
tailwindcss = {
filetypes = {
"astro",
"javascriptreact",
"typescriptreact",
"html",
"css",
},
},
volar = {
capabilities = {
workspace = {
didChangeWatchedFiles = {
dynamicRegistration = true,
},
},
},
root_dir = require("lspconfig.util").root_pattern("package.json"),
},
yamlls = {
settings = {
yaml = {
completion = true,
validate = true,
suggest = {
parentSkeletonSelectedFirst = true,
},
schemas = vim.tbl_extend("keep", {
["https://json.schemastore.org/github-action"] = ".github/action.{yaml,yml}",
["https://json.schemastore.org/github-workflow"] = ".github/workflows/*",
["https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json"] = "*lab-ci.{yaml,yml}",
["https://json.schemastore.org/helmfile"] = "helmfile.{yaml,yml}",
["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "docker-compose.{yml,yaml}",
["https://goreleaser.com/static/schema.json"] = ".goreleaser.{yml,yaml}",
}, require("schemastore").yaml.schemas()),
},
redhat = {
telemetry = {
enabled = false,
},
},
},
},
}
for server, config in pairs(servers) do
lspconfig[server].setup(vim.tbl_extend("force", common, config))
end
-- null ls stuff
local null_present, null = pcall(require, "null-ls")
if not null_present then
return
end
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
local sources = {
-- general
null.builtins.formatting.treefmt.with({
condition = function(utils)
return utils.root_has_file("treefmt.toml")
end,
}),
-- nix
null.builtins.formatting.nixfmt,
null.builtins.diagnostics.statix,
null.builtins.diagnostics.deadnix,
-- go
null.builtins.formatting.gofumpt,
-- webdev
null.builtins.formatting.prettier.with({
filetypes = {
"html",
"astro",
"vue",
},
}),
-- shell
null.builtins.formatting.shfmt,
-- lua
null.builtins.formatting.stylua,
null.builtins.diagnostics.selene,
-- docs
null.builtins.diagnostics.alex,
null.builtins.diagnostics.proselint,
}
null.setup({
sources = sources,
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,
filter = function(c)
return c.name == "null-ls"
end,
})
end,
})
end
end,
})
local toggle_formatters = function()
null.toggle({ methods = null.methods.FORMATTING })
end
vim.api.nvim_create_user_command("ToggleFormatters", toggle_formatters, {})
end,
},
{
"crates.nvim",
after = function()
require("crates").setup({})
end,
event = "BufRead Cargo.toml",
},
{
"go.nvim",
ft = {
"go",
"gomod",
"gosum",
"gotmpl",
"gohtmltmpl",
"gotexttmpl",
},
after = function()
-- setup go stuff
require("go").setup({
disable_defaults = false,
icons = {
breakpoint = "",
currentpos = "",
},
trouble = true,
luasnip = true,
dap_debug_keymap = false,
lsp_cfg = false,
lsp_keymaps = false,
lsp_inlay_hints = {
enable = true,
style = "inlay",
},
})
require("lspconfig").gopls.setup(require("go.lsp").config())
end,
},
{ "guihua.lua" },
}

View file

@ -1,47 +0,0 @@
local lualine_require = require("lualine_require")
lualine_require.require = require
require("lualine").setup({
options = {
icons_enabled = true,
theme = "auto",
disabled_filetypes = { statusline = { "dashboard", "alpha", "ministarter" } },
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
always_divide_middle = true,
globalstatus = true,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
},
},
sections = {
lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = { "searchcount" },
lualine_x = { "filetype" },
lualine_y = { "progress" },
lualine_z = { "location" },
},
tabline = {},
winbar = {
lualine_c = { "navic" },
lualine_x = {
{
function()
return " "
end,
cond = function()
local present, navic = pcall(require, "nvim-navic")
if not present then
return false
end
return navic.is_available()
end,
},
},
},
inactive_winbar = {},
extensions = {},
})

View file

@ -0,0 +1,78 @@
return {
{
"markview.nvim",
lazy = false, -- this plugin does its own lazy loading
after = function()
local p = require("markview.presets")
require("markview").setup({
-- allows us to use hybrid mode
modes = { "n", "i", "no", "c" },
hybrid_modes = { "i" },
callbacks = {
on_enable = function(_, win)
vim.wo[win].conceallevel = 2
vim.wo[win].concealcursor = "nc"
end,
},
headings = p.headings.glow,
checkboxes = p.checkboxes.nerd,
horizontal_rules = p.horizontal_rules.thin,
code_blocks = {
pad_amount = 1,
},
list_items = {
-- indent_size = 0,
marker_minus = { add_padding = false },
marker_plus = { add_padding = false },
marker_star = { add_padding = false },
marker_dot = { add_padding = false },
},
})
end,
},
{
"obsidian.nvim",
after = function()
require("obsidian").setup({
workspaces = {
{
name = "default",
path = "~/Documents/obsidian",
},
{
name = "default",
path = "~/documents/obsidian",
},
{
name = "cssuffering",
path = "~/dev/cssuffering/notes",
},
},
})
end,
},
-- allow me to paste images really easy
{
"img-clip.nvim",
after = function()
require("img-clip").setup({
filetypes = {
markdown = {
template = function()
local root_dir = vim.fs.find({ ".obsidian" }, { upward = true })
if vim.tbl_isempty(root_dir) then
return "![$CURSOR]($FILE_PATH)"
else
return "![[$FILE_PATH]]"
end
end,
},
},
})
end,
},
}

View file

@ -1,27 +0,0 @@
local p = require("markview.presets")
require("markview").setup({
-- allows us to use hybrid mode
modes = { "n", "i", "no", "c" },
hybrid_modes = { "i" },
callbacks = {
on_enable = function(_, win)
vim.wo[win].conceallevel = 2
vim.wo[win].concealcursor = "nc"
end,
},
headings = p.headings.glow,
checkboxes = p.checkboxes.nerd,
horizontal_rules = p.horizontal_rules.thin,
code_blocks = {
pad_amount = 1,
},
list_items = {
-- indent_size = 0,
marker_minus = { add_padding = false },
marker_plus = { add_padding = false },
marker_star = { add_padding = false },
marker_dot = { add_padding = false },
},
})

View file

@ -1,42 +0,0 @@
local ctp_present, ctp_pallets = pcall(require, "catppuccin.palettes")
if ctp_present then
local C = ctp_pallets.get_palette()
local justfile = {
icon = "󱚣",
name = "Justfile",
color = C.peach,
}
require("nvim-web-devicons").setup({
override_by_filename = {
[".ecrc"] = {
icon = "",
name = "EditorConfigChecker",
color = C.green,
},
[".envrc"] = {
icon = "",
name = "envrc",
color = C.yellow,
},
[".editorconfig"] = {
icon = "",
name = "EditorConfig",
color = C.green,
},
[".luacheckrc"] = {
icon = "󰢱",
name = "LuacheckRC",
color = C.blue,
},
[".Justfile"] = justfile,
[".justfile"] = justfile,
["Justfile"] = justfile,
["justfile"] = justfile,
},
})
else
require("nvim-web-devicons").setup()
end

View file

@ -1,16 +0,0 @@
require("obsidian").setup({
workspaces = {
{
name = "default",
path = "~/Documents/obsidian",
},
{
name = "default",
path = "~/documents/obsidian",
},
{
name = "cssuffering",
path = "~/dev/cssuffering/notes",
},
},
})

View file

@ -1,21 +1,29 @@
-- so quircky but we need to load this before telescope
local exts = {
"project.nvim",
"ui-select.nvim",
"fzf-native.nvim",
}
return {
-- we set these to lazy as we use another plugin to load them
{ "telescope-project.nvim", lazy = false },
{ "telescope-fzf-native.nvim", lazy = false },
{ "telescope-ui-select.nvim", lazy = false },
for _, ext in ipairs(exts) do
vim.api.nvim_cmd({
cmd = "packadd",
args = { "telescope-" .. ext },
}, {})
end
{
"telescope.nvim",
event = "DeferredUIEnter",
after = function()
-- so quircky but we need to load this before telescope
local exts = {
"project",
"ui-select",
"fzf-native",
}
local bc = vim.g.bc
-- trigger the load of all the extensions we use
for _, ext in ipairs(exts) do
require("lz.n").trigger_load({ "telescope-" .. ext .. ".nvim" })
end
local no_preview = function(opts)
local defaults = require("telescope.themes").get_dropdown({
local bc = vim.g.bc
local no_preview = function(opts)
local defaults = require("telescope.themes").get_dropdown({
-- stylua: ignore
borderchars = {
{ bc.horiz, bc.vert, bc.horiz, bc.vert, bc.topleft, bc.topright, bc.botright, bc.botleft },
@ -23,99 +31,102 @@ local no_preview = function(opts)
results = { bc.horiz, bc.vert, bc.horiz, bc.vert, bc.vertright, bc.vertleft, bc.botright, bc.botleft },
preview = { bc.horiz, bc.vert, bc.horiz, bc.vert, bc.topleft, bc.topright, bc.botright, bc.botleft },
},
width = 0.8,
previewer = false,
prompt_title = false,
results_title = false,
})
return vim.tbl_deep_extend("keep", opts or {}, defaults)
end
width = 0.8,
previewer = false,
prompt_title = false,
results_title = false,
})
return vim.tbl_deep_extend("keep", opts or {}, defaults)
end
local project_actions = require("telescope._extensions.project.actions")
local telescope = require("telescope")
local project_actions = require("telescope._extensions.project.actions")
local telescope = require("telescope")
telescope.load_extension("fzf")
telescope.load_extension("project")
telescope.load_extension("ui-select")
telescope.load_extension("fzf")
telescope.load_extension("project")
telescope.load_extension("ui-select")
telescope.setup({
defaults = {
prompt_prefix = "",
selection_caret = "",
multi_icon = "",
file_ignore_patterns = {
"%.npz",
"%.pyc",
"%.luac",
"%.ipynb",
"vendor/*",
"%.lock",
"__pycache__/*",
"%.sqlite3",
"%.ipynb",
"node_modules/*",
"%.min.js",
"%.jpg",
"%.jpeg",
"%.png",
"%.age",
"%.svg",
"%.otf",
"%.ttf",
"\\.git/",
"%.webp",
"\\.dart_tool/",
"\\.gradle/",
"\\.idea/",
"\\.settings/",
"\\.vscode/",
"__pycache__/",
"build/",
"env/",
"gradle/",
"node_modules/",
"target/",
"%.pdb",
"%.dll",
"%.class",
"%.exe",
"%.so",
"%.cache",
"%.ico",
"%.pdf",
"%.dylib",
"%.jar",
"%.docx",
"%.met",
"smalljre_*/*",
"\\.vale/",
"_sources/",
"tmp/",
},
borderchars = { bc.horiz, bc.vert, bc.horiz, bc.vert, bc.topleft, bc.topright, bc.botright, bc.botleft },
telescope.setup({
defaults = {
prompt_prefix = "",
selection_caret = "",
multi_icon = "",
file_ignore_patterns = {
"%.npz",
"%.pyc",
"%.luac",
"%.ipynb",
"vendor/*",
"%.lock",
"__pycache__/*",
"%.sqlite3",
"%.ipynb",
"node_modules/*",
"%.min.js",
"%.jpg",
"%.jpeg",
"%.png",
"%.age",
"%.svg",
"%.otf",
"%.ttf",
"\\.git/",
"%.webp",
"\\.dart_tool/",
"\\.gradle/",
"\\.idea/",
"\\.settings/",
"\\.vscode/",
"__pycache__/",
"build/",
"env/",
"gradle/",
"node_modules/",
"target/",
"%.pdb",
"%.dll",
"%.class",
"%.exe",
"%.so",
"%.cache",
"%.ico",
"%.pdf",
"%.dylib",
"%.jar",
"%.docx",
"%.met",
"smalljre_*/*",
"\\.vale/",
"_sources/",
"tmp/",
},
borderchars = { bc.horiz, bc.vert, bc.horiz, bc.vert, bc.topleft, bc.topright, bc.botright, bc.botleft },
},
pickers = {
find_files = no_preview(),
live_grep = no_preview({
previewer = true,
}),
load_session = no_preview(),
},
extensions = {
["ui-select"] = no_preview(),
fzf = {
fuzzy = true,
override_generic_sorter = true,
override_file_sorter = true,
case_mode = "smart_case",
},
project = {
search_by = { "path", "title" },
hidden_files = true, -- default: false
sync_with_nvim_tree = true, -- default false
on_project_selected = function(prompt_bufnr)
project_actions.change_working_directory(prompt_bufnr, false)
end,
},
},
})
end,
},
pickers = {
find_files = no_preview(),
live_grep = no_preview({
previewer = true,
}),
load_session = no_preview(),
},
extensions = {
["ui-select"] = no_preview(),
fzf = {
fuzzy = true,
override_generic_sorter = true,
override_file_sorter = true,
case_mode = "smart_case",
},
project = {
search_by = { "path", "title" },
hidden_files = true, -- default: false
sync_with_nvim_tree = true, -- default false
on_project_selected = function(prompt_bufnr)
project_actions.change_working_directory(prompt_bufnr, false)
end,
},
},
})
}

View file

@ -1,28 +1,35 @@
---@diagnostic disable: missing-fields
require("nvim-treesitter.configs").setup({
auto_install = false,
indent = {
enable = true,
},
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = 8192,
},
})
return {
{
"nvim-treesitter",
after = function()
---@diagnostic disable: missing-fields
require("nvim-treesitter.configs").setup({
auto_install = false,
indent = {
enable = true,
},
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
rainbow = {
enable = true,
extended_mode = true,
max_file_lines = 8192,
},
})
vim.o.foldmethod = "expr"
vim.o.foldexpr = "nvim_treesitter#foldexpr()"
vim.o.foldenable = false
vim.o.foldmethod = "expr"
vim.o.foldexpr = "nvim_treesitter#foldexpr()"
vim.o.foldenable = false
-- remove treesitter commands
vim.api.nvim_del_user_command("TSUpdate")
vim.api.nvim_del_user_command("TSUpdateSync")
vim.api.nvim_del_user_command("TSInstall")
vim.api.nvim_del_user_command("TSInstallSync")
vim.api.nvim_del_user_command("TSInstallFromGrammar")
vim.api.nvim_del_user_command("TSUninstall")
-- remove treesitter commands
vim.api.nvim_del_user_command("TSUpdate")
vim.api.nvim_del_user_command("TSUpdateSync")
vim.api.nvim_del_user_command("TSInstall")
vim.api.nvim_del_user_command("TSInstallSync")
vim.api.nvim_del_user_command("TSInstallFromGrammar")
vim.api.nvim_del_user_command("TSUninstall")
end,
},
}

View file

@ -1,14 +1,21 @@
local trouble = require("trouble")
trouble.setup({})
return {
{
"trouble.nvim",
after = function()
local trouble = require("trouble")
trouble.setup({})
vim.keymap.set("n", "<leader>tt", function()
trouble.toggle()
end, { noremap = true, silent = true })
vim.keymap.set("n", "<leader>tt", function()
trouble.toggle()
end, { noremap = true, silent = true })
vim.keymap.set("n", "[d", function()
trouble.next({ skip_groups = true, jump = true })
end, { noremap = true, silent = true })
vim.keymap.set("n", "[d", function()
trouble.next({ skip_groups = true, jump = true })
end, { noremap = true, silent = true })
vim.keymap.set("n", "]d", function()
trouble.previous({ skip_groups = true, jump = true })
end, { noremap = true, silent = true })
vim.keymap.set("n", "]d", function()
trouble.previous({ skip_groups = true, jump = true })
end, { noremap = true, silent = true })
end,
},
}

View file

@ -0,0 +1,189 @@
return {
{
"lualine.nvim",
after = function()
local lualine_require = require("lualine_require")
lualine_require.require = require
require("lualine").setup({
options = {
icons_enabled = true,
theme = "auto",
disabled_filetypes = { statusline = { "dashboard", "alpha", "ministarter" } },
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
always_divide_middle = true,
globalstatus = true,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
},
},
sections = {
lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = { "searchcount" },
lualine_x = { "filetype" },
lualine_y = { "progress" },
lualine_z = { "location" },
},
tabline = {},
winbar = {
lualine_c = { "navic" },
lualine_x = {
{
function()
return " "
end,
cond = function()
local present, navic = pcall(require, "nvim-navic")
if not present then
return false
end
return navic.is_available()
end,
},
},
},
inactive_winbar = {},
extensions = {},
})
end,
},
{
"fidget.nvim",
after = function()
require("fidget").setup({
display = { done_icon = "󰗡" },
notification = {
override_vim_notify = true,
window = { winblend = 0 },
},
progress = {
ignore = {
"copilot",
"null-ls",
},
},
})
end,
},
{
"indent-blankline.nvim",
event = "DeferredUIEnter",
after = function()
require("ibl").setup({
scope = { enabled = false },
exclude = {
filetypes = {
"alpha",
"fugitive",
"help",
"lazy",
"NvimTree",
"ToggleTerm",
"LazyGit",
"TelescopePrompt",
"prompt",
"code-action-menu-menu",
"code-action-menu-warning-message",
"Trouble",
},
},
})
end,
},
{
"nvim-web-devicons",
priority = 100,
after = function()
local ctp_present, ctp_pallets = pcall(require, "catppuccin.palettes")
if ctp_present then
local C = ctp_pallets.get_palette()
local justfile = {
icon = "󱚣",
name = "Justfile",
color = C.peach,
}
require("nvim-web-devicons").setup({
override_by_filename = {
[".ecrc"] = {
icon = "",
name = "EditorConfigChecker",
color = C.green,
},
[".envrc"] = {
icon = "",
name = "envrc",
color = C.yellow,
},
[".editorconfig"] = {
icon = "",
name = "EditorConfig",
color = C.green,
},
[".luacheckrc"] = {
icon = "󰢱",
name = "LuacheckRC",
color = C.blue,
},
[".Justfile"] = justfile,
[".justfile"] = justfile,
["Justfile"] = justfile,
["justfile"] = justfile,
},
})
else
require("nvim-web-devicons").setup()
end
end,
},
{
"nvim-colorizer.lua",
after = function()
require("colorizer").setup({
user_default_options = {
RGB = true,
RRGGBB = true,
names = false,
RRGGBBAA = true,
AARRGGBB = false,
rgb_fn = false,
hsl_fn = false,
css = false,
css_fn = false,
mode = "background",
tailwind = "both",
sass = {
enable = true,
},
virtualtext = "",
},
buftypes = {
"*",
"!dashboard",
"!lazy",
"!popup",
"!prompt",
},
})
end,
},
-- highlight TODO, FIXME, etc.
{
"todo-comments.nvim",
after = function()
require("todo-comments").setup()
end,
},
}

View file

@ -104,6 +104,7 @@ src.git = "https://github.com/nvim-lualine/lualine.nvim"
[luasnip]
fetch.github = "L3MON4D3/LuaSnip"
src.git = "https://github.com/L3MON4D3/LuaSnip"
passthru.as = "luasnip"
[lz-n]
fetch.github = "nvim-neorocks/lz.n"

View file

@ -1 +1,4 @@
std="vim"
[rules]
mixed_table = "allow"