mirror of
https://github.com/mintycube/dotfiles.git
synced 2024-10-22 14:05:41 +02:00
Compare commits
3 Commits
5c68999c00
...
2064af197a
Author | SHA1 | Date | |
---|---|---|---|
|
2064af197a | ||
|
7c2de24603 | ||
|
a33665204c |
1
.config/nvim
Submodule
1
.config/nvim
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit e67627c82838b14f7df78ce355ccd995bd120b23
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"runtime.version": "LuaJIT",
|
||||
"runtime.path": [
|
||||
"lua/?.lua",
|
||||
"lua/?/init.lua"
|
||||
],
|
||||
"diagnostics.globals": ["vim"],
|
||||
"workspace.checkThirdParty": false,
|
||||
"workspace.library": [
|
||||
"$VIMRUNTIME",
|
||||
"./lua"
|
||||
]
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
# Neovim
|
||||
|
||||
#Features:
|
@ -1,7 +0,0 @@
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
require("options")
|
||||
require("manager")
|
||||
require("autocommands")
|
||||
require("mappings")
|
@ -1,71 +0,0 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
|
||||
"cmp-async-path": { "branch": "main", "commit": "7df7f3721c45aac26b6e0474087538f4681c9c7a" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
|
||||
"cmp-vimtex": { "branch": "master", "commit": "a64b1b5eec0460144c91c4f20a45c74b8ded48ae" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"flit.nvim": { "branch": "main", "commit": "a9be4e76c30a128f1e51af448c8321bf8366bcd4" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
||||
"fzf-lua": { "branch": "main", "commit": "eb63a4bbfd203942737f76d4cf5424f6fb016a9d" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "f4928ba14eb6c667786ac7d69927f6aee6719f1e" },
|
||||
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "d731a6b005fd239e85e555bd57362382f6c1e461" },
|
||||
"leap.nvim": { "branch": "main", "commit": "c099aecaf858574909bd38cbadb8543c4dd16611" },
|
||||
"lf.nvim": { "branch": "master", "commit": "69ab1efcffee6928bf68ac9bd0c016464d9b2c8b" },
|
||||
"lsp-zero.nvim": { "branch": "v3.x", "commit": "87701af045b3032515776abeb47eb8c2ddb5e679" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" },
|
||||
"luasnip-latex-snippets.nvim": { "branch": "main", "commit": "4b91f28d91979f61a3e8aef1cee5b7c7f2c7beb8" },
|
||||
"markdown-preview.nvim": { "branch": "main", "commit": "462ce41af003f5cdadab856f3a42dc27e39b89c8" },
|
||||
"markview.nvim": { "branch": "main", "commit": "708eb913b3bd858269a2be5e19340a60cd7c68b4" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.ai": { "branch": "main", "commit": "45587078f323eaf41b9f701bbc04f8d1ab008979" },
|
||||
"mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" },
|
||||
"mini.surround": { "branch": "main", "commit": "57caca9525cec0ea771a67326b0ee637d056078a" },
|
||||
"noice.nvim": { "branch": "main", "commit": "90844cfdf8c1d2edcb2e56c21e2724e7c6ea4c41" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "2870f66b1cb263f6e0bfffdb089739b874343a3a" },
|
||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "08bd34bf0ed79723f62764c7f9ca70516d461d0d" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
|
||||
"nvim-html-css": { "branch": "main", "commit": "c514bd27ad560636ed39dea3e370b3103754e244" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "01e08d4bf1c35e5126b2ad5209725e4c552289ab" },
|
||||
"nvim-markdown": { "branch": "master", "commit": "bf5c87788156f072cfb87b994844424b164b5b44" },
|
||||
"nvim-navbuddy": { "branch": "master", "commit": "f22bac988f2dd073601d75ba39ea5636ab6e38cb" },
|
||||
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "9a28f926d3371b7ef02243cbbb653a0478d06e31" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "0d5e1214a5c386a168dc8e19d7da0ceb0e0bd6f2" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "1624866a1379fc1861797f0ed05899a9c1d2ff61" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "6b5f95aa4d24f2c629a74f2c935c702b08dbde62" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "1b5f2838099f283857729e820cc05e2b19df7a2c" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" },
|
||||
"outline.nvim": { "branch": "main", "commit": "2175b6da5b7b5be9de14fd3f54383a17f5e4609c" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "40a137dd9240c9c6760c53df48d2b155f52c252b" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"promise-async": { "branch": "main", "commit": "28c1d5a295eb5310afa2523d4ae9aa41ec5a9de2" },
|
||||
"qalculate.vim": { "branch": "main", "commit": "d0269924bfa623bf0f73218041241cc83e97379e" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "d07218748c48e756c27aa6859bfa6e62a3d271af" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "96fee098a90e7c09c9811aa7df71d773ba8b9b53" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "cd55bf6aab3f88c259fa29ea86bbdcb1a325687d" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "6adfcde66e8af2f22dd5d76060980abd8daa0df8" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bf99ea71a39e322336b7f8be965f86dbf5c65540" },
|
||||
"undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" },
|
||||
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
|
||||
"vimtex": { "branch": "master", "commit": "80c9bc179784c30192d482741a43f176c859daa1" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "bb4e82bdaff50a4a93867e4c90938d18e7615af6" },
|
||||
"zen-mode.nvim": { "branch": "main", "commit": "a31cf7113db34646ca320f8c2df22cf1fbfc6f2a" }
|
||||
}
|
@ -1,320 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.suckless = {
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ▀ ]],
|
||||
[[█▀█▄█▀█▀█▀█]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
}
|
||||
|
||||
-- M.great_slash = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⡀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠠⣀⣠⣶⣶⣶⣿⣿⣿⣟⠟⠉⠁ ⠉⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣵⣶⣿⣿⣿⡿⣟⢿⡝⠙⠀⠤⠤⣤⣤⡶⠂⠀]],
|
||||
-- [[⠀⠀⠀⠀⢀⠴⣪⣾⣿⣿⣿⣿⣿⢿⡿⠃⢿⢸⣧⡍⠭⣭⣿⡿⠋⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⢀⣵⣿⣿⣿⣿⣿⢯⠟⡵⠋ ⢠⢾⣿⣿⣿⡤⣼⢏⣠⣀⠀⠀⠀]],
|
||||
-- [[⠀⢠⣰⣻⣿⣿⣿⣾⣿⣧⢡⣘⠁⠀⠀⠘⣄⣻⣿⣿⣷⣿⣿⡿⠍⠁⠀⠀]],
|
||||
-- [[⠀⡇⡿⣿⣿⣿⡿⣿⡻⣿⣜⢄⣶⣤⣀⠀⠀⠀⠈⠛⢻⣟⠫⠉⠀⠀⠀⠀]],
|
||||
-- [[⠀⠣⡻⣌⡻⠿⣿⣮⣽⣿⣶⣾⣿⣳⠶⠖⠬⠍⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠈⠀⠉⠉⠙⠛⠛⠒⠓⠒⠀⠀⠀⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.mothwing = {
|
||||
-- [[⠀⠀⠀⠀⢠⣶⡦⠀⣠⣤⣤⣤⣀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⢸⣿⣧⣾⣿⣣⠄⣹⣿⠟⢆⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠙⣿⣿⣿⣷⣿⣾⣿⣧⣸⡆⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠐⢿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠻⣮⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⡠⢞⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀]],
|
||||
-- [[⠀⠀⡰⣓⣼⡿⡿⢻⣭⣾⣿⢿⢻⡰⠀⠀⠀]],
|
||||
-- [[⠀⡮⡺⠕⡫⠋⣬⣴⣿⣿⣿⣸⠸⡱⡄⠀⠀]],
|
||||
-- [[⠸⡰⡝⣨⠕⠊⠀⣿⣿⣿⠏⠏⣶⡕⡇⠀⠀]],
|
||||
-- [[⠘⠀⡢⠁⠀⠀⠀⠋⠋⠀⠀⢰⡘⠰⠇⠀⠀]],
|
||||
-- [[ ⠸⠁⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.radiance = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⡇⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢇⠀⠃⢀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠷⣷⢷⣴⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣧⣅⣂⣧⣾⣷⣇⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⢀⠀⠀⠀⢀⢠⢐⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⠑⢆⣠⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠢⢦⣀⣴⣾⣿⣭⣶⠵⠩⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡛⣘⠿⣿⣷⠶⠿⠦⠴⠠⡀⠀]],
|
||||
-- [[⠀⠀⢀⣀⣘⣩⣙⣫⣭⣶⡿⣫⣪⣭⢛⠿⣿⣿⡿⠋⣩⣝⢶⣝⡿⣶⣭⣓⡦⢍⠂⠄⠀⠀]],
|
||||
-- [[⠀⠀⠀⠐⠋⠩⢭⣉⣩⣵⢞⣵⡿⠁⠊⢀⣻⣿⡁⠉⡪⡻⣷⣝⢿⣶⡝⠭⡙⠓⠤⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠈⠉⠉⢉⢉⠠⠟⠉⠂⠀⠀⠠⣭⢩⡤⠀⠁⠰⠈⠙⠷⡈⠙⢆⠀⠆⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠟⠸⢓⠀⠀⠀⠀⠀⠀⠑⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⢠⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣾⠸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
--
|
||||
-- M.venom = {
|
||||
-- [[⠀⠀⢰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀]],
|
||||
-- [[⠀⠀⣾⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣼⡇⠀]],
|
||||
-- [[⠀⠀⡏⢿⣿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣾⣿⣿⡗⠀⠀]],
|
||||
-- [[⠀⠀⠁⠘⣿⣿⣿⣿⣿⣷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⠁⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣷⣍⠡⠀⠀⠀⠀⠀⠀⢋⣽⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠹⣻⣿⣿⣿⣿⣿⣧⣀⠀⠀⠀⠠⣀⣾⣿⣿⣿⡿⣟⣿⠏⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠈⠹⠜⠋⠟⠿⠉⠀⠀⠀⠀⠀⠑⠻⢿⠙⠩⠫⠛⠁⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⢠⠠⡆⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠄⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠂⠇⠰⠄⡞⠀⣼⠀⣿⡄⢰⡷⠸⣧⢰⡆⠨⡂⡾⡐⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠈⠈⢧⢹⡇⢿⠀⢿⠇⠈⡇⠨⡟⢸⡇⡿⠡⠁⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠸⡀⢸⠀⠀⠇⢸⠃⡿⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠈⠀⠀⠀⠊⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⢳⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡎⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠘⠧⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠏⠁⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⣆⢡⢠⠀⡀⢠⢀⡄⡆⣸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠸⠘⢂⡆⢸⣸⢃⠇⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠋⠎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.symbol = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠋⠀⠀]],
|
||||
-- [[⠀⠀⢦⣀⠀⠈⢣⡀⠀⠀⣀⣀⣀⣀⣴⠁⣠⡶⠀⠀⢀⣴⠋⠁⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠙⢷⣄⠈⢿⡞⠛⠉⠉⠉⢹⠃⣠⡞⠀⣠⣴⠟⠀⢀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠙⢣⣀⢡⡶⠞⠛⠛⠣⢦⠝⣠⣾⠟⢁⣤⠔⠃⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠙⠣⠀⢀⣀⣀⣀⣴⣾⠿⠡⠚⠻⣧⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠰⣾⠟⢉⡉⠙⣿⡅⢀⡀⡀⠀⢹⡄⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠈⢀⡀⠻⠟⢀⣿⠃⠘⠶⠃⠀⢸⡇⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⢀⠠⡶⣡⠄⣠⡿⠿⠶⠶⠟⠉⠀⠀⠀⠀⢀⣿⠁⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠘⠂⢡⡾⠋⠀⠀⠀⠀⠀⠀⠀⠱⣤⣠⡾⠃⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠐⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠋⢴⡀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.scorpion = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⢠⠠⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣔⡀⠚⠀⠀⠠⠒⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡟⠁⠀⠀⠀⢀⡋⢙⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠛⠀⠀⢀⠀⠀⢐⣣⠤⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠒⠁⠢⡄⠀⡈⠀⢐⠧⢀⠇⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢂⠀⠀⠀⣘⢀⠇⣀⡱⢈⡁⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⢀⣠⢤⡍⢛⡆⣻⡴⣾⡸⣎⣳⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⣀⣠⣤⣤⣀⡀⣀⣀⡀⠀⢇⣤⣷⣿⣴⣌⣰⡤⡁⢀⡤⠄⠠⡄⠀⠀]],
|
||||
-- [[⠀⠀⠀⢈⣽⣿⣿⣿⣿⠟⠑⠉⠑⠷⠱⣮⢹⣿⣿⣿⠟⠸⡭⠬⢥⣄⠀⠀⢀⠀⠀]],
|
||||
-- [[⠀⠀⠔⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢛⣑⣓⢬⣕⠋⠙⢦⠀⢀⠍⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⢦⡃⠀⠀⡃⠀⢸⠀⠈⠂⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣄⠀⢀⣤⢾⠃⠁⠀⠀⠃⠁⠀⠉⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠐⢄⣀⣀⣠⣴⣿⣿⣿⢣⠞⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⢀⠀⠀⠈⠉⣹⣿⣿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠈⠉⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.raven = {
|
||||
-- [[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠀ ]],
|
||||
-- [[ ⠀⠀⢤⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠠⣢⢃⡶ ]],
|
||||
-- [[ ⠀⠀⣼⡶⠘⠀⠀⠀⠀⠀⠀⠀⠀⢠⢀⠄⠀⠢⢼⣿⣿⣷⡅ ]],
|
||||
-- [[ ⠠⠀⣿⣿⢇⡀⠀⠀⠀⠀⠀⠀⡤⠀⢈⢄⡇⣪⣿⣿⣿⢟⡠ ]],
|
||||
-- [[ ⠀⢸⣿⣿⣟⡐⠁⣀⠀⠀⠀⣠⡤⡨⣳⣿⣿⣿⣿⣿⣿⡿⠃ ]],
|
||||
-- [[ ⠀⠀⢻⣿⣿⣇⠸⠠⠀⠀⣠⣿⣷⣿⣿⣿⣿⣿⣿⣿⠿⠁⠁ ]],
|
||||
-- [[ ⠀⠀⠀⠙⠿⣿⣮⣄⣄⣈⣾⣿⣿⣿⣿⣿⣿⣿⣿⢏⠹⠄⠃ ]],
|
||||
-- [[ ⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⠻⠀⠙⠠⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠈⢤⡟⠻⣿⣿⣿⣿⣿⣿⡿⠿⡻⠳⠁⠀⠁⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠀⠀⠀⠁⠙⢿⣿⣿⣿⣿⣶⣾⣷⣶⣦⣤⠀⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠀⠀⢀⣤⡶⡖⠿⣿⣿⣿⣿⡿⠏⠝⠁⠀⠀⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠀⠀⠈⠀⠡⠔⠀⠈⠙⠙⠑⠂⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.yggdrasil = {
|
||||
-- [[ ⠀⠀⠀⠀⠀⠀⢀⢀⠀⣄⢂⣀⣂⣤⣀⢀⢀⠀⠀⠀⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠀⣄⣰⣝⣉⣙⢱⣞⠜⡖⣌⣌⣁⣻⣠⣀⠀⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⢔⢽⣊⣂⣇⡒⠮⢻⣇⠲⢍⣿⢟⣒⣰⣠⣑⡔⣀⠀⠀ ]],
|
||||
-- [[ ⠀⠹⡸⢙⣕⡐⢂⠍⣩⡻⣿⣆⣾⠟⣉⢣⠪⠲⡰⡋⣢⢆⠀ ]],
|
||||
-- [[ ⠀⣪⡹⣵⢦⠽⡓⠶⠶⣧⣹⣿⣏⣴⠶⠛⠟⠽⢛⣒⢮⡙⠀ ]],
|
||||
-- [[ ⠸⢋⢪⠑⢩⠈⠀⠀⠀⠈⣿⣿⣿⠁⠀⠀⠘⢠⠈⠆⢎⢱⠁ ]],
|
||||
-- [[ ⠀⠻⡕⡲⡈⠀⠀⠀⠀⠀⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠆⠄⠁ ]],
|
||||
-- [[ ⠀⠀⠀⠇⠀⠀⠀⠀⠀⣰⣿⣿⣿⣤⡀⠀⠀⠀⠀⠌⠘⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⢱⠒⡶⡶⢖⣫⡿⢻⠿⡟⢿⣍⡱⢖⠶⠒⡆⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠀⠁⠬⡃⠴⣇⣴⠏⠖⠙⣦⣸⠦⡼⠣⠉⠀⠀⠀⠀ ]],
|
||||
-- [[ ⠀⠀⠀⠀⠀⠀⠈⠁⠑⠢⠧⠭⠼⠵⠋⠊⠁⠀⠀⠀⠀⠀⠀ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.void_stranger = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⣀⣴⣶⣄⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⣴⠋⠁⠈⣿⡟⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⣾⣏⣀⠠⠞⠉⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⣸⣿⠏⠀⠀⠀⠀ ⠀⣀⡀⠀⠀]],
|
||||
-- [[⠀⢰⣿⣿⠀⠀⠀⠀⡠⠒⠿⣿⣿⣧⠀]],
|
||||
-- [[⠀⠀⣿⣿⣷⣤⡠⠊⠀⠀⠀⢸⣿⣿⠀]],
|
||||
-- [[⠀⠀⠈⠛⠋⠁⠀⠀⠀⠀⠀⣼⣿⡇⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⢀⡤⠖⠈⣿⡿⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⢀⣾⣿⠀⠀⣰⠗⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠘⠯⢻⠶⠊⠁⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.aot = {
|
||||
-- [[⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⡄⠀⠀]],
|
||||
-- [[⢰⠒⠒⢻⣿⣶⡒⠒⠒⠒⠒⠒⠒⠒⠒⠒⡲⠊⣰⣓⡒⡆]],
|
||||
-- [[⢸⢸⢻⣭⡙⢿⣿⣍⡉⠉⡇⡏⠉⠉⣩⠋⢀⣔⠕⢫⡇⡇]],
|
||||
-- [[⢸⢸⣈⡻⣿⣶⣽⡸⣿⣦⡇⡇⡠⠊⣸⢶⠋⢁⡤⠧⡇⡇]],
|
||||
-- [[⢸⢸⠻⣿⣶⣝⠛⣿⣮⢻⠟⣏⣠⠞⠁⣼⡶⠋⢀⣴⡇⡇]],
|
||||
-- [[⢸⢸⣿⣶⣍⠻⠼⣮⡕⢁⡤⢿⢁⡴⠊⣸⣵⠞⠋⢠⡇⡇]],
|
||||
-- [[⢸⢘⣛⡻⣿⣧⢳⣿⣧⠎⢀⣾⠋⡠⠞⢱⢇⣠⡴⠟⡇⡇]],
|
||||
-- [[⢸⢸⠹⣿⣷⣎⣉⣻⢁⡔⢁⢿⡏⢀⣤⢾⡟⠁⣀⣎⡇⡇]],
|
||||
-- [[⢸⢸⠲⣶⣭⡛⠚⢿⢋⡔⢁⣼⠟⢋⣠⣼⠖⠋⢁⠎⡇⡇]],
|
||||
-- [[⢸⢸⢤⣬⣛⠿⠞⣿⢋⠔⣉⣾⠖⠋⢁⣯⡴⠞⢃⠂⡇⡇]],
|
||||
-- [[⢸⢸⠀⢙⣻⢿⣧⣾⡵⠚⣉⣯⠶⠛⣹⣧⠤⢮⠁⠀⡇⡇]],
|
||||
-- [[⠸⣘⠢⣄⠙⠿⢷⡡⠖⣋⣽⠥⠒⣩⣟⣤⣔⣁⡤⠖⣃⠇]],
|
||||
-- [[⠀⠀⠙⠢⢍⣻⡿⠒⢉⣴⣗⣚⣽⣋⣀⣤⣊⠥⠒⠉⠀⠀]],
|
||||
-- [[⠀⠀⠀⢀⣔⠥⠒⢮⣙⠾⠀⠷⣚⡭⠞⠉⠛⠦⣀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠉⠀⠀⠀⠀⠈⠑⠒⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.meatboy = {
|
||||
-- [[⠀⠀⣀⣀⣤⣤⣦⣶⢶⣶⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⡄⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⣿⣿⣿⠿⣿⣿⣾⣿⣿⣿⣿⣿⣿⠟⠛⠛⢿⣿⡇⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⣿⡟⠡⠂⠀⢹⣿⣿⣿⣿⣿⣿⡇⠘⠁⠀⠀⣿⡇⠀⢠⣄⠀⠀]],
|
||||
-- [[⠀⠀⢸⣗⢴⣶⣷⣷⣿⣿⣿⣿⣿⣿⣷⣤⣤⣤⣴⣿⣗⣄⣼⣷⣶⡄]],
|
||||
-- [[⠀⢀⣾⣿⡅⠐⣶⣦⣶⠀⢰⣶⣴⣦⣦⣶⠴⠀⢠⣿⣿⣿⣿⣼⣿⡇]],
|
||||
-- [[⢀⣾⣿⣿⣷⣬⡛⠷⣿⣿⣿⣿⣿⣿⣿⠿⠿⣠⣿⣿⣿⣿⣿⠿⠛⠃]],
|
||||
-- [[⢸⣿⣿⣿⣿⣿⣿⣿⣶⣦⣭⣭⣥⣭⣵⣶⣿⣿⣿⣿⣟⠉⠀⠀⠀⠀]],
|
||||
-- [[⠀⠙⠇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⣿⣿⣿⣿⣿⣛⠛⠛⠛⠛⠛⢛⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠿⣿⣿⣿⠿⠿⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⠿⠇⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.isaac = {
|
||||
-- [[ ⣀⣤⣴⣶⣶⣶⣶⣶⣶⣤⣄⣀ ]],
|
||||
-- [[ ⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄ ]],
|
||||
-- [[ ⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆ ]],
|
||||
-- [[ ⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ]],
|
||||
-- [[ ⣾⣿⡿⠟⡋⠉⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠉⠉⠙⠻⣿⣿⣇]],
|
||||
-- [[⢠⣿⡏⢰⣿⣿⡇ ⢸⣿⣿⣿⠿⠿⣿⣿⣿⠁⣾⣿⣷ ⠘⣿⣿]],
|
||||
-- [[⠸⣿⣇⠈⠉⠉ ⢀⣼⡿⠋ ⠙⢿⣄⠙⠛⠁ ⢠⣿⣿]],
|
||||
-- [[ ⢿⣿⡇ ⣶⣿⣿⢁⣤⣤⣤⣤⣤⣤ ⣿⣷ ⠈⢹⣿⡟]],
|
||||
-- [[ ⠈⢿⡗ ⢸⣿⣿⣿⣶⣶⣶⣶⣶⣶⣶⣶⣿⣿ ⢸⡟ ]],
|
||||
-- [[ ⠳⡀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠌ ]],
|
||||
-- [[ ⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤ ]],
|
||||
-- [[ ⠉⠙⠻⠿⠿⣿⣿⣿⣿⠿⠿⠛⠉ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.gta = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⡀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠟⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣿⣷⣄⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣶⣿⡆⠀⠀⠉⠉⠀⠈⣶⡆⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢻⣷⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⣸⣿⡄]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣷]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⢰⣾⣿⠏]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣧⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠟⠁⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[Ah shit, here we go again.]],
|
||||
-- }
|
||||
--
|
||||
-- M.hydra = {
|
||||
-- [[ ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ]],
|
||||
-- [[ ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ]],
|
||||
-- [[ ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ]],
|
||||
-- [[ ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ]],
|
||||
-- [[ ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ]],
|
||||
-- [[ ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ]],
|
||||
-- [[ ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ]],
|
||||
-- [[⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ]],
|
||||
-- [[⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄]],
|
||||
-- [[ ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ]],
|
||||
-- [[ ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣾⡿⠃ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.spider = {
|
||||
-- [[ ▐ ▌ ▐ ▌ ]],
|
||||
-- [[ ▐▌ █ █ ▐▌ ]],
|
||||
-- [[ ▄█ ▀▀▄▌▄▐▄▀▀ █▄ ]],
|
||||
-- [[ ▐█ ▄█▀▄█████▄▀█▄ █ ]],
|
||||
-- [[ ▀▀ ▄▄▄█████▄▄▄ ▀▀ ]],
|
||||
-- [[ ▄█▀ ▄▀███▀▄ ▀█▄ ]],
|
||||
-- [[ ▄█ ▄▀ ███ ▀▄ █▄ ]],
|
||||
-- [[▐█ █ ▐█▌ █ █▌]],
|
||||
-- [[ █ █ ▀ █ █ ]],
|
||||
-- [[ ▀█ █ █ █▀ ]],
|
||||
-- [[ █ █ █ █ ]],
|
||||
-- [[ █ █ █ █ ]],
|
||||
-- [[ ▌ ▌ ▐ ▐ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.moth = {
|
||||
-- [[⠀⠀⠀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⣀⠀⠀]],
|
||||
-- [[⢀⡖⢭⡿⡁⣶⠒⢍⣩⡿⢽⣷⣦⣤⣀⠀⢾⣏⡋⡽⠇⠀⣀⣤⢴⣚⠟⣉⣉⡽⠖⠪⡟⣹⡿⠆]],
|
||||
-- [[⠈⠙⠵⣫⠵⣐⣏⢒⣲⠿⢷⣛⣹⡽⣿⢻⣾⠿⡛⡧⣷⣛⣷⣯⣿⣲⢶⣾⣚⢇⢁⡼⣿⠟⠋⠀]],
|
||||
-- [[⠀⠀⠀⠘⠿⣵⣫⠾⣛⣫⢫⠕⠂⠈⠀⢩⣷⠾⢲⢯⣍⠓⠉⠚⠹⣿⣯⣿⣹⣾⣿⠟⠁⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠉⢠⡾⣫⡶⡂⠀⠀⠀⠐⡟⠖⡙⡧⠆⠀⠀⠀⠀⣿⢋⣻⡧⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠘⢾⣕⢕⠰⡀⠀⠀⠀⣯⠩⠏⠇⠐⡀⠀⠀⢠⣇⣰⡿⠃⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠃⠉⠉⠃⠀⠀⢻⣨⡈⠀⠃⠑⠀⠘⠋⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.skull = {
|
||||
-- [[⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀ ]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿⠀⠀⠀⠀⠀⠀ ]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟⠀⠀⠀⠀⠀⠀ ]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
--
|
||||
-- M.morse = {
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ]],
|
||||
-- [[ ▄ ▄ ▄ ▄ ▄ ▄ ▄ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.sharp = {
|
||||
-- [[ ]],
|
||||
-- [[ ]],
|
||||
-- [[ ████ ██████ █████ ██ ]],
|
||||
-- [[ ███████████ █████ ]],
|
||||
-- [[ █████████ ███████████████████ ███ ███████████ ]],
|
||||
-- [[ █████████ ███ █████████████ █████ ██████████████ ]],
|
||||
-- [[ █████████ ██████████ █████████ █████ █████ ████ █████ ]],
|
||||
-- [[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]],
|
||||
-- [[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]],
|
||||
-- [[ ]],
|
||||
-- }
|
||||
--
|
||||
-- M.galaxy = {
|
||||
-- [[ ⠀⠀⢀⣀⣀⡀⠒⠒⠦⣄⡀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⢀⣤⣶⡾⠿⠿⠿⠿⣿⣿⣶⣦⣄⠙⠷⣤⡀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⣠⡾⠛⠉⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣷⣄⠘⢿⡄⠀⠀⠀]],
|
||||
-- [[⠀⢀⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠐⠂⠠⢄⡀⠈⢿⣿⣧⠈⢿⡄⠀⠀]],
|
||||
-- [[⢀⠏⠀⠀⠀⢀⠄⣀⣴⣾⠿⠛⠛⠛⠷⣦⡙⢦⠀⢻⣿⡆⠘⡇⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⡐⢁⣴⡿⠋⢀⠠⣠⠤⠒⠲⡜⣧⢸⠄⢸⣿⡇⠀⡇⠀⠀]],
|
||||
-- [[⠀⠀⠀⡼⠀⣾⡿⠁⣠⢃⡞⢁⢔⣆⠔⣰⠏⡼⠀⣸⣿⠃⢸⠃⠀⠀]],
|
||||
-- [[⠀⠀⢰⡇⢸⣿⡇⠀⡇⢸⡇⣇⣀⣠⠔⠫⠊⠀⣰⣿⠏⡠⠃⠀⠀⢀]],
|
||||
-- [[⠀⠀⢸⡇⠸⣿⣷⠀⢳⡈⢿⣦⣀⣀⣀⣠⣴⣾⠟⠁⠀⠀⠀⠀⢀⡎]],
|
||||
-- [[⠀⠀⠘⣷⠀⢻⣿⣧⠀⠙⠢⠌⢉⣛⠛⠋⠉⠀⠀⠀⠀⠀⠀⣠⠎⠀]],
|
||||
-- [[⠀⠀⠀⠹⣧⡀⠻⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡾⠃⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠈⠻⣤⡈⠻⢿⣿⣷⣦⣤⣤⣤⣤⣤⣴⡾⠛⠉⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠈⠙⠶⢤⣈⣉⠛⠛⠛⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- [[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||
-- }
|
||||
|
||||
return M
|
@ -1,174 +0,0 @@
|
||||
-- [[ Highlight on yank ]]
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
callback = function()
|
||||
vim.highlight.on_yank({ timeout = 100 })
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("YankHighlight", { clear = true }),
|
||||
pattern = "*",
|
||||
})
|
||||
|
||||
-- [[ Disable Autocommenting on new lines ]]
|
||||
vim.api.nvim_create_autocmd("BufEnter", {
|
||||
callback = function()
|
||||
vim.opt.formatoptions:remove({ "c", "r", "o" })
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("DisableAutocommenting", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Update file on Focus ]]
|
||||
vim.api.nvim_create_autocmd("FocusGained", {
|
||||
callback = function()
|
||||
vim.cmd("checktime")
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("UpdateOnFocus", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Open lf when it's a Directory ]]
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
callback = function(data)
|
||||
local directory = vim.fn.isdirectory(data.file) == 1
|
||||
if directory then
|
||||
require("lf").start()
|
||||
end
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("lf_ifDirectory", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Remove trailing whitespaces ]]
|
||||
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
pattern = { "*" },
|
||||
callback = function()
|
||||
local save_cursor = vim.fn.getpos(".")
|
||||
vim.cmd([[%s/\s\+$//e]])
|
||||
vim.cmd([[%s/\n\+\%$//e]])
|
||||
vim.fn.setpos(".", save_cursor)
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("RemoveTrailingWhitespaces", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Restore last cursor position ]]
|
||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
local line = vim.fn.line "'\""
|
||||
if
|
||||
line > 1
|
||||
and line <= vim.fn.line "$"
|
||||
and vim.bo.filetype ~= "commit"
|
||||
and vim.fn.index({ "xxd", "gitrebase" }, vim.bo.filetype) == -1
|
||||
then
|
||||
vim.cmd 'normal! g`"zz'
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- [[ Reload xresources on write ]]
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
pattern = vim.fn.resolve(vim.fn.expand("~/.config/x11/xresources")),
|
||||
callback = function()
|
||||
-- cmd([[!xrdb % ; killall -USR1 st ; renew-dwm ; notify-send " - xresources reloaded"]])
|
||||
vim.cmd([[!xrdb % ; killall -USR1 st ; renew-dwm]])
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("ReloadXresources", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Restore cursor shape on exit]]
|
||||
vim.api.nvim_create_autocmd({ "VimLeave" }, {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
vim.cmd("set guicursor=a:hor20-blinkon500-blinkoff500-blinkwait700")
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("RestoreCursor", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Recompile suckless software on write and show notification ]]
|
||||
local function recompile(path)
|
||||
vim.api.nvim_create_augroup("RecompileGroup_" .. path, { clear = true })
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
pattern = vim.fn.resolve(vim.fn.expand(path)),
|
||||
callback = function()
|
||||
local dir = vim.fn.fnamemodify(path, ":h")
|
||||
local shell_cmd = string.format("cd %s && sudo make install && renew-dwm && notify-send ' refresh complete'", dir)
|
||||
vim.cmd("!" .. shell_cmd)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
recompile("~/.config/suckless/dwm/config.h")
|
||||
recompile("~/.config/suckless/dmenu/config.h")
|
||||
recompile("~/.config/suckless/st/config.h")
|
||||
recompile("~/.config/suckless/dwmblocks/config.h")
|
||||
recompile("~/.config/suckless/slock/config.h")
|
||||
|
||||
--[[ Close nvim if toggleterm or Outline is the last buffer ]]
|
||||
vim.api.nvim_create_autocmd({ "BufEnter" }, {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
if
|
||||
vim.fn.tabpagenr("$") == 1
|
||||
and vim.fn.winnr("$") == 1
|
||||
and (vim.bo.ft == "toggleterm" or vim.bo.ft == "Outline")
|
||||
then
|
||||
vim.cmd("bd! | q")
|
||||
end
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("CloseLast", { clear = true }),
|
||||
})
|
||||
|
||||
vim.cmd([[
|
||||
command -bar -nargs=? -complete=help HelpCurwin call HelpCurwin(<q-args>)
|
||||
|
||||
let g:did_open_help = v:false
|
||||
|
||||
function! HelpCurwin(subject) abort
|
||||
let mods = 'silent noautocmd keepalt'
|
||||
if !g:did_open_help
|
||||
execute mods .. ' help'
|
||||
execute mods .. ' helpclose'
|
||||
let g:did_open_help = v:true
|
||||
endif
|
||||
if !empty(getcompletion(a:subject, 'help'))
|
||||
execute mods .. ' edit ' .. &helpfile
|
||||
set buftype=help
|
||||
endif
|
||||
return 'help ' .. a:subject
|
||||
endfunction
|
||||
]])
|
||||
|
||||
-- Function to check if the buffer is empty
|
||||
local function is_buffer_empty(buf)
|
||||
local line_count = vim.api.nvim_buf_line_count(buf)
|
||||
if line_count > 1 then
|
||||
return false
|
||||
end
|
||||
local lines = vim.api.nvim_buf_get_lines(buf, 0, -1, false)
|
||||
return lines[1] == ''
|
||||
end
|
||||
|
||||
-- Function to close all empty buffers if the current buffer is 'help'
|
||||
local function close_empty_buffers_if_help()
|
||||
local current_buf = vim.api.nvim_get_current_buf()
|
||||
if vim.bo.ft == 'help' then
|
||||
local buffers = vim.api.nvim_list_bufs()
|
||||
for _, buf in ipairs(buffers) do
|
||||
if buf ~= current_buf and vim.api.nvim_buf_is_valid(buf) and vim.api.nvim_buf_is_loaded(buf) and is_buffer_empty(buf) then
|
||||
vim.api.nvim_buf_delete(buf, { force = true })
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd('BufWinEnter', {
|
||||
callback = close_empty_buffers_if_help,
|
||||
group = vim.api.nvim_create_augroup("help_in_fullscreen", { clear = true }),
|
||||
})
|
||||
|
||||
-- [[ Autosave ]]
|
||||
-- vim.api.nvim_create_autocmd({ "FocusLost", "BufLeave", "BufWinLeave", "InsertLeave" }, {
|
||||
-- callback = function()
|
||||
-- if vim.bo.filetype ~= "" and vim.bo.buftype == "" then
|
||||
-- vim.cmd("silent! w")
|
||||
-- end
|
||||
-- end,
|
||||
-- group = vim.api.nvim_create_augroup("AutoSave", { clear = true }),
|
||||
-- })
|
@ -1,65 +0,0 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable",
|
||||
lazypath,
|
||||
})
|
||||
end ---@diagnostic disable-next-line: undefined-field
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup(
|
||||
{
|
||||
spec = "plugins",
|
||||
defaults = {
|
||||
lazy = true,
|
||||
},
|
||||
change_detection = {
|
||||
notify = false,
|
||||
},
|
||||
ui = {
|
||||
border = "rounded",
|
||||
},
|
||||
performance = {
|
||||
cache = {
|
||||
enabled = true,
|
||||
},
|
||||
reset_packpath = true,
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"2html_plugin",
|
||||
"tohtml",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"gzip",
|
||||
"logipat",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"matchit",
|
||||
"matchparen",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tutor",
|
||||
"rplugin",
|
||||
"syntax",
|
||||
"synmenu",
|
||||
"optwin",
|
||||
"compiler",
|
||||
"bugreport",
|
||||
"ftplugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
@ -1,72 +0,0 @@
|
||||
-- Does not contain plugin specific keybinds
|
||||
vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||
vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||
vim.keymap.set("n", "<leader>s", ":%s/<C-r><C-w>//gI<Left><Left><Left>")
|
||||
vim.keymap.set("n", "<C-h>", "<C-w>h")
|
||||
vim.keymap.set("n", "<C-j>", "<C-w>j")
|
||||
vim.keymap.set("n", "<C-k>", "<C-w>k")
|
||||
vim.keymap.set("n", "<C-l>", "<C-w>l")
|
||||
vim.keymap.set("n", "<C-Left>", ":vertical resize -2<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-Right>", ":vertical resize +2<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-Up>", ":resize +2<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-Down>", ":resize -2<CR>", { silent = true })
|
||||
vim.keymap.set("n", "J", "mzJ`z")
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
vim.keymap.set("n", "n", "nzzzv")
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
vim.keymap.set("n", "<leader>cx", "<cmd>!chmod +x %<CR>", { desc = "chmod +x" })
|
||||
vim.keymap.set("n", "<leader>cp", ':!compiler "%:p"<CR>', { desc = "run (C)om[P]iler script" })
|
||||
vim.keymap.set("n", "<leader>sa", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], { desc = "Replace All" })
|
||||
vim.keymap.set("n", "<leader>y", "<cmd>%yank<CR>", { desc = "Yank buffer" })
|
||||
vim.keymap.set("n", "<A-;>", "<Esc>miA;<Esc>`i")
|
||||
vim.keymap.set("n", "<leader>q", ":lua vim.diagnostic.open_float()<CR>", { noremap = true, silent = true })
|
||||
vim.keymap.set("n", "<A-w>", ":bd<CR>", { silent = true })
|
||||
vim.keymap.set("n", "[b", "<cmd>bprevious<cr>", { desc = "Prev Buffer" })
|
||||
vim.keymap.set("n", "]b", "<cmd>bnext<cr>", { desc = "Next Buffer" })
|
||||
vim.keymap.set("n", "<A-v>", ":vsplit<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<A-h>", ":split<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<C-s>", ":w<CR>")
|
||||
vim.keymap.set('n', "gl", ':lua vim.diagnostic.open_float()<cr>')
|
||||
vim.keymap.set("n", "<leader>cg", ":setlocal spell! spelllang=en_us<CR>", { desc = "Spellcheck", silent = true })
|
||||
vim.keymap.set("n", "gco", "o<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Below" })
|
||||
vim.keymap.set("n", "gcO", "O<esc>Vcx<esc><cmd>normal gcc<cr>fxa<bs>", { desc = "Add Comment Above" })
|
||||
|
||||
vim.keymap.set("x", "p", 'p:let @+=@0<CR>:let @"=@0<CR>', { silent = true })
|
||||
vim.keymap.set("x", "K", ":m '<-2<cr>gv=gv")
|
||||
vim.keymap.set("x", "J", ":m '>+1<cr>gv=gv")
|
||||
vim.keymap.set("x", "<leader>h", [["ay:!dmenuhandler '<C-r>a'<cr>]])
|
||||
|
||||
vim.keymap.set("v", "<", "<gv^")
|
||||
vim.keymap.set("v", ">", ">gv^")
|
||||
|
||||
vim.keymap.set("i", "<C-u>", "<Esc>viwUea")
|
||||
vim.keymap.set("i", "<C-t>", "<Esc>b~lea")
|
||||
vim.keymap.set("i", "<C-;>", "<Esc>miA;<Esc>`ii")
|
||||
vim.keymap.set("i", "<A-j>", "<Esc>:m .+1<CR>==gi")
|
||||
vim.keymap.set("i", "<A-k>", "<Esc>:m .-2<CR>==gi")
|
||||
vim.keymap.set("i", "<A-Up>", "<C-\\><C-N><C-w>k")
|
||||
vim.keymap.set("i", "<A-Down>", "<C-\\><C-N><C-w>j")
|
||||
vim.keymap.set("i", "<A-Left>", "<C-\\><C-N><C-w>h")
|
||||
vim.keymap.set("i", "<A-Right>", "<C-\\><C-N><C-w>l")
|
||||
|
||||
vim.keymap.set("t", "<C-h>", "<C-\\><C-N><C-w>h")
|
||||
vim.keymap.set("t", "<C-j>", "<C-\\><C-N><C-w>j")
|
||||
vim.keymap.set("t", "<C-k>", "<C-\\><C-N><C-w>k")
|
||||
vim.keymap.set("t", "<C-l>", "<C-\\><C-N><C-w>l")
|
||||
|
||||
vim.keymap.set("c", "<space>",
|
||||
function()
|
||||
local mode = vim.fn.getcmdtype()
|
||||
if mode == "?" or mode == "/" then
|
||||
return ".*"
|
||||
else
|
||||
return " "
|
||||
end
|
||||
end,
|
||||
{ expr = true }
|
||||
)
|
||||
|
||||
vim.keymap.set({ "x", "v", "n" }, ";", ":", { nowait = true })
|
||||
vim.keymap.set({ "x", "v", "n" }, "<A-j>", ":m .+1<cr>==")
|
||||
vim.keymap.set({ "x", "v", "n" }, "<A-k>", ":m .-2<cr>==")
|
@ -1,84 +0,0 @@
|
||||
-- colorscheme
|
||||
-- vim.cmd.colorscheme("default")
|
||||
-- vim.opt.background = "light"
|
||||
|
||||
-- indentation
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.expandtab = true
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.breakindent = true
|
||||
vim.opt.autoindent = true
|
||||
vim.opt.smarttab = true
|
||||
|
||||
-- search and replace
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.gdefault = true
|
||||
vim.opt.showmatch = true
|
||||
vim.opt.grepformat = "%f:%l:%c:%m"
|
||||
vim.opt.grepprg = "rg --vimgrep"
|
||||
vim.opt.inccommand = "split"
|
||||
|
||||
-- user interface
|
||||
-- vim.opt.fillchars = { eob = " " }
|
||||
vim.opt.laststatus = 3
|
||||
vim.opt.number = true
|
||||
vim.opt.numberwidth = 2
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.ruler = false
|
||||
vim.opt.wrap = true
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.sidescrolloff = 8
|
||||
vim.opt.signcolumn = "yes"
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.cursorlineopt = "number"
|
||||
vim.opt.conceallevel = 2
|
||||
vim.opt.list = false
|
||||
vim.opt.showmode = false
|
||||
-- vim.opt.colorcolumn = "80"
|
||||
vim.opt.winminwidth = 5
|
||||
|
||||
-- editing
|
||||
vim.opt.completeopt = { "menu", "menuone", "noselect" }
|
||||
vim.opt.updatetime = 250
|
||||
vim.opt.timeoutlen = 300
|
||||
vim.opt.undofile = true
|
||||
vim.opt.autowrite = true
|
||||
vim.opt.mouse = "a"
|
||||
vim.opt.whichwrap:append("<>,[,],h,l")
|
||||
vim.opt.iskeyword:append("-")
|
||||
|
||||
-- window management
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- clipboard
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
-- auto change dir
|
||||
vim.opt.autochdir = true
|
||||
|
||||
-- fold options
|
||||
vim.opt.foldlevel = 99
|
||||
vim.opt.foldlevelstart = 99
|
||||
vim.opt.foldenable = true
|
||||
vim.opt.shortmess = "aoOFCWstTAIcCqFS"
|
||||
|
||||
-- gui options
|
||||
vim.opt.guifont = "JetBrainsMono NF:h9"
|
||||
|
||||
-- neovide ui
|
||||
vim.g.neovide_padding_top = 5
|
||||
vim.g.neovide_padding_bottom = 0
|
||||
vim.g.neovide_padding_right = 10
|
||||
vim.g.neovide_padding_left = 10
|
||||
|
||||
vim.opt.virtualedit = "block"
|
||||
vim.opt.smoothscroll = true
|
||||
vim.opt.pumblend = 10 -- Popup blend
|
||||
vim.opt.pumheight = 10 -- Maximum number of entries in a popup
|
@ -1,156 +0,0 @@
|
||||
return { -- colorscheme
|
||||
-- {
|
||||
-- "catppuccin/nvim",
|
||||
-- name = "catppuccin",
|
||||
-- priority = 1000,
|
||||
-- lazy = false,
|
||||
-- config = function()
|
||||
-- require("catppuccin").setup({
|
||||
-- flavour = "mocha", -- latte, frappe, macchiato, mocha
|
||||
-- })
|
||||
-- vim.cmd.colorscheme("catppuccin")
|
||||
-- local hl = vim.api.nvim_set_hl
|
||||
-- hl(0, "DiagnosticVirtualTextError", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" })
|
||||
-- end
|
||||
-- },
|
||||
-- {
|
||||
-- 'AlexvZyl/nordic.nvim',
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- config = function()
|
||||
-- require 'nordic'.load()
|
||||
-- -- vim.cmd.colorscheme("nordic")
|
||||
-- local hl = vim.api.nvim_set_hl
|
||||
-- hl(0, "DiagnosticVirtualTextError", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" })
|
||||
-- end
|
||||
-- },
|
||||
-- {
|
||||
-- 'comfysage/evergarden',
|
||||
-- priority = 1000, -- Colorscheme plugin is loaded first before any other plugins
|
||||
-- lazy = false,
|
||||
-- config = function()
|
||||
-- require("evergarden").setup({
|
||||
-- transparent_background = true,
|
||||
-- contrast_dark = 'medium', -- 'hard'|'medium'|'soft'
|
||||
-- })
|
||||
-- -- vim.cmd.colorscheme("evergarden")
|
||||
-- local hl = vim.api.nvim_set_hl
|
||||
-- hl(0, "DiagnosticVirtualTextError", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" })
|
||||
-- end
|
||||
-- },
|
||||
-- {
|
||||
-- "rose-pine/neovim",
|
||||
-- name = "rose-pine",
|
||||
-- priority = 1000,
|
||||
-- lazy = false,
|
||||
-- config = function()
|
||||
-- require("rose-pine").setup({
|
||||
-- variant = "moon",
|
||||
-- dim_inactive_windows = true,
|
||||
-- groups = {
|
||||
-- error = "subtle",
|
||||
-- warn = "subtle",
|
||||
-- info = "subtle",
|
||||
-- hint = "subtle",
|
||||
-- }
|
||||
-- })
|
||||
-- -- vim.cmd.colorscheme("rose-pine")
|
||||
-- end
|
||||
-- },
|
||||
-- {
|
||||
-- "tiagovla/tokyodark.nvim",
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- config = function()
|
||||
-- require("tokyodark").setup({
|
||||
-- transparent_background = false, -- set background to transparent
|
||||
-- gamma = 1.00, -- adjust the brightness of the theme
|
||||
-- styles = {
|
||||
-- comments = { italic = true }, -- style for comments
|
||||
-- keywords = { italic = true }, -- style for keywords
|
||||
-- identifiers = { italic = true }, -- style for identifiers
|
||||
-- functions = {}, -- style for functions
|
||||
-- variables = {}, -- style for variables
|
||||
-- },
|
||||
-- custom_highlights = {} or function(highlights, palette) return {} end, -- extend highlights
|
||||
-- custom_palette = {} or function(palette) return {} end, -- extend palette
|
||||
-- terminal_colors = true, -- enable terminal colors
|
||||
-- })
|
||||
-- -- vim.cmd.colorscheme("tokyodark")
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- "nyoom-engineering/oxocarbon.nvim",
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- config = function()
|
||||
-- -- vim.cmd.colorscheme("oxocarbon")
|
||||
-- local hl = vim.api.nvim_set_hl
|
||||
-- hl(0, "DiagnosticVirtualTextError", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticVirtualTextHint", { link = "Comment" })
|
||||
-- hl(0, "DiagnosticUnderlineError", { underline = true, sp = "#858694" })
|
||||
-- hl(0, "DiagnosticUnderlineWarn", { underline = true, sp = "#858694" })
|
||||
-- hl(0, "DiagnosticUnderlineInfo", { underline = true, sp = "#858694" })
|
||||
-- hl(0, "DiagnosticUnderlineHint", { underline = true, sp = "#858694" })
|
||||
-- end,
|
||||
-- },
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("tokyonight").setup({
|
||||
transparent = true, -- Enable this to disable setting the background color
|
||||
styles = {
|
||||
sidebars = "dark",
|
||||
floats = "dark",
|
||||
},
|
||||
sidebars = { "qf", "help", "Outline" },
|
||||
-- on_colors = function(colors)
|
||||
-- colors.bg = "#16161E"
|
||||
-- colors.bg_dark = "#0d0d12"
|
||||
-- end,
|
||||
on_highlights = function(hl, colors)
|
||||
hl.DiagnosticVirtualTextError = {
|
||||
fg = colors.comment
|
||||
}
|
||||
hl.DiagnosticVirtualTextHint = {
|
||||
fg = colors.comment
|
||||
}
|
||||
hl.DiagnosticVirtualTextInfo = {
|
||||
fg = colors.comment
|
||||
}
|
||||
hl.DiagnosticVirtualTextWarn = {
|
||||
fg = colors.comment
|
||||
}
|
||||
-- hl.DiagnosticSignError = {
|
||||
-- fg = colors.comment
|
||||
-- }
|
||||
-- hl.DiagnosticSignHint = {
|
||||
-- fg = colors.comment
|
||||
-- }
|
||||
-- hl.DiagnosticSignInfo = {
|
||||
-- fg = colors.comment
|
||||
-- }
|
||||
-- hl.DiagnosticSignWarn = {
|
||||
-- fg = colors.comment
|
||||
-- }
|
||||
end,
|
||||
})
|
||||
vim.cmd.colorscheme("tokyonight")
|
||||
-- vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||
-- vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
end,
|
||||
},
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
return {
|
||||
-- dap + dependencies
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
dependencies = {
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
dependencies = { "nvim-neotest/nvim-nio" },
|
||||
--stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>du", function() require("dapui").toggle({}) end, desc = "Dap UI" },
|
||||
{ "<leader>de", function() require("dapui").eval() end, desc = "Eval", mode = { "n", "v" } },
|
||||
},
|
||||
opts = {},
|
||||
config = function(_, opts)
|
||||
require("dapui").setup(opts)
|
||||
require("dap").listeners.after.event_initialized["dapui_config"] = function()
|
||||
require("dapui").open({})
|
||||
end
|
||||
require("dap").listeners.before.event_terminated["dapui_config"] = function()
|
||||
require("dapui").close({})
|
||||
end
|
||||
require("dap").listeners.before.event_exited["dapui_config"] = function()
|
||||
require("dapui").close({})
|
||||
end
|
||||
end,
|
||||
},
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
dependencies = "mason.nvim",
|
||||
cmd = { "DapInstall", "DapUninstall" },
|
||||
opts = {
|
||||
automatic_installation = true,
|
||||
handlers = {},
|
||||
ensure_installed = {
|
||||
"bash-debug-adapter",
|
||||
"codelldb",
|
||||
"debugpy",
|
||||
"go-debug-adapter",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
--stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
|
||||
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
|
||||
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },
|
||||
{ "<leader>da", function() require("dap").continue({ before = get_args }) end, desc = "Run with Args" },
|
||||
{ "<leader>dC", function() require("dap").run_to_cursor() end, desc = "Run to Cursor" },
|
||||
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to Line (No Execute)" },
|
||||
{ "<leader>di", function() require("dap").step_into() end, desc = "Step Into" },
|
||||
{ "<leader>dj", function() require("dap").down() end, desc = "Down" },
|
||||
{ "<leader>dk", function() require("dap").up() end, desc = "Up" },
|
||||
{ "<leader>dl", function() require("dap").run_last() end, desc = "Run Last" },
|
||||
{ "<leader>do", function() require("dap").step_out() end, desc = "Step Out" },
|
||||
{ "<leader>dO", function() require("dap").step_over() end, desc = "Step Over" },
|
||||
{ "<leader>dp", function() require("dap").pause() end, desc = "Pause" },
|
||||
{ "<leader>dr", function() require("dap").repl.toggle() end, desc = "Toggle REPL" },
|
||||
{ "<leader>ds", function() require("dap").session() end, desc = "Session" },
|
||||
{ "<leader>dt", function() require("dap").terminate() end, desc = "Terminate" },
|
||||
{ "<leader>dw", function() require("dap.ui.widgets").hover() end, desc = "Widgets" },
|
||||
},
|
||||
}
|
||||
}
|
@ -1,117 +0,0 @@
|
||||
return {
|
||||
-- markdown
|
||||
{
|
||||
"OXY2DEV/markview.nvim",
|
||||
enabled = false,
|
||||
ft = { "markdown" },
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"nvim-tree/nvim-web-devicons"
|
||||
},
|
||||
-- opts = {
|
||||
-- headings = {
|
||||
-- enable = true,
|
||||
-- shift_width = 4,
|
||||
-- heading_1 = {
|
||||
-- style = "label",
|
||||
-- },
|
||||
-- heading_2 = {
|
||||
-- style = "label",
|
||||
-- },
|
||||
-- heading_3 = {
|
||||
-- style = "label",
|
||||
-- },
|
||||
-- heading_4 = {
|
||||
-- style = "label",
|
||||
-- },
|
||||
-- heading_5 = {
|
||||
-- style = "label",
|
||||
-- },
|
||||
-- heading_6 = {
|
||||
-- style = "label",
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
},
|
||||
{
|
||||
"ixru/nvim-markdown",
|
||||
ft = { "markdown" },
|
||||
},
|
||||
|
||||
-- glow preview
|
||||
{
|
||||
"0x00-ketsu/markdown-preview.nvim",
|
||||
keys = {
|
||||
{ "<leader>cm", "<cmd>lua require('markdown-preview')<cr><cmd>MPToggle<cr>", desc = "[M]arkdown preview" },
|
||||
},
|
||||
opts = {},
|
||||
},
|
||||
|
||||
-- qalc
|
||||
{
|
||||
"iffse/qalculate.vim",
|
||||
event = "BufEnter *.qalc",
|
||||
},
|
||||
-- {
|
||||
-- "grueslayer/qalc.nvim",
|
||||
-- branch = "scratch_buffer",
|
||||
-- event = "BufEnter *.qalc",
|
||||
-- cmd = { "QalcAttach", "QalcYank" },
|
||||
-- dependencies = {
|
||||
-- "iffse/qalculate.vim"
|
||||
-- },
|
||||
-- keys = {
|
||||
-- { "<leader>cqa", "<cmd>QalcAttach<CR>", desc = "Attach Calculator" },
|
||||
-- { "<leader>cqy", "<cmd>QalcYank<CR>", desc = "Yank Result" },
|
||||
-- },
|
||||
-- opts = {
|
||||
-- bufname = '', -- string
|
||||
-- set_ft = 'qalculate', -- string
|
||||
-- attach_extension = '*.qalc', -- string
|
||||
-- sign = ' ==> ', -- string
|
||||
-- show_sign = true, -- boolean
|
||||
-- right_align = true, -- boolean
|
||||
-- highlights = {
|
||||
-- sign = '@comment', -- sign before result
|
||||
-- result = '@string', -- result in virtual text
|
||||
-- },
|
||||
-- diagnostics = { -- table
|
||||
-- underline = false,
|
||||
-- virtual_text = false,
|
||||
-- signs = true,
|
||||
-- update_in_insert = true,
|
||||
-- severity_sort = true,
|
||||
-- }
|
||||
-- }
|
||||
-- },
|
||||
|
||||
-- vimtex + snippets
|
||||
{
|
||||
"lervag/vimtex",
|
||||
ft = "tex",
|
||||
dependencies = {
|
||||
{
|
||||
"iurimateus/luasnip-latex-snippets.nvim",
|
||||
dependencies = "L3MON4D3/LuaSnip",
|
||||
config = function()
|
||||
require("luasnip-latex-snippets").setup()
|
||||
-- or setup({ use_treesitter = true })
|
||||
require("luasnip").config.setup({ enable_autosnippets = true })
|
||||
end,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>cc", "<cmd>VimtexCompile<cr>", desc = "[C]ompile latex" },
|
||||
{ "<leader>co", "<cmd>VimtexCompileOutput<cr>", desc = "Show latex compiler output" },
|
||||
},
|
||||
config = function()
|
||||
vim.g.vimtex_view_general_viewer = "zathura"
|
||||
-- vim.g.vimtex_view_general_options = [[--unique file:@pdf\#src:@line@tex]]
|
||||
-- vim.g.vimtex_quickfix_enabled = 1
|
||||
vim.g.vimtex_syntax_enabled = 1
|
||||
vim.g.vimtex_quickfix_mode = 0
|
||||
vim.g.vimtex_compiler_method = "tectonic"
|
||||
-- vim.cmd("call vimtex#init()")
|
||||
end,
|
||||
}
|
||||
}
|
@ -1,590 +0,0 @@
|
||||
return {
|
||||
-- project management
|
||||
{
|
||||
"ahmedkhalf/project.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<A-p>",
|
||||
function()
|
||||
local contents = require("project_nvim").get_recent_projects()
|
||||
local reverse = {}
|
||||
for i = #contents, 1, -1 do
|
||||
reverse[#reverse + 1] = contents[i]
|
||||
end
|
||||
require("fzf-lua").fzf_exec(reverse, {
|
||||
actions = {
|
||||
["default"] = function(e)
|
||||
-- vim.cmd.cd(e[1])
|
||||
require("fzf-lua").files({ cwd = e[1] })
|
||||
end,
|
||||
["ctrl-d"] = function(x)
|
||||
local choice = vim.fn.confirm("Delete '" .. #x .. "' projects? ", "&Yes\n&No", 2)
|
||||
if choice == 1 then
|
||||
local history = require("project_nvim.utils.history")
|
||||
for _, v in ipairs(x) do
|
||||
history.delete_project(v)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
winopts = {
|
||||
height = 0.3,
|
||||
width = 0.5,
|
||||
},
|
||||
})
|
||||
end,
|
||||
desc = "Projects"
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("project_nvim").setup {
|
||||
patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json", "tex" },
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- harpoon
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
keys = {
|
||||
{ "<leader>a", function() require("harpoon"):list():add() end, desc = "Add to harpoon" },
|
||||
{ "<leader>h", function() require("harpoon").ui:toggle_quick_menu(require("harpoon"):list()) end, desc = "harpoon ui" },
|
||||
{ "<leader>1", function() require("harpoon"):list():select(1) end, desc = "Harpoon Select 1" },
|
||||
{ "<leader>2", function() require("harpoon"):list():select(2) end, desc = "Harpoon Select 2" },
|
||||
{ "<leader>3", function() require("harpoon"):list():select(3) end, desc = "Harpoon Select 3" },
|
||||
{ "<leader>4", function() require("harpoon"):list():select(4) end, desc = "Harpoon Select 4" },
|
||||
{ "<leader>5", function() require("harpoon"):list():select(5) end, desc = "Harpoon Select 5" },
|
||||
{ "<leader>6", function() require("harpoon"):list():select(6) end, desc = "Harpoon Select 6" },
|
||||
{ "<leader>7", function() require("harpoon"):list():select(7) end, desc = "Harpoon Select 7" },
|
||||
{ "<leader>8", function() require("harpoon"):list():select(8) end, desc = "Harpoon Select 8" },
|
||||
{ "<leader>9", function() require("harpoon"):list():select(9) end, desc = "Harpoon Select 9" },
|
||||
},
|
||||
config = function()
|
||||
require("harpoon"):setup()
|
||||
end
|
||||
},
|
||||
|
||||
-- todo-comments
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
cmd = { "TodoTrouble" },
|
||||
event = "VeryLazy",
|
||||
config = true,
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next Todo Comment" },
|
||||
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous Todo Comment" },
|
||||
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo (Trouble)" },
|
||||
{ "<leader>xT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
|
||||
-- { "<leader>st", "<cmd>TodoTelescope<cr>", desc = "Todo" },
|
||||
-- { "<leader>sT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme" },
|
||||
},
|
||||
},
|
||||
|
||||
-- trouble
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
cmd = { "TroubleToggle", "Trouble" },
|
||||
opts = { use_diagnostic_signs = true },
|
||||
keys = {
|
||||
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
|
||||
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
|
||||
{ "<leader>xs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)" },
|
||||
{ "<leader>xS", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", desc = "LSP references/definitions/... (Trouble)", },
|
||||
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
|
||||
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
|
||||
{
|
||||
"[q",
|
||||
function()
|
||||
if require("trouble").is_open() then
|
||||
require("trouble").previous({ skip_groups = true, jump = true })
|
||||
else
|
||||
local ok, err = pcall(vim.cmd.cprev)
|
||||
if not ok then
|
||||
vim.notify(err, vim.log.levels.ERROR)
|
||||
end
|
||||
end
|
||||
end,
|
||||
desc = "Previous Trouble/Quickfix Item",
|
||||
},
|
||||
{
|
||||
"]q",
|
||||
function()
|
||||
if require("trouble").is_open() then
|
||||
require("trouble").next({ skip_groups = true, jump = true })
|
||||
else
|
||||
local ok, err = pcall(vim.cmd.cnext)
|
||||
if not ok then
|
||||
vim.notify(err, vim.log.levels.ERROR)
|
||||
end
|
||||
end
|
||||
end,
|
||||
desc = "Next Trouble/Quickfix Item",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- spectre
|
||||
{
|
||||
"nvim-pack/nvim-spectre",
|
||||
build = false,
|
||||
cmd = "Spectre",
|
||||
opts = { open_cmd = "noswapfile vnew" },
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in Files (Spectre)" },
|
||||
},
|
||||
},
|
||||
|
||||
-- sessions
|
||||
{
|
||||
"folke/persistence.nvim",
|
||||
event = "BufReadPre",
|
||||
opts = { options = vim.opt.sessionoptions:get() },
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>qs", function() require("persistence").load() end, desc = "Restore Session" },
|
||||
{ "<leader>ql", function() require("persistence").load({ last = true }) end, desc = "Restore Last Session" },
|
||||
{ "<leader>qd", function() require("persistence").stop() end, desc = "Don't Save Current Session" },
|
||||
},
|
||||
},
|
||||
|
||||
-- illuminate
|
||||
{
|
||||
"RRethy/vim-illuminate",
|
||||
enabled = true,
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
delay = 200,
|
||||
large_file_cutoff = 2000,
|
||||
large_file_overrides = {
|
||||
providers = { "lsp" },
|
||||
},
|
||||
filetypes_denylist = {
|
||||
"alpha",
|
||||
"help",
|
||||
"lazy",
|
||||
"mason",
|
||||
"outline",
|
||||
"toggleterm",
|
||||
"fzf",
|
||||
"lspinfo",
|
||||
"null-ls-info",
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("illuminate").configure(opts)
|
||||
|
||||
local function map(key, dir, buffer)
|
||||
vim.keymap.set("n", key, function()
|
||||
require("illuminate")["goto_" .. dir .. "_reference"](false)
|
||||
end, { desc = dir:sub(1, 1):upper() .. dir:sub(2) .. " Reference", buffer = buffer })
|
||||
end
|
||||
|
||||
map("]]", "next")
|
||||
map("[[", "prev")
|
||||
|
||||
-- also set it after loading ftplugins, since a lot overwrite [[ and ]]
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
callback = function()
|
||||
local buffer = vim.api.nvim_get_current_buf()
|
||||
map("]]", "next", buffer)
|
||||
map("[[", "prev", buffer)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{ "]]", desc = "Next Reference" },
|
||||
{ "[[", desc = "Prev Reference" },
|
||||
},
|
||||
},
|
||||
|
||||
-- symbols sidebar
|
||||
{
|
||||
"hedyhli/outline.nvim",
|
||||
lazy = true,
|
||||
cmd = { "Outline", "OutlineOpen" },
|
||||
keys = {
|
||||
{ "<leader>cn", "<cmd>Outline<CR>", desc = "Toggle outline" },
|
||||
},
|
||||
opts = {
|
||||
outline_window = {
|
||||
focus_on_open = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- folds
|
||||
{
|
||||
"kevinhwang91/nvim-ufo",
|
||||
dependencies = "kevinhwang91/promise-async",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
},
|
||||
|
||||
-- comments
|
||||
{
|
||||
"numToStr/Comment.nvim",
|
||||
dependencies = {
|
||||
{ "nvim-treesitter/nvim-treesitter" },
|
||||
{
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
config = function()
|
||||
require("ts_context_commentstring").setup({
|
||||
enable_autocmd = false,
|
||||
})
|
||||
vim.g.skip_ts_context_commentstring_module = true
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("Comment").setup({
|
||||
pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(),
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{ "gcc", mode = "n", desc = "Comment toggle current line" },
|
||||
{ "gc", mode = { "n", "o" }, desc = "Comment toggle linewise" },
|
||||
{ "gc", mode = "x", desc = "Comment toggle linewise (visual)" },
|
||||
{ "gbc", mode = "n", desc = "Comment toggle current block" },
|
||||
{ "gb", mode = { "n", "o" }, desc = "Comment toggle blockwise" },
|
||||
{ "gb", mode = "x", desc = "Comment toggle blockwise (visual)" },
|
||||
},
|
||||
},
|
||||
|
||||
-- surround
|
||||
{
|
||||
"echasnovski/mini.surround",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
mappings = {
|
||||
add = "gza", -- Add surrounding in Normal and Visual modes
|
||||
delete = "gzd", -- Delete surrounding
|
||||
find = "gzf", -- Find surrounding (to the right)
|
||||
find_left = "gzF", -- Find surrounding (to the left)
|
||||
highlight = "gzh", -- Highlight surrounding
|
||||
replace = "gzr", -- Replace surrounding
|
||||
update_n_lines = "gzn", -- Update `n_lines`
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- whichkey
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = { "<leader>", "<space>", " ", "'", "`", "g", "c", "v", "z", "[", "]", "<M>" },
|
||||
cmd = "WhichKey",
|
||||
opts = {},
|
||||
},
|
||||
|
||||
-- autopairs
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
enabled = false,
|
||||
event = "InsertEnter",
|
||||
opts = {
|
||||
ignored_next_char = "[%w%.]",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"echasnovski/mini.pairs",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
modes = { insert = true, command = true, terminal = false },
|
||||
-- skip autopair when next character is one of these
|
||||
skip_next = [=[[%w%%%'%[%"%.%`%$]]=],
|
||||
-- skip autopair when the cursor is inside these treesitter nodes
|
||||
skip_ts = { "string" },
|
||||
-- skip autopair when next character is closing pair
|
||||
-- and there are more closing pairs than opening pairs
|
||||
skip_unbalanced = true,
|
||||
-- better deal with markdown code blocks
|
||||
markdown = true,
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>up",
|
||||
function() vim.g.minipairs_disable = not vim.g.minipairs_disable end,
|
||||
desc = "Toggle Auto Pairs",
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
-- leap
|
||||
{
|
||||
"ggandor/leap.nvim",
|
||||
enabled = true,
|
||||
dependencies = {
|
||||
{
|
||||
"ggandor/flit.nvim",
|
||||
enabled = true,
|
||||
keys = function()
|
||||
local ret = {}
|
||||
for _, key in ipairs({ "f", "F", "t", "T" }) do
|
||||
ret[#ret + 1] = { key, mode = { "n", "x", "o" }, desc = key }
|
||||
end
|
||||
return ret
|
||||
end,
|
||||
opts = { labeled_modes = "nx" },
|
||||
},
|
||||
{ "tpope/vim-repeat" },
|
||||
},
|
||||
keys = {
|
||||
{ "s", mode = { "n", "x", "o" }, desc = "Leap Forward to" },
|
||||
{ "S", mode = { "n", "x", "o" }, desc = "Leap Backward to" },
|
||||
{ "gs", mode = { "n", "x", "o" }, desc = "Leap from Windows" },
|
||||
},
|
||||
config = function(_, opts)
|
||||
local leap = require("leap")
|
||||
for k, v in pairs(opts) do
|
||||
leap.opts[k] = v
|
||||
end
|
||||
leap.add_default_mappings(true)
|
||||
vim.keymap.del({ "x", "o" }, "x")
|
||||
vim.keymap.del({ "x", "o" }, "X")
|
||||
vim.api.nvim_set_hl(0, "LeapBackdrop", { link = "Comment" })
|
||||
vim.api.nvim_set_hl(0, "LeapMatch", { fg = "white", bold = true, nocombine = true })
|
||||
vim.api.nvim_set_hl(0, "LeapLabelPrimary", { fg = "#f02077", bold = true, nocombine = true })
|
||||
vim.api.nvim_set_hl(0, "LeapLabelSecondary", { fg = "#99ddff", bold = true, nocombine = true })
|
||||
|
||||
local api = vim.api
|
||||
local ts = vim.treesitter
|
||||
|
||||
local function get_ts_nodes()
|
||||
if not pcall(ts.get_parser) then return end
|
||||
local wininfo = vim.fn.getwininfo(api.nvim_get_current_win())[1]
|
||||
-- Get current node, and then its parent nodes recursively.
|
||||
local cur_node = ts.get_node()
|
||||
if not cur_node then return end
|
||||
local nodes = { cur_node }
|
||||
local parent = cur_node:parent()
|
||||
while parent do
|
||||
table.insert(nodes, parent)
|
||||
parent = parent:parent()
|
||||
end
|
||||
-- Create Leap targets from TS nodes.
|
||||
local targets = {}
|
||||
local startline, startcol
|
||||
for _, node in ipairs(nodes) do
|
||||
startline, startcol, endline, endcol = node:range() -- (0,0)
|
||||
local startpos = { startline + 1, startcol + 1 }
|
||||
local endpos = { endline + 1, endcol + 1 }
|
||||
-- Add both ends of the node.
|
||||
if startline + 1 >= wininfo.topline then
|
||||
table.insert(targets, { pos = startpos, altpos = endpos })
|
||||
end
|
||||
if endline + 1 <= wininfo.botline then
|
||||
table.insert(targets, { pos = endpos, altpos = startpos })
|
||||
end
|
||||
end
|
||||
if #targets >= 1 then return targets end
|
||||
end
|
||||
|
||||
local function select_node_range(target)
|
||||
local mode = api.nvim_get_mode().mode
|
||||
-- Force going back to Normal from Visual mode.
|
||||
if not mode:match('no?') then vim.cmd('normal! ' .. mode) end
|
||||
vim.fn.cursor(unpack(target.pos))
|
||||
local v = mode:match('V') and 'V' or mode:match('<EFBFBD>') and '<EFBFBD>' or 'v'
|
||||
vim.cmd('normal! ' .. v)
|
||||
vim.fn.cursor(unpack(target.altpos))
|
||||
end
|
||||
|
||||
local function leap_ts()
|
||||
require('leap').leap {
|
||||
target_windows = { api.nvim_get_current_win() },
|
||||
targets = get_ts_nodes,
|
||||
action = select_node_range,
|
||||
}
|
||||
end
|
||||
|
||||
vim.keymap.set({ 'x', 'o' }, '\\', leap_ts)
|
||||
end,
|
||||
},
|
||||
|
||||
-- colorizer
|
||||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
user_default_options = {
|
||||
css = true,
|
||||
RRGGBBAA = true,
|
||||
AARRGGBB = true,
|
||||
names = false,
|
||||
RGB = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- file manager
|
||||
{
|
||||
"lmburns/lf.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim", "akinsho/toggleterm.nvim" },
|
||||
opts = {
|
||||
winblend = 0,
|
||||
highlights = { NormalFloat = { guibg = "NONE" } },
|
||||
border = "rounded",
|
||||
escape_quit = true,
|
||||
},
|
||||
keys = {
|
||||
{ "<leader><space>", "<cmd>lua require('lf').start()<cr>", desc = "Lf file manager" },
|
||||
},
|
||||
},
|
||||
|
||||
-- gitsigns
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
init = function()
|
||||
-- load gitsigns only when a git file is opened
|
||||
vim.api.nvim_create_autocmd({ "BufRead" }, {
|
||||
group = vim.api.nvim_create_augroup("GitSignsLazyLoad", { clear = true }),
|
||||
callback = function()
|
||||
vim.fn.system("git -C " .. '"' .. vim.fn.expand("%:p:h") .. '"' .. " rev-parse")
|
||||
if vim.v.shell_error == 0 then
|
||||
vim.api.nvim_del_augroup_by_name("GitSignsLazyLoad")
|
||||
vim.schedule(function()
|
||||
require("lazy").load({ plugins = { "gitsigns.nvim" } })
|
||||
end)
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
opts = {
|
||||
signs = {
|
||||
add = { text = "▎" },
|
||||
change = { text = "▎" },
|
||||
delete = { text = "" },
|
||||
topdelete = { text = "" },
|
||||
changedelete = { text = "▎" },
|
||||
untracked = { text = "▎" },
|
||||
},
|
||||
on_attach = function(buffer)
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
local function map(mode, l, r, desc)
|
||||
vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc })
|
||||
end
|
||||
-- stylua: ignore start
|
||||
map("n", "]h", gs.next_hunk, "Next Hunk")
|
||||
map("n", "[h", gs.prev_hunk, "Prev Hunk")
|
||||
map({ "n", "v" }, "<leader>ghs", ":Gitsigns stage_hunk<CR>", "Stage Hunk")
|
||||
map({ "n", "v" }, "<leader>ghr", ":Gitsigns reset_hunk<CR>", "Reset Hunk")
|
||||
map("n", "<leader>ghS", gs.stage_buffer, "Stage Buffer")
|
||||
map("n", "<leader>ghu", gs.undo_stage_hunk, "Undo Stage Hunk")
|
||||
map("n", "<leader>ghR", gs.reset_buffer, "Reset Buffer")
|
||||
map("n", "<leader>ghp", gs.preview_hunk_inline, "Preview Hunk Inline")
|
||||
map("n", "<leader>ghb", function() gs.blame_line({ full = true }) end, "Blame Line")
|
||||
map("n", "<leader>ghd", gs.diffthis, "Diff This")
|
||||
map("n", "<leader>ghD", function() gs.diffthis("~") end, "Diff This ~")
|
||||
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", "GitSigns Select Hunk")
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
-- undotree sidebar
|
||||
{
|
||||
"jiaoshijie/undotree",
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
config = true,
|
||||
keys = { -- load the plugin only when using it's keybinding:
|
||||
{ "<leader>u", "<cmd>lua require('undotree').toggle()<cr>" },
|
||||
},
|
||||
},
|
||||
|
||||
-- terminal
|
||||
{
|
||||
"akinsho/toggleterm.nvim",
|
||||
cmd = { "ToggleTerm" },
|
||||
opts = {},
|
||||
keys = {
|
||||
{ "<leader>t", "<cmd>ToggleTerm direction=vertical<cr>", desc = "Open terminal" },
|
||||
{
|
||||
"<leader>gg",
|
||||
"<cmd>lua _LAZYGIT_TOGGLE()<CR>",
|
||||
desc = "Toggle Lazy[G]it",
|
||||
silent = true,
|
||||
noremap = true,
|
||||
},
|
||||
{
|
||||
"<leader>p",
|
||||
":lua RUN_CODE()<CR>",
|
||||
desc = "Run [P]roject",
|
||||
silent = true,
|
||||
noremap = true,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("toggleterm").setup({
|
||||
size = function(term)
|
||||
if term.direction == "horizontal" then
|
||||
return 15
|
||||
elseif term.direction == "vertical" then
|
||||
return vim.o.columns * 0.45
|
||||
end
|
||||
end,
|
||||
})
|
||||
local run_command_table = {
|
||||
["cpp"] = "([[ -f Makefile ]] && make all run)",
|
||||
["c"] = "gcc -g -Wall % -o %:r && ./%:r",
|
||||
["python"] = "python %",
|
||||
["lua"] = "lua %",
|
||||
["zsh"] = "zsh %",
|
||||
["sh"] = "sh %",
|
||||
["qalculate"] = "qalc --color='1' --file %",
|
||||
-- ["java"] = "cd %:h && javac *.java && java %:t:r",
|
||||
-- ["asm"] = "nasm -f elf64 % -o %:r.o && ld %:r.o -o %:r && ./%:r && rm %:r.o",
|
||||
-- ["cpp"] = "g++ -g -Wall -Weffc++ -Wextra -Wconversion -Wsign-conversion -Werror -std=c++20 -pedantic-errors % -o %:r && ./%:r",
|
||||
-- ["rust"] = "rustc % && ./%:r",
|
||||
-- ["go"] = "go run %",
|
||||
-- ["javascript"] = "node %",
|
||||
}
|
||||
|
||||
local extra = 'printf "\\\\n\\\\033[0;33mPress ENTER to continue \\\\033[0m"; read'
|
||||
local Terminal = require("toggleterm.terminal").Terminal
|
||||
|
||||
function EXPAND_SYMBOL_RESOLVER(cmd)
|
||||
local mod = string.byte("%")
|
||||
local space = string.byte(" ")
|
||||
local col = string.byte(":")
|
||||
local i = 1
|
||||
local expanded_cmd = ""
|
||||
while i <= #cmd do
|
||||
if cmd:byte(i) == mod then
|
||||
local j = i + 1
|
||||
while cmd:byte(j) == col and cmd:byte(j + 1) ~= space and j <= #cmd do
|
||||
j = j + 2
|
||||
end
|
||||
expanded_cmd = expanded_cmd .. vim.fn.expand(string.sub(cmd, i, j - 1))
|
||||
i = j
|
||||
end
|
||||
expanded_cmd = expanded_cmd .. string.sub(cmd, i, i)
|
||||
i = i + 1
|
||||
end
|
||||
|
||||
return expanded_cmd
|
||||
end
|
||||
|
||||
function RUN_CODE()
|
||||
if run_command_table[vim.bo.filetype] then
|
||||
local expanded_cmd = EXPAND_SYMBOL_RESOLVER(run_command_table[vim.bo.filetype])
|
||||
local runcmd = expanded_cmd .. "; " .. extra
|
||||
local runterm = Terminal:new({ cmd = runcmd, direction = "vertical" })
|
||||
runterm:toggle()
|
||||
else
|
||||
print("\nFileType not supported\n")
|
||||
end
|
||||
end
|
||||
|
||||
function _LAZYGIT_TOGGLE()
|
||||
Terminal:new({ cmd = "lazygit", hidden = true, direction = "float" }):toggle()
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
return {
|
||||
-- fzf
|
||||
{
|
||||
"ibhagwan/fzf-lua",
|
||||
keys = {
|
||||
{ "<leader>/", function() require("fzf-lua").buffers() end, desc = "Switch buffers" },
|
||||
{ "<leader>l", function() require("fzf-lua").live_grep_native() end, desc = "Live Grep" },
|
||||
{ "<leader>o", function() require("fzf-lua").oldfiles() end, desc = "Open Recent file" },
|
||||
{ "<leader>b", function() require("fzf-lua").builtin() end, desc = "FZF menu" },
|
||||
{ "<leader>ca", function() require("fzf-lua").lsp_code_actions() end, mode = { "n", "v" }, desc = "LSP Code Actions" },
|
||||
{ "<leader>cd", function() require("fzf-lua").lsp_definitions() end, mode = { "n", "v" }, desc = "LSP Definitions" },
|
||||
{ "<leader>cD", function() require("fzf-lua").lsp_declarations() end, mode = { "n", "v" }, desc = "LSP Declarations" },
|
||||
{ "<leader>cI", function() require("fzf-lua").lsp_implementations() end, mode = { "n", "v" }, desc = "LSP Implementations" },
|
||||
{ "<leader>cr", function() require("fzf-lua").lsp_references() end, mode = { "n", "v" }, desc = "LSP References" },
|
||||
{ "<leader>ce", function() require("fzf-lua").lsp_document_diagnostics() end, desc = "LSP Diagnostics" },
|
||||
{ "<leader>cwe", function() require("fzf-lua").lsp_workspace_diagnostics() end, desc = "LSP Workspace Diagnostics" },
|
||||
{ "<leader>cs", function() require("fzf-lua").lsp_document_symbols() end, desc = "Symbols" },
|
||||
{ "<leader>cS", function() require("fzf-lua").lsp_workspace_symbols() end, desc = "Workspace Symbols" },
|
||||
{ "<leader>cD", function() require("fzf-lua").lsp_declarations() end, mode = { "n", "v" }, desc = "LSP Declarations" },
|
||||
},
|
||||
config = function()
|
||||
require("fzf-lua").setup({
|
||||
previewers = {
|
||||
builtin = {
|
||||
extensions = {
|
||||
["png"] = { "ueberzug" },
|
||||
["jpg"] = { "ueberzug" },
|
||||
},
|
||||
ueberzug_scaler = "fit_contain",
|
||||
}
|
||||
}
|
||||
})
|
||||
end,
|
||||
}
|
||||
}
|
@ -1,261 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"VonHeikemen/lsp-zero.nvim",
|
||||
branch = "v3.x",
|
||||
lazy = true,
|
||||
config = false,
|
||||
init = function()
|
||||
vim.g.lsp_zero_extend_cmp = 0
|
||||
vim.g.lsp_zero_extend_lspconfig = 0
|
||||
end,
|
||||
},
|
||||
|
||||
-- autocompletion
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
{ "L3MON4D3/LuaSnip" },
|
||||
{ "hrsh7th/cmp-buffer" },
|
||||
{ "https://codeberg.org/FelipeLema/cmp-async-path" },
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "saadparwaiz1/cmp_luasnip" },
|
||||
{ "rafamadriz/friendly-snippets" },
|
||||
{ "onsails/lspkind.nvim" },
|
||||
{ "hrsh7th/cmp-calc" },
|
||||
{ "f3fora/cmp-spell" },
|
||||
{ "micangl/cmp-vimtex" },
|
||||
{ "Jezda1337/nvim-html-css" },
|
||||
},
|
||||
config = function()
|
||||
local lsp_zero = require("lsp-zero")
|
||||
lsp_zero.extend_cmp()
|
||||
|
||||
local cmp = require("cmp")
|
||||
local cmp_action = lsp_zero.cmp_action()
|
||||
|
||||
-- Lazy load snippets from VSCode
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_vscode").lazy_load({ paths = { "./lua/snippets" } })
|
||||
|
||||
cmp.setup({
|
||||
sources = {
|
||||
{ name = "luasnip" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "buffer" },
|
||||
{ name = "async_path" },
|
||||
{ name = "calc" },
|
||||
{ name = "html-css" },
|
||||
{ name = "vimtex" },
|
||||
{
|
||||
name = "spell",
|
||||
option = {
|
||||
keep_all_entries = false,
|
||||
enable_in_context = function()
|
||||
return true
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
preselect = "item",
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert",
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
formatting = {
|
||||
maxwidth = 30,
|
||||
fields = { "abbr", "kind" },
|
||||
format = require("lspkind").cmp_format({
|
||||
mode = "symbol_text",
|
||||
maxwidth = 30,
|
||||
ellipsis_char = "",
|
||||
}),
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-u>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-f>"] = cmp_action.luasnip_jump_forward(),
|
||||
["<C-b>"] = cmp_action.luasnip_jump_backward(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = false }),
|
||||
["<Tab>"] = cmp_action.luasnip_supertab(),
|
||||
["<S-Tab>"] = cmp_action.luasnip_shift_supertab(),
|
||||
}),
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- lsp
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
cmd = { "LspInfo", "LspInstall", "LspStart" },
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
config = true,
|
||||
},
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "williamboman/mason-lspconfig.nvim" },
|
||||
{
|
||||
"SmiteshP/nvim-navbuddy",
|
||||
dependencies = {
|
||||
"SmiteshP/nvim-navic",
|
||||
"MunifTanjim/nui.nvim"
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>n", function() require("nvim-navbuddy").open() end, desc = "Open Navbuddy" },
|
||||
},
|
||||
opts = {
|
||||
lsp = {
|
||||
auto_attach = true
|
||||
},
|
||||
window = {
|
||||
border = "rounded",
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
config = function()
|
||||
local lsp_zero = require("lsp-zero")
|
||||
lsp_zero.extend_lspconfig()
|
||||
|
||||
lsp_zero.on_attach(function(client, bufnr)
|
||||
lsp_zero.default_keymaps({
|
||||
buffer = bufnr,
|
||||
-- exclude = { 'gl', 'K' },
|
||||
})
|
||||
end)
|
||||
|
||||
vim.diagnostic.config({
|
||||
underline = false,
|
||||
virtual_text = true,
|
||||
signs = {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = "",
|
||||
[vim.diagnostic.severity.WARN] = "",
|
||||
[vim.diagnostic.severity.HINT] = "",
|
||||
[vim.diagnostic.severity.INFO] = ""
|
||||
}
|
||||
},
|
||||
update_in_insert = false,
|
||||
severity_sort = true,
|
||||
})
|
||||
|
||||
-- vim.cmd("hi Keyword gui=italic,bold cterm=italic,bold")
|
||||
vim.cmd("hi Comment gui=italic cterm=italic")
|
||||
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextError", { link = "Comment" })
|
||||
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextInfo", { link = "Comment" })
|
||||
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextWarn", { link = "Comment" })
|
||||
vim.api.nvim_set_hl(0, "DiagnosticVirtualTextHint", { link = "Comment" })
|
||||
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"clangd",
|
||||
"ruff_lsp",
|
||||
"marksman",
|
||||
"html",
|
||||
"cssls",
|
||||
"lua_ls",
|
||||
"bashls",
|
||||
"texlab",
|
||||
"jsonls",
|
||||
"eslint",
|
||||
"vtsls",
|
||||
},
|
||||
handlers = {
|
||||
lsp_zero.default_setup,
|
||||
lua_ls = function()
|
||||
require("lspconfig").lua_ls.setup({
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
completion = {
|
||||
callSnippet = 'Replace',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
clangd = function()
|
||||
require("lspconfig").clangd.setup({
|
||||
capabilities = { offsetEncoding = "utf-16" },
|
||||
-- cmd = {
|
||||
-- "clangd",
|
||||
-- "--background-index",
|
||||
-- "--clang-tidy",
|
||||
-- "--header-insertion=iwyu",
|
||||
-- "--completion-style=detailed",
|
||||
-- "--function-arg-placeholders",
|
||||
-- "--fallback-style=llvm",
|
||||
-- },
|
||||
-- init_options = {
|
||||
-- usePlaceholders = true,
|
||||
-- completeUnimported = true,
|
||||
-- clangdFileStatus = true,
|
||||
-- },
|
||||
})
|
||||
end,
|
||||
-- ltex = function()
|
||||
-- require("lspconfig").ltex.setup({
|
||||
-- settings = {
|
||||
-- ltex = {
|
||||
-- language = {"en-US"},
|
||||
-- -- dictionary = {":~/.config/nvim/spell/en.utf-8.add"},
|
||||
-- disabledRules = { ['en-US'] = { 'MORFOLOGIK_RULE_EN_US' } },
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
vtsls = function()
|
||||
require("lspconfig").vtsls.setup({
|
||||
filetypes = {
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"javascript.jsx",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"typescript.tsx",
|
||||
},
|
||||
settings = {
|
||||
complete_function_calls = true,
|
||||
vtsls = {
|
||||
enableMoveToFileCodeAction = true,
|
||||
autoUseWorkspaceTsdk = true,
|
||||
experimental = {
|
||||
completion = {
|
||||
enableServerSideFuzzyMatch = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
typescript = {
|
||||
updateImportsOnFileMove = { enabled = "always" },
|
||||
suggest = {
|
||||
completeFunctionCalls = true,
|
||||
},
|
||||
inlayHints = {
|
||||
enumMemberValues = { enabled = true },
|
||||
functionLikeReturnTypes = { enabled = true },
|
||||
parameterNames = { enabled = "literals" },
|
||||
parameterTypes = { enabled = true },
|
||||
propertyDeclarationTypes = { enabled = true },
|
||||
variableTypes = { enabled = false },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
return {
|
||||
|
||||
-- formatting and linting
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
event = "LspAttach",
|
||||
opts = function()
|
||||
local formatting = require("null-ls").builtins.formatting
|
||||
local lint = require("null-ls").builtins.diagnostics
|
||||
local code_actions = require("null-ls").builtins.code_actions
|
||||
-- local actions = require("null-ls").builtins.code_actions
|
||||
return {
|
||||
sources = {
|
||||
-- Linting
|
||||
lint.cppcheck, -- for c,cpp ( Install manually using pacman )
|
||||
-- lint.proselint, -- for md
|
||||
lint.stylelint, -- for css
|
||||
lint.codespell, -- general code spellings
|
||||
|
||||
-- Formatting
|
||||
formatting.shfmt, -- for sh
|
||||
formatting.prettier, -- for js, md, html, css``
|
||||
|
||||
-- Code Actions
|
||||
code_actions.proselint,
|
||||
code_actions.gitsigns,
|
||||
code_actions.refactoring.with({
|
||||
filetypes = {
|
||||
"go",
|
||||
"javascript",
|
||||
"lua",
|
||||
"python",
|
||||
"typescript",
|
||||
"c",
|
||||
"cpp"
|
||||
}
|
||||
}),
|
||||
},
|
||||
}
|
||||
end,
|
||||
keys = {
|
||||
{ "<leader>f", ":lua vim.lsp.buf.format({ timeout_ms = 2000 })<CR>", desc = "Format", silent = true },
|
||||
},
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
return {
|
||||
-- refactoring
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
event = "LspAttach",
|
||||
cmd = { "Refactor" },
|
||||
config = function()
|
||||
require("refactoring").setup({
|
||||
prompt_func_return_type = {
|
||||
go = false,
|
||||
java = false,
|
||||
|
||||
cpp = false,
|
||||
c = false,
|
||||
h = false,
|
||||
hpp = false,
|
||||
cxx = false,
|
||||
},
|
||||
prompt_func_param_type = {
|
||||
go = false,
|
||||
java = false,
|
||||
|
||||
cpp = false,
|
||||
c = false,
|
||||
h = false,
|
||||
hpp = false,
|
||||
cxx = false,
|
||||
},
|
||||
printf_statements = {},
|
||||
print_var_statements = {},
|
||||
show_success_message = false,
|
||||
})
|
||||
vim.keymap.set("x", "<leader>re", ":Refactor extract ")
|
||||
vim.keymap.set("x", "<leader>rf", ":Refactor extract_to_file ")
|
||||
vim.keymap.set("x", "<leader>rv", ":Refactor extract_var ")
|
||||
vim.keymap.set({ "n", "x" }, "<leader>ri", ":Refactor inline_var")
|
||||
vim.keymap.set("n", "<leader>rI", ":Refactor inline_func")
|
||||
vim.keymap.set("n", "<leader>rb", ":Refactor extract_block")
|
||||
vim.keymap.set("n", "<leader>rbf", ":Refactor extract_block_to_file")
|
||||
end,
|
||||
},
|
||||
}
|
@ -1,105 +0,0 @@
|
||||
return {
|
||||
-- treesitter
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
version = false,
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
build = ":TSUpdate",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
{
|
||||
"windwp/nvim-ts-autotag",
|
||||
opts = {},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local treesitter = require("nvim-treesitter.configs")
|
||||
treesitter.setup({
|
||||
highlight = { enable = true, disable = { "latex" } },
|
||||
indent = { enable = true },
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"css",
|
||||
"javascript",
|
||||
"lua",
|
||||
"python",
|
||||
"vim",
|
||||
"vimdoc",
|
||||
"yaml",
|
||||
"json",
|
||||
"c",
|
||||
"cpp",
|
||||
"go",
|
||||
"rust",
|
||||
"regex",
|
||||
"latex",
|
||||
"bibtex"
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<C-space>",
|
||||
node_incremental = "<C-space>",
|
||||
scope_incremental = "<c-s>",
|
||||
node_decremental = "<M-space>",
|
||||
},
|
||||
},
|
||||
textobjects = {
|
||||
move = {
|
||||
enable = true,
|
||||
goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer" },
|
||||
goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer" },
|
||||
goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer" },
|
||||
goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer" },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- mini.ai
|
||||
{
|
||||
"echasnovski/mini.ai",
|
||||
-- keys = {
|
||||
-- { "a", mode = { "x", "o" } },
|
||||
-- { "i", mode = { "x", "o" } },
|
||||
-- },
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
local ai = require("mini.ai")
|
||||
return {
|
||||
n_lines = 500,
|
||||
custom_textobjects = {
|
||||
o = ai.gen_spec.treesitter({
|
||||
a = { "@block.outer", "@conditional.outer", "@loop.outer" },
|
||||
i = { "@block.inner", "@conditional.inner", "@loop.inner" },
|
||||
}, {}),
|
||||
f = ai.gen_spec.treesitter({ a = "@function.outer", i = "@function.inner" }, {}),
|
||||
c = ai.gen_spec.treesitter({ a = "@class.outer", i = "@class.inner" }, {}),
|
||||
t = { "<([%p%w]-)%f[^<%w][^<>]->.-</%1>", "^<.->().*()</[^/]->$" },
|
||||
d = { "%f[%d]%d+" }, -- digits
|
||||
e = { -- Word with case
|
||||
{
|
||||
"%u[%l%d]+%f[^%l%d]",
|
||||
"%f[%S][%l%d]+%f[^%l%d]",
|
||||
"%f[%P][%l%d]+%f[^%l%d]",
|
||||
"^[%l%d]+%f[^%l%d]",
|
||||
},
|
||||
"^().*()$",
|
||||
},
|
||||
g = function() -- Whole buffer, similar to `gg` and 'G' motion
|
||||
local from = { line = 1, col = 1 }
|
||||
local to = {
|
||||
line = vim.fn.line("$"),
|
||||
col = math.max(vim.fn.getline("$"):len(), 1),
|
||||
}
|
||||
return { from = from, to = to }
|
||||
end,
|
||||
u = ai.gen_spec.function_call(), -- u for "Usage"
|
||||
U = ai.gen_spec.function_call({ name_pattern = "[%w_]" }), -- without dot in function name
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
}
|
@ -1,398 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"folke/noice.nvim",
|
||||
enabled = true,
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
lsp = {
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
["cmp.entry.get_documentation"] = true,
|
||||
},
|
||||
signature = { enabled = false },
|
||||
hover = { enabled = false }
|
||||
},
|
||||
routes = {
|
||||
{
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
any = {
|
||||
{ find = "%d+L, %d+B" },
|
||||
{ find = "; after #%d+" },
|
||||
{ find = "; before #%d+" },
|
||||
},
|
||||
},
|
||||
view = "mini",
|
||||
},
|
||||
},
|
||||
presets = {
|
||||
bottom_search = true,
|
||||
command_palette = true,
|
||||
long_message_to_split = true,
|
||||
},
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>sn", "", desc = "+noice"},
|
||||
{ "<S-Enter>", function() require("noice").redirect(vim.fn.getcmdline()) end, mode = "c", desc = "Redirect Cmdline" },
|
||||
{ "<leader>snl", function() require("noice").cmd("last") end, desc = "Noice Last Message" },
|
||||
{ "<leader>snh", function() require("noice").cmd("history") end, desc = "Noice History" },
|
||||
{ "<leader>sna", function() require("noice").cmd("all") end, desc = "Noice All" },
|
||||
{ "<leader>snd", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" },
|
||||
{ "<leader>snt", function() require("noice").cmd("pick") end, desc = "Noice Picker (Telescope/FzfLua)" },
|
||||
{ "<c-f>", function() if not require("noice.lsp").scroll(4) then return "<c-f>" end end, silent = true, expr = true, desc = "Scroll Forward", mode = {"i", "n", "s"} },
|
||||
{ "<c-b>", function() if not require("noice.lsp").scroll(-4) then return "<c-b>" end end, silent = true, expr = true, desc = "Scroll Backward", mode = {"i", "n", "s"}},
|
||||
},
|
||||
config = function(_, opts)
|
||||
-- HACK: noice shows messages from before it was enabled,
|
||||
-- but this is not ideal when Lazy is installing plugins,
|
||||
-- so clear the messages in this case.
|
||||
if vim.o.filetype == "lazy" then
|
||||
vim.cmd([[messages clear]])
|
||||
end
|
||||
require("noice").setup(opts)
|
||||
end,
|
||||
},
|
||||
-- icons
|
||||
{
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
|
||||
-- statusline
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
lazy = false,
|
||||
-- event = "VeryLazy",
|
||||
config = function()
|
||||
local function get_colors()
|
||||
local colorscheme = vim.g.colors_name
|
||||
if colorscheme == "tokyonight-moon" then
|
||||
local colors = require("tokyonight.colors").setup()
|
||||
return {
|
||||
bg = colors.bg,
|
||||
fg = colors.comment,
|
||||
active_buf = colors.fg,
|
||||
}
|
||||
elseif colorscheme == "default" then
|
||||
return {
|
||||
bg = '#14161b',
|
||||
fg = '#9B9EA4',
|
||||
active_buf = "#E0E2EA",
|
||||
}
|
||||
else
|
||||
return {
|
||||
bg = "",
|
||||
fg = "",
|
||||
active_buf = "",
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
local colors = get_colors()
|
||||
|
||||
local conditions = {
|
||||
buffer_not_empty = function()
|
||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||||
end,
|
||||
hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end,
|
||||
check_git_workspace = function()
|
||||
local filepath = vim.fn.expand("%:p:h")
|
||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||
end
|
||||
}
|
||||
|
||||
local config = {
|
||||
options = {
|
||||
component_separators = "",
|
||||
section_separators = " ",
|
||||
disabled_filetypes = { "help", "lazy", "mason", "fzf", "lspinfo", "alpha" },
|
||||
theme = {
|
||||
normal = { c = { fg = colors.fg, bg = colors.bg } },
|
||||
inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
},
|
||||
}
|
||||
local function ins_left(component)
|
||||
table.insert(config.sections.lualine_c, component)
|
||||
end
|
||||
local function ins_right(component)
|
||||
table.insert(config.sections.lualine_x, component)
|
||||
end
|
||||
|
||||
ins_left({
|
||||
"mode",
|
||||
})
|
||||
|
||||
ins_left {
|
||||
'diagnostics',
|
||||
sources = { 'nvim_diagnostic' },
|
||||
-- Displays diagnostics for the defined severity types
|
||||
sections = { 'error', 'warn' },
|
||||
symbols = { error = ' ', warn = ' ' },
|
||||
colored = false,
|
||||
}
|
||||
|
||||
ins_left {
|
||||
function()
|
||||
return '%='
|
||||
end,
|
||||
}
|
||||
|
||||
ins_left({
|
||||
"buffers",
|
||||
hide_filename_extension = false,
|
||||
buffers_color = {
|
||||
active = { fg = colors.active_buf, bg = colors.bg },
|
||||
inactive = { fg = colors.fg, bg = colors.bg },
|
||||
},
|
||||
symbols = {
|
||||
modified = " ●",
|
||||
alternate_file = "",
|
||||
},
|
||||
cond = conditions.buffer_not_empty,
|
||||
color = { fg = colors.active_buf, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_right({
|
||||
function()
|
||||
if vim.bo.filetype == "txt" or vim.bo.filetype == "markdown" or vim.bo.filetype == "tex" then
|
||||
if vim.fn.wordcount().visual_words == 1 then
|
||||
return tostring(vim.fn.wordcount().visual_words) .. " word"
|
||||
elseif not (vim.fn.wordcount().visual_words == nil) then
|
||||
return tostring(vim.fn.wordcount().visual_words) .. " words"
|
||||
else
|
||||
return tostring(vim.fn.wordcount().words) .. " words"
|
||||
end
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
ins_right({
|
||||
-- Lsp server name
|
||||
function()
|
||||
local msg = "Inactive"
|
||||
local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
end
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
return client.name
|
||||
end
|
||||
end
|
||||
return msg
|
||||
end,
|
||||
icon = " ",
|
||||
})
|
||||
|
||||
ins_right({
|
||||
"branch",
|
||||
icon = "",
|
||||
color = { gui = "bold" },
|
||||
})
|
||||
ins_right({
|
||||
"location",
|
||||
})
|
||||
|
||||
require("lualine").setup(config)
|
||||
end
|
||||
},
|
||||
|
||||
-- indentation lines
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- scope = { enabled = false },
|
||||
scope = { enabled = true },
|
||||
exclude = {
|
||||
filetypes = { "help", "lazy", "mason", "outline", "toggleterm", "fzf", "lspinfo" },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- dashboard
|
||||
{
|
||||
"goolord/alpha-nvim",
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
|
||||
local create_gradient = function(start, finish, steps)
|
||||
local r1, g1, b1 =
|
||||
tonumber("0x" .. start:sub(2, 3)),
|
||||
tonumber("0x" .. start:sub(4, 5)),
|
||||
tonumber("0x" .. start:sub(6, 7))
|
||||
local r2, g2, b2 =
|
||||
tonumber("0x" .. finish:sub(2, 3)),
|
||||
tonumber("0x" .. finish:sub(4, 5)),
|
||||
tonumber("0x" .. finish:sub(6, 7))
|
||||
|
||||
local r_step = (r2 - r1) / steps
|
||||
local g_step = (g2 - g1) / steps
|
||||
local b_step = (b2 - b1) / steps
|
||||
|
||||
local gradient = {}
|
||||
for i = 1, steps do
|
||||
local r = math.floor(r1 + r_step * i)
|
||||
local g = math.floor(g1 + g_step * i)
|
||||
local b = math.floor(b1 + b_step * i)
|
||||
table.insert(gradient, string.format("#%02x%02x%02x", r, g, b))
|
||||
end
|
||||
|
||||
return gradient
|
||||
end
|
||||
|
||||
local function apply_gradient_hl(text)
|
||||
local gradient = create_gradient("#5e81ac", "#60728a", #text)
|
||||
|
||||
local lines = {}
|
||||
for i, line in ipairs(text) do
|
||||
local tbl = {
|
||||
type = "text",
|
||||
val = line,
|
||||
opts = {
|
||||
hl = "HeaderGradient" .. i,
|
||||
shrink_margin = false,
|
||||
position = "center",
|
||||
},
|
||||
}
|
||||
table.insert(lines, tbl)
|
||||
|
||||
-- create hl group
|
||||
vim.api.nvim_set_hl(0, "HeaderGradient" .. i, { fg = gradient[i] })
|
||||
end
|
||||
|
||||
return {
|
||||
type = "group",
|
||||
val = lines,
|
||||
opts = { position = "center" },
|
||||
}
|
||||
end
|
||||
|
||||
local headers = require("ascii")
|
||||
|
||||
dashboard.section.buttons.val = {
|
||||
dashboard.button("r", " Recent files", ":lua require('fzf-lua').oldfiles()<CR>"),
|
||||
dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
|
||||
dashboard.button("p", " Projects",
|
||||
function()
|
||||
local contents = require("project_nvim").get_recent_projects()
|
||||
local reverse = {}
|
||||
for i = #contents, 1, -1 do
|
||||
reverse[#reverse + 1] = contents[i]
|
||||
end
|
||||
require("fzf-lua").fzf_exec(reverse, {
|
||||
actions = {
|
||||
["default"] = function(e)
|
||||
-- vim.cmd.cd(e[1])
|
||||
require("fzf-lua").files({ cwd = e[1] })
|
||||
end,
|
||||
["ctrl-d"] = function(x)
|
||||
local choice = vim.fn.confirm("Delete '" .. #x .. "' projects? ", "&Yes\n&No", 2)
|
||||
if choice == 1 then
|
||||
local history = require("project_nvim.utils.history")
|
||||
for _, v in ipairs(x) do
|
||||
history.delete_project(v)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
winopts = {
|
||||
height = 0.4,
|
||||
width = 0.5,
|
||||
},
|
||||
})
|
||||
end),
|
||||
|
||||
-- dashboard.button("f", " Find file", ":lua require('fzf-lua').files()<CR>"),
|
||||
-- dashboard.button("t", " Find text", ":lua require('fzf-lua').live_grep_native()<CR>"),
|
||||
dashboard.button("s", " Restore Session", ":lua require('persistence').load()<CR>"),
|
||||
dashboard.button("n", " Notes",
|
||||
":lua require('fzf-lua').files({cmd=[[fd -t f -E '*.json' -E '*.pdf' -E '*.canvas']],cwd =[[~/notes]]})<CR>"),
|
||||
dashboard.button("c", " Configuration", ":e $MYVIMRC <CR>"),
|
||||
dashboard.button("z", " Lazy", ":Lazy<CR>"),
|
||||
dashboard.button("q", " Quit", ":qa<CR>"),
|
||||
}
|
||||
dashboard.section.buttons.opts.spacing = 0
|
||||
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "LazyVimStarted",
|
||||
callback = function()
|
||||
local stats = require("lazy").stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
dashboard.section.footer.val = " " .. ms .. " ms"
|
||||
pcall(vim.cmd.AlphaRedraw)
|
||||
end,
|
||||
})
|
||||
|
||||
local headerKeys = {}
|
||||
for key, _ in pairs(headers) do
|
||||
table.insert(headerKeys, key)
|
||||
end
|
||||
local randomHeader = headerKeys[math.random(#headerKeys)]
|
||||
|
||||
dashboard.config.layout = {
|
||||
{ type = "padding", val = 3 },
|
||||
-- options = randomHeader, raven, yggdrasil,
|
||||
-- void_stranger, aot, meatboy, isaac, gta,
|
||||
-- hydra, spider, morse, sharp, galaxy,
|
||||
apply_gradient_hl(headers[randomHeader]),
|
||||
{ type = "padding", val = 4 },
|
||||
dashboard.section.buttons,
|
||||
{ type = "padding", val = 4 },
|
||||
dashboard.section.footer,
|
||||
}
|
||||
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
require("alpha").setup(dashboard.opts)
|
||||
end,
|
||||
},
|
||||
|
||||
-- zen-mode
|
||||
{
|
||||
"folke/zen-mode.nvim",
|
||||
opts = {
|
||||
window = {
|
||||
backdrop = 0,
|
||||
width = 100,
|
||||
height = 0.85,
|
||||
},
|
||||
plugins = {
|
||||
gitsigns = { enabled = false },
|
||||
kitty = {
|
||||
enabled = true,
|
||||
font = "+2",
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>z", ":lua require('zen-mode').toggle()<CR>", desc = "[Z]en Mode", silent = true },
|
||||
},
|
||||
},
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
{
|
||||
"Hello World": {
|
||||
"prefix": "hello",
|
||||
"body": [
|
||||
"#include <iostream>",
|
||||
"",
|
||||
"int main () {",
|
||||
"\t$1",
|
||||
"\treturn 0;",
|
||||
"}"
|
||||
],
|
||||
"description": "starter template"
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"shebang": {
|
||||
"prefix": "shebang",
|
||||
"body": [
|
||||
"#!/usr/bin/env ${1:sh}",
|
||||
"#",
|
||||
"# ${2:Description of the script.}$0"
|
||||
],
|
||||
"description": [
|
||||
"Shebang to specify what shell is going to run the script by default. It includes a description of the script. \n\nIt must be defined in the first line of the script.\n\nBy using #!/usr/bin/env we are making the shebang portable, meaning it is going to work correctly even if the interpreter is not located under /usr/bin"
|
||||
]
|
||||
},
|
||||
"Print Name and Date": {
|
||||
"prefix": "signature",
|
||||
"body": [
|
||||
"${0:Author}",
|
||||
"${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}"
|
||||
],
|
||||
"description": "Signature"
|
||||
},
|
||||
"MIT": {
|
||||
"prefix": "mitl",
|
||||
"description": "MIT License",
|
||||
"body": [
|
||||
"The MIT License (MIT)",
|
||||
"",
|
||||
"Copyright (c) ${CURRENT_YEAR} ${0:Author}",
|
||||
"",
|
||||
"Permission is hereby granted, free of charge, to any person obtaining a copy",
|
||||
"of this software and associated documentation files (the \"Software\"), to deal",
|
||||
"in the Software without restriction, including without limitation the rights",
|
||||
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
|
||||
"copies of the Software, and to permit persons to whom the Software is",
|
||||
"furnished to do so, subject to the following conditions:",
|
||||
"",
|
||||
"The above copyright notice and this permission notice shall be included in all",
|
||||
"copies or substantial portions of the Software.",
|
||||
"",
|
||||
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
|
||||
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
|
||||
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
|
||||
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
|
||||
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
|
||||
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE",
|
||||
"SOFTWARE."
|
||||
]
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "user snippets",
|
||||
"engines": {
|
||||
"vscode": "^1.11.0"
|
||||
},
|
||||
"contributes": {
|
||||
"snippets": [
|
||||
{
|
||||
"language": [
|
||||
"plaintext",
|
||||
"markdown",
|
||||
"tex",
|
||||
"html",
|
||||
"global",
|
||||
"all"
|
||||
],
|
||||
"path": "./global.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"path": "./cpp.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1 +1 @@
|
||||
Subproject commit b221ccbc214e6b9c2ad73f2e69dc4b999f0591c3
|
||||
Subproject commit a5f48fb1d7bcc044734009ddd8e70ea1efcce4fa
|
@ -1 +1 @@
|
||||
Subproject commit 43631961b8c8099b3dc42027031a358fc5d87b8d
|
||||
Subproject commit 914378fcc6aceb692f797a32c926ce40ec862984
|
@ -1 +1 @@
|
||||
Subproject commit 0238bdf643c0152c2b17d3cc94c971fa18affa8d
|
||||
Subproject commit f3284c5f9ef7fc519f1a2bfc5d216404ded405b0
|
@ -1 +1 @@
|
||||
Subproject commit 33db255a2d3be3617eddb0da72b64ec7fd2d774e
|
||||
Subproject commit ede0ce70a03e7a5ebc7a847ff48b8aedcfd514e8
|
@ -9,7 +9,7 @@ Xcursor.size: 24
|
||||
|
||||
st.font: JetBrains Mono:size=10
|
||||
st.borderpx: 10
|
||||
st.alpha: 1.0
|
||||
st.alpha: 0.8
|
||||
st.tabspaces: 2
|
||||
st.cwscale: 1.0
|
||||
st.chscale: 1.0
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -13,3 +13,6 @@
|
||||
[submodule ".config/suckless/slock"]
|
||||
path = .config/suckless/slock
|
||||
url = git@github.com:mintycube/slock.git
|
||||
[submodule ".config/nvim"]
|
||||
path = .config/nvim
|
||||
url = git@github.com:mintycube/nvim-config.git
|
||||
|
@ -7,9 +7,9 @@ selection=$(fd --color=always \
|
||||
| fzf \
|
||||
--ansi \
|
||||
--prompt=" Notes " \
|
||||
--margin="10%,5%" \
|
||||
--margin="10%,3%" \
|
||||
--no-info --height=100% --scrollbar="" \
|
||||
--preview="glow ~/notes/{}" \
|
||||
--preview-window="border-left")
|
||||
--preview="fuz-preview ~/notes/{}" \
|
||||
--preview-window="70%,border-left")
|
||||
|
||||
[ -n "$selection" ] && nvim ~/notes/"$selection"
|
||||
|
Loading…
Reference in New Issue
Block a user