chore: uptodate v5
This commit is contained in:
12
lua/community.lua
Normal file
12
lua/community.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||
|
||||
-- AstroCommunity: import any community modules here
|
||||
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
|
||||
-- This guarantees that the specs are processed before any user plugins.
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
"AstroNvim/astrocommunity",
|
||||
{ import = "astrocommunity.pack.lua" },
|
||||
-- import/override with your plugins folder
|
||||
}
|
||||
0
lua/core/autocmds.lua
Normal file
0
lua/core/autocmds.lua
Normal file
64
lua/core/mappings.lua
Normal file
64
lua/core/mappings.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
-- Mapping data with "desc" stored directly by vim.keymap.set().
|
||||
--
|
||||
-- Please use this mappings table to set keyboard mapping since this is the
|
||||
-- lower level configuration and more robust one. (which-key will
|
||||
-- automatically pick-up stored data by this setting.)
|
||||
|
||||
return function()
|
||||
local mappings = require("astrocore").empty_map_table()
|
||||
|
||||
-------------------------------------------
|
||||
------- Disable default mappings ----------
|
||||
-------------------------------------------
|
||||
mappings.n["<C-H>"] = false
|
||||
mappings.n["<C-L>"] = false
|
||||
mappings.n["<C-K>"] = false
|
||||
mappings.n["<C-J>"] = false
|
||||
mappings.n["<C-Left>"] = false
|
||||
mappings.n["<C-Right>"] = false
|
||||
mappings.n["<C-Up>"] = false
|
||||
mappings.n["<C-Down>"] = false
|
||||
|
||||
-------------------------------------------
|
||||
----------- Utility functions -------------
|
||||
-------------------------------------------
|
||||
mappings.n["<C-z>"] = { "u", desc = "Undo" }
|
||||
-- mappings.n["<S-k>"] = { "u", desc = "Undo" }
|
||||
-- mappings.n["K"] = { function() vim.lsp.buf.hover() end, desc = "Hover symbol details"}
|
||||
|
||||
mappings.i["<C-z>"] = { "<C-o>u", desc = "Undo" }
|
||||
mappings.i["<C-Del>"] = { "<C-o>dw", desc = "Delete a word backward" }
|
||||
mappings.i["<C-s>"] = { "<Cmd>w!<CR>", desc = "Save file" }
|
||||
mappings.i["jj"] = { "<Esc>", desc = "Normal mode" }
|
||||
|
||||
mappings.i["<S-Tab>"] = { "<C-d>", desc = "Unindent line" }
|
||||
mappings.v["<Tab>"] = { ">gv", desc = "Indent line" }
|
||||
mappings.v["<S-Tab>"] = { "<gv", desc = "Unindent line" }
|
||||
|
||||
-- Separate cut and delete motion
|
||||
-- for key, map in pairs {
|
||||
-- ["d"] = { '"_d', desc = "Delete" },
|
||||
-- ["X"] = { "d", desc = "Cut" },
|
||||
-- } do
|
||||
-- mappings.n[key] = map
|
||||
-- mappings.v[key] = map
|
||||
-- end
|
||||
|
||||
------ Motions related to jumping or selecting ------
|
||||
-- for key, map in pairs {
|
||||
-- ["H"] = { "^", desc = "Jump to beginning of line" },
|
||||
-- ["L"] = { "$", desc = "Jump to end of line" },
|
||||
-- ["K"] = { "5k", desc = "Move up 5 lines" },
|
||||
-- ["J"] = { "5j", desc = "Move down 5 lines" },
|
||||
-- } do
|
||||
-- mappings.n[key] = map
|
||||
-- mappings.v[key] = map
|
||||
-- end
|
||||
mappings.n["<C-a>"] = { "ggVG", desc = "Select all lines" }
|
||||
|
||||
------ My customs keybinding ------
|
||||
mappings.n["<leader>xn"] = { "<Cmd>Telescope notify<CR>", desc = "Notifications" }
|
||||
|
||||
|
||||
return mappings
|
||||
end
|
||||
33
lua/core/options.lua
Normal file
33
lua/core/options.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
return {
|
||||
-- vim.opt.<key>
|
||||
opt = {
|
||||
number = true, -- show line number
|
||||
relativenumber = true, -- show relative line number
|
||||
spell = false, -- disable spell check
|
||||
wrap = false, -- disable auto wrap lines
|
||||
signcolumn = "yes", -- show changes of file
|
||||
foldcolumn = "1", -- show foldcolumn
|
||||
foldenable = true, -- enable fold for nvim-ufo
|
||||
foldlevel = 99, -- set high foldlevel for nvim-ufo
|
||||
foldlevelstart = 99, -- start with all code unfolded
|
||||
guicursor = "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20", -- default cursor setting
|
||||
clipboard = "unnamedplus", -- enable system clipboard
|
||||
termguicolors = true, -- true color support
|
||||
mouse = "a", -- enable mouse
|
||||
mousemoveevent = true, -- enable mousemove event
|
||||
laststatus = 3, -- only show one statusline
|
||||
swapfile = false, -- don't use swapfile
|
||||
shiftwidth = 2, -- number of space inserted for indentation; when zero the 'tabstop' value will be used
|
||||
tabstop = 2, -- set the number of space in a tab to 4
|
||||
softtabstop = 2, -- can be differnt from tabstop
|
||||
showtabline = 0, -- always show tabline
|
||||
expandtab = true, -- use spaces instead of tab
|
||||
undofile = true, -- enable persistent undo
|
||||
},
|
||||
-- vim.g.<key>
|
||||
g = {
|
||||
-- configure global vim variables (vim.g)
|
||||
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
|
||||
-- This can be found in the `lua/lazy_setup.lua` file
|
||||
},
|
||||
}
|
||||
32
lua/lazy_setup.lua
Normal file
32
lua/lazy_setup.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
require("lazy").setup({
|
||||
{
|
||||
"AstroNvim/AstroNvim",
|
||||
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
|
||||
import = "astronvim.plugins",
|
||||
opts = { -- AstroNvim options must be set here with the `import` key
|
||||
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
||||
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
||||
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
||||
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
||||
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
|
||||
},
|
||||
},
|
||||
{ import = "community" },
|
||||
{ import = "plugins" },
|
||||
} --[[@as LazySpec]], {
|
||||
-- Configure any other `lazy.nvim` configuration options here
|
||||
install = { colorscheme = { "astrotheme", "habamax" } },
|
||||
ui = { backdrop = 100 },
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins, add more to your liking
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
"netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
} --[[@as LazyConfig]])
|
||||
57
lua/plugins/astrocore.lua
Normal file
57
lua/plugins/astrocore.lua
Normal file
@@ -0,0 +1,57 @@
|
||||
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
|
||||
-- Configuration documentation can be found with `:h astrocore`
|
||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
||||
-- as this provides autocomplete and documentation while editing
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
"AstroNvim/astrocore",
|
||||
---@type AstroCoreOpts
|
||||
opts = {
|
||||
-- Configure core features of AstroNvim
|
||||
features = {
|
||||
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
|
||||
autopairs = false, -- enable autopairs at start
|
||||
cmp = true, -- enable completion at start
|
||||
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
|
||||
highlighturl = false, -- highlight URLs at start
|
||||
notifications = true, -- enable notifications at start
|
||||
},
|
||||
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
|
||||
diagnostics = {
|
||||
virtual_text = false,
|
||||
underline = true,
|
||||
},
|
||||
-- passed to `vim.filetype.add`
|
||||
filetypes = {
|
||||
-- see `:h vim.filetype.add` for usage
|
||||
extension = {
|
||||
foo = "fooscript",
|
||||
},
|
||||
filename = {
|
||||
[".foorc"] = "fooscript",
|
||||
},
|
||||
pattern = {
|
||||
[".*/etc/foo/.*"] = "fooscript",
|
||||
},
|
||||
},
|
||||
sessions = {
|
||||
-- Configure auto saving
|
||||
autosave = {
|
||||
last = false, -- auto save last session
|
||||
cwd = false, -- auto save session for each working directory
|
||||
},
|
||||
-- Patterns to ignore when saving sessions
|
||||
ignore = {
|
||||
dirs = {}, -- working directories to ignore sessions in
|
||||
filetypes = { "gitcommit", "gitrebase" }, -- filetypes to ignore sessions
|
||||
buftypes = {}, -- buffer types to ignore sessions
|
||||
},
|
||||
},
|
||||
-- vim options can be configured here
|
||||
options = require"core.options",
|
||||
-- Mappings can be configured through AstroCore as well.
|
||||
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
|
||||
mappings = require "core.mappings"(),
|
||||
},
|
||||
}
|
||||
197
lua/plugins/astrolsp.lua
Normal file
197
lua/plugins/astrolsp.lua
Normal file
@@ -0,0 +1,197 @@
|
||||
-- Configuration documentation can be found with `:h astrolsp`
|
||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
||||
-- as this provides autocomplete and documentation while editing
|
||||
---@type LazySpec
|
||||
return {
|
||||
"AstroNvim/astrolsp",
|
||||
---@type AstroLSPOpts
|
||||
opts = {
|
||||
-- Configuration table of features provided by AstroLSP
|
||||
features = {
|
||||
autoformat = false, -- enable or disable auto formatting on start
|
||||
codelens = true, -- enable/disable codelens refresh on start
|
||||
inlay_hints = false, -- enable/disable inlay hints on start
|
||||
semantic_tokens = true, -- enable/disable semantic token highlighting
|
||||
},
|
||||
-- customize lsp formatting options
|
||||
formatting = require("plugins.configs.lsp.formatting"),
|
||||
-- enable servers that you already have installed without mason
|
||||
|
||||
servers = {},
|
||||
-- customize language server configuration options passed to `lspconfig`
|
||||
---@diagnostic disable: missing-fields
|
||||
config = {
|
||||
-- clangd = require "plugins.configs.lsp.config.clangd",
|
||||
basedpyright = require("plugins.configs.lsp.config.basedpyright"),
|
||||
jedi_language_server = require("plugins.configs.lsp.config.jedi_language"),
|
||||
pyright = require("plugins.configs.lsp.config.pyright"),
|
||||
ruff = require("plugins.configs.lsp.config.ruff"),
|
||||
pylsp = require("plugins.configs.lsp.config.pylsp"),
|
||||
},
|
||||
-- customize how language servers are attached
|
||||
handlers = {
|
||||
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
|
||||
-- function(server, opts) require("lspconfig")[server].setup(opts) end
|
||||
-- config Ty
|
||||
|
||||
-- the key is the server that is being setup with `lspconfig`
|
||||
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
|
||||
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
|
||||
},
|
||||
-- Configure buffer local auto commands to add when attaching a language server
|
||||
autocmds = {
|
||||
-- first key is the `augroup` to add the auto commands to (:h augroup)
|
||||
lsp_document_highlight = {
|
||||
-- Optional condition to create/delete auto command group
|
||||
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
|
||||
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
|
||||
-- the auto commands will be deleted for that buffer
|
||||
cond = "textDocument/documentHighlight",
|
||||
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
|
||||
-- list of auto commands to set
|
||||
{
|
||||
-- events to trigger
|
||||
event = { "CursorHold", "CursorHoldI" },
|
||||
-- the rest of the autocmd options (:h nvim_create_autocmd)
|
||||
desc = "Document Highlighting",
|
||||
callback = function()
|
||||
vim.lsp.buf.document_highlight()
|
||||
end,
|
||||
},
|
||||
{
|
||||
event = { "CursorMoved", "CursorMovedI", "BufLeave" },
|
||||
desc = "Document Highlighting Clear",
|
||||
callback = function()
|
||||
vim.lsp.buf.clear_references()
|
||||
end,
|
||||
},
|
||||
},
|
||||
-- disable inlay hints in insert mode
|
||||
disable_inlay_hints_on_insert = {
|
||||
-- only create for language servers that support inlay hints
|
||||
-- (and only if vim.lsp.inlay_hint is available)
|
||||
cond = vim.lsp.inlay_hint and "textDocument/inlayHint" or false,
|
||||
{
|
||||
-- when going into insert mode
|
||||
event = "InsertEnter",
|
||||
desc = "disable inlay hints on insert",
|
||||
callback = function(args)
|
||||
local filter = { bufnr = args.buf }
|
||||
-- if the inlay hints are currently enabled
|
||||
if vim.lsp.inlay_hint.is_enabled(filter) then
|
||||
-- disable the inlay hints
|
||||
vim.lsp.inlay_hint.enable(false, filter)
|
||||
-- create a single use autocommand to turn the inlay hints back on
|
||||
-- when leaving insert mode
|
||||
vim.api.nvim_create_autocmd("InsertLeave", {
|
||||
buffer = args.buf,
|
||||
once = true,
|
||||
callback = function()
|
||||
vim.lsp.inlay_hint.enable(true, filter)
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
-- mappings to be set up on attaching of a language server
|
||||
mappings = {
|
||||
n = {
|
||||
gh = {
|
||||
function()
|
||||
vim.lsp.buf.hover()
|
||||
end,
|
||||
desc = "Hover symbol details",
|
||||
cond = "textDocument/hover",
|
||||
},
|
||||
gl = {
|
||||
function()
|
||||
vim.diagnostic.open_float()
|
||||
end,
|
||||
desc = "Hover diagnostics",
|
||||
},
|
||||
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
|
||||
gD = {
|
||||
function()
|
||||
vim.lsp.buf.declaration()
|
||||
end,
|
||||
desc = "Declaration of current symbol",
|
||||
cond = "textDocument/declaration",
|
||||
},
|
||||
["<Leader>uY"] = {
|
||||
function()
|
||||
require("astrolsp.toggles").buffer_semantic_tokens()
|
||||
end,
|
||||
desc = "Toggle LSP semantic highlight (buffer)",
|
||||
cond = function(client)
|
||||
return client.server_capabilities.semanticTokensProvider and vim.lsp.semantic_tokens
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
-- A custom `on_attach` function to be run after the default `on_attach` function
|
||||
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
|
||||
on_attach = function(client, bufnr)
|
||||
-- this would disable semanticTokensProvider for all clients
|
||||
-- client.server_capabilities.semanticTokensProvider = nil
|
||||
-- Disable ruff_lsp hover in favor of pyright
|
||||
if client.name == "ruff" then
|
||||
client.server_capabilities.hoverProvider = false
|
||||
end
|
||||
|
||||
-- if client.name == "pyright" then
|
||||
-- -- disable pyright analysis features
|
||||
-- client.server_capabilities.documentFormattingProvider = false
|
||||
-- client.server_capabilities.hoverProvider = false
|
||||
|
||||
-- end
|
||||
|
||||
-- Disable completion feature of pyright
|
||||
if client.name == "ty" then
|
||||
client.server_capabilities.completionProvider = false
|
||||
end
|
||||
|
||||
if client.name == "basedpyright" then
|
||||
-- Tắt hết các dịch vụ, chỉ giữ lại diagnostics và inlay hints
|
||||
client.server_capabilities.completionProvider = false
|
||||
client.server_capabilities.codeLensProvider = false
|
||||
client.server_capabilities.colorProvider = false
|
||||
client.server_capabilities.callHierarchyProvider = false
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
client.server_capabilities.documentRangeFormattingProvider = false
|
||||
client.server_capabilities.declarationProvider = false
|
||||
client.server_capabilities.documentLinkProvider = false
|
||||
client.server_capabilities.definitionProvider = false
|
||||
client.server_capabilities.documentOnTypeFormattingProvider = false
|
||||
client.server_capabilities.documentSymbolProvider = false
|
||||
client.server_capabilities.hoverProvider = false
|
||||
client.server_capabilities.inlineCompletionProvider = false
|
||||
client.server_capabilities.inlineValueProvider = false
|
||||
client.server_capabilities.notebookDocumentSync = false
|
||||
client.server_capabilities.signatureHelpProvider = false
|
||||
client.server_capabilities.renameProvider = false
|
||||
client.server_capabilities.typeDefinitionProvider = false
|
||||
client.server_capabilities.workspaceSymbolProvider = false
|
||||
client.server_capabilities.monikerProvider = false
|
||||
client.server_capabilities.semanticTokensProvider = false
|
||||
|
||||
-- Tắt thêm các capabilities khác có thể có
|
||||
client.server_capabilities.referencesProvider = false
|
||||
client.server_capabilities.implementationProvider = false
|
||||
client.server_capabilities.foldingRangeProvider = false
|
||||
client.server_capabilities.selectionRangeProvider = false
|
||||
client.server_capabilities.linkedEditingRangeProvider = false
|
||||
client.server_capabilities.executeCommandProvider = false
|
||||
client.server_capabilities.workspace = {
|
||||
workspaceFolders = { supported = false },
|
||||
fileOperations = { supported = false }
|
||||
}
|
||||
|
||||
-- Giữ lại diagnostics và inlay hints
|
||||
-- client.server_capabilities.diagnosticProvider = true (mặc định)
|
||||
-- client.server_capabilities.inlayHintProvider = true (mặc định)
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
21
lua/plugins/astroui.lua
Normal file
21
lua/plugins/astroui.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- AstroUI provides the basis for configuring the AstroNvim User Interface
|
||||
-- Configuration documentation can be found with `:h astroui`
|
||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
||||
-- as this provides autocomplete and documentation while editing
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
"AstroNvim/astroui",
|
||||
---@type AstroUIOpts
|
||||
opts = {
|
||||
-- change colorscheme
|
||||
colorscheme = "bamboo",
|
||||
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
|
||||
highlights = require "plugins.configs.ui.highlights",
|
||||
-- Icons can be configured throughout the interface
|
||||
icons = require "plugins.configs.ui.icons",
|
||||
status = require "plugins.configs.ui.status",
|
||||
lazygit = false,
|
||||
},
|
||||
}
|
||||
|
||||
38
lua/plugins/configs/lsp/config/basedpyright.lua
Normal file
38
lua/plugins/configs/lsp/config/basedpyright.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
return {
|
||||
before_init = function(_, c)
|
||||
if not c.settings then
|
||||
c.settings = {}
|
||||
end
|
||||
if not c.settings.python then
|
||||
c.settings.python = {}
|
||||
end
|
||||
c.settings.python.pythonPath = vim.fn.exepath("python")
|
||||
end,
|
||||
settings = {
|
||||
basedpyright = {
|
||||
disableLanguageServices = false,
|
||||
disableOrganizeImports = true,
|
||||
disableTaggedHints = true,
|
||||
|
||||
analysis = {
|
||||
autoSearchPath = false,
|
||||
logLevel = "Trace",
|
||||
typeCheckingMode = "standard",
|
||||
deprecateTypingAliases = false,
|
||||
inlayHints = {
|
||||
variableTypes = true,
|
||||
functionReturnTypes = true,
|
||||
callArgumentNames = true,
|
||||
pytestParameters = true,
|
||||
},
|
||||
ignore = {
|
||||
"unsloth_compiled_cache",
|
||||
"__pycache__",
|
||||
"__index__",
|
||||
},
|
||||
useLibraryCodeForTypes = true,
|
||||
},
|
||||
autoImportCompletions = false,
|
||||
},
|
||||
},
|
||||
}
|
||||
19
lua/plugins/configs/lsp/config/clangd.lua
Normal file
19
lua/plugins/configs/lsp/config/clangd.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
-- return {
|
||||
-- capabilities = {
|
||||
-- offsetEncoding = "utf-8",
|
||||
-- },
|
||||
-- cmd = {
|
||||
-- "clangd",
|
||||
-- "--background-index",
|
||||
-- "--clang-tidy",
|
||||
-- "--all-scopes-completion",
|
||||
-- "--header-insertion=iwyu",
|
||||
-- "--completion-style=detailed",
|
||||
-- "--fallback-style=Microsoft",
|
||||
-- },
|
||||
-- init_options = {
|
||||
-- clangdFileStatus = true,
|
||||
-- usePlaceholders = false,
|
||||
-- completeUnimported = true,
|
||||
-- },
|
||||
-- }
|
||||
31
lua/plugins/configs/lsp/config/jedi_language.lua
Normal file
31
lua/plugins/configs/lsp/config/jedi_language.lua
Normal file
@@ -0,0 +1,31 @@
|
||||
return {
|
||||
|
||||
init_options = {
|
||||
completion = {
|
||||
disableSnippets = true,
|
||||
},
|
||||
diagnostics = {
|
||||
enable = false,
|
||||
},
|
||||
hover = {
|
||||
enable = true,
|
||||
},
|
||||
workspace = {
|
||||
-- environmentPath = "/home/duckq1u/miniconda3/envs/OCR3/bin/python",
|
||||
environmentPath = vim.fn.exepath("python"),
|
||||
ignore = {
|
||||
"/home/duckq1u/miniconda3/envs/OCR3/lib/python3.11/site-packages/transformers/mode ls/albert/configuration_albert.py",
|
||||
},
|
||||
},
|
||||
|
||||
jediSettings = {
|
||||
autoImportModules = {
|
||||
"numpy",
|
||||
"pandas",
|
||||
"torch",
|
||||
-- "torchmetrics",
|
||||
-- "pytorch_lightning",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
16
lua/plugins/configs/lsp/config/pylsp.lua
Normal file
16
lua/plugins/configs/lsp/config/pylsp.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
return {
|
||||
settings = {
|
||||
pylsp = {
|
||||
plugins = {
|
||||
pyflakes = { enabled = false }, -- disable pyflakes
|
||||
pycodestyle = { enabled = false }, -- disable pycodestyle
|
||||
flake8 = { enabled = false }, -- disable flake8
|
||||
yapf = { enabled = false }, -- disable yapf
|
||||
mcabe = { enabled = false }, -- disable mccabe
|
||||
pylsp_black = { enabled = false }, -- disable black
|
||||
pylsp_mypy = { enabled = false }, -- disable mypy
|
||||
pylsp_isort = { enabled = false }, -- disable isort
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
26
lua/plugins/configs/lsp/config/pyright.lua
Normal file
26
lua/plugins/configs/lsp/config/pyright.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
return {
|
||||
before_init = function(_, c)
|
||||
if not c.settings then
|
||||
c.settings = {}
|
||||
end
|
||||
if not c.settings.python then
|
||||
c.settings.python = {}
|
||||
end
|
||||
c.settings.python.pythonPath = vim.fn.exepath("python")
|
||||
end,
|
||||
settings = {
|
||||
pyright = {
|
||||
disableLanguageServices = false,
|
||||
disableOrganizeImports = true,
|
||||
analysis = {
|
||||
-- diagnosticMode = "openFilesOnly",
|
||||
typeCheckingMode = "standard",
|
||||
autoSearchPath = true,
|
||||
-- diagnosticSeverityOverrides = false,
|
||||
logLevel = "Trace",
|
||||
},
|
||||
},
|
||||
-- python = {
|
||||
-- },
|
||||
},
|
||||
}
|
||||
26
lua/plugins/configs/lsp/config/ruff.lua
Normal file
26
lua/plugins/configs/lsp/config/ruff.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
return {
|
||||
before_init = function(_, c)
|
||||
if not c.settings then
|
||||
c.settings = {}
|
||||
end
|
||||
if not c.settings.python then
|
||||
c.settings.python = {}
|
||||
end
|
||||
c.settings.python.pythonPath = vim.fn.exepath("python")
|
||||
end,
|
||||
settings = {
|
||||
pyright = {
|
||||
disableLanguageServices = false,
|
||||
disableOrganizeImports = true,
|
||||
analysis = {
|
||||
-- diagnosticMode = "openFilesOnly",
|
||||
typeCheckingMode = "standard",
|
||||
autoSearchPath = true,
|
||||
-- diagnosticSeverityOverrides = false,
|
||||
logLevel = "Trace",
|
||||
},
|
||||
},
|
||||
-- python = {
|
||||
-- },
|
||||
},
|
||||
}
|
||||
20
lua/plugins/configs/lsp/formatting.lua
Normal file
20
lua/plugins/configs/lsp/formatting.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Customize lsp formatting options
|
||||
return { -- control auto formatting on save
|
||||
format_on_save = {
|
||||
enabled = false, -- enable or disable format on save globally
|
||||
allow_filetypes = { -- enable format on save for specified filetypes only
|
||||
-- "go",
|
||||
},
|
||||
ignore_filetypes = { -- disable format on save for specified filetypes
|
||||
-- "lua",
|
||||
},
|
||||
},
|
||||
disabled = { -- disable formatting capabilities for the listed language servers
|
||||
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
|
||||
-- "lua_ls",
|
||||
},
|
||||
timeout_ms = 1000, -- default format timeout
|
||||
-- filter = function(client) -- fully override the default formatting function
|
||||
-- return true
|
||||
-- end
|
||||
}
|
||||
173
lua/plugins/configs/ui/alpha.lua
Normal file
173
lua/plugins/configs/ui/alpha.lua
Normal file
@@ -0,0 +1,173 @@
|
||||
-- Store alpha themes
|
||||
|
||||
local banners = {
|
||||
[1] = {
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣶⣶⣶⣶⣶⣦⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⢿⣿⣿⣿⡿⠿⠿⢿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⡄⠀⠀⠸⢿⣿⠟⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠘⢿⣿⡿⠁⠀⠀⣾⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⠟⢹⠛⢿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⣸⡀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣠⣼⣿⣷⣤⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠈⠉⠁⠈⠉⠁⠉⠉⠀⠉⠉⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
},
|
||||
[2] = {
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ",
|
||||
" ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ",
|
||||
" ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ",
|
||||
" ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ",
|
||||
" ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ",
|
||||
" ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ",
|
||||
" ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ",
|
||||
" ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ",
|
||||
" ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ",
|
||||
" ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ",
|
||||
" ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ",
|
||||
" ",
|
||||
},
|
||||
[3] = {
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢀⢄⠀⠀⡴⠁⠈⡆⠀⢀⡤⡀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠢⣄⠀⠀⡇⠀⡕⠀⢸⠀⢠⠃⠀⢮⠀⠹⠀⠀⣠⢾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⣞⠀⢀⠇⠀⡇⠀⡸⠀⠈⣆⠀⡸⠀⢰⠀⠀⡇⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠘⢶⣯⣊⣄⡨⠟⡡⠁⠐⢌⠫⢅⣢⣑⣵⠶⠁⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⣼⣀⠀⢀⠒⠒⠂⠉⠀⠀⠀⠀⠁⠐⠒⠂⡀⠀⣸⣄⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢠⢮⣵⣶⣦⡩⡲⣄⠀⠀⣿⣿⣽⠲⠭⣥⣖⣂⣀⣀⣀⣀⣐⣢⡭⠵⠖⣿⣿⢫⠀⠀⣠⣖⣯⣶⣶⣮⡷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
||||
" ⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⡟⢉⣉⠙⣿⣿⣦⠀⣿⣿⣿⣿⣷⣲⠶⠤⠭⣭⡭⠭⠴⠶⣖⣾⣿⣿⡿⢸⢀⣼⣿⡿⠋⣉⠉⢳⠁⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣶⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠮⣳⣴⣫⠂⠘⣿⣿⣇⢷⢻⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣿⣿⣿⣿⣿⢿⢃⡟⣼⣿⣿⠁⠸⣘⣢⣚⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠈⢧⢻ ⣿⣿⣟⠻⣿⣿⣿⣿⠛⣩⣿⣿ ⢟⡞⢀⣿⣿⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣒⣒⣦⣄⣿⣿⣿⢀⡬⣟⣯ ⣿⢷⣼⡟⢿⣿⡿⣿⣿ ⡻⣤⡀⣿⣿⣸⡠⢔⣒⡒⢤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀ ",
|
||||
"⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⢾⣟⣅⠉⢎⣽⣿⣿⡏⡟⣤⣮⣿⣿ ⡏⣿⠀⠀⣿⢡⣷ ⣿⣟⢎⣷⢻⣿⣿⣾⡟⠉⣽⡇⡇⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀ ",
|
||||
"⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿ ⠀⡴⣫⣭⣭⣍⡲⢄⠀⠀⠀⠀⠈⠻⠋⣠⡮⣻⣿⣿⠃⠳⣏⣼⣿⣿⣿⣿⡇⣿⣴⣴⣿⣾⣿⣿⣿⡿⣄⣩⠏⢸⣿⣿⣿⣧⡀⠛⠞⠁⠀⠀⠀⢀⣤⣺⣭⣭⣭⡝⢦⠀⠀⠀⠀⢸⣿⣿⣿⡿⠿⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠿⢿⣿⣿⣿⡇ ",
|
||||
"⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿ ⢸⢹⡟⠁⠀⠉⢫⡳⣵⣄⠀⠀⢀⠴⢊⣿⣾⣿⣿⣿⠀⠀⠀⠻⣬⣽⣿⣿⣿⣿ ⣿⣿⣿⣿⣯⣵⠏⠀⠀⢸⣿⣿⣿⣿⣿⣗⢤⡀⠀⠀⣠⣿⢟⠟⠉⠀⠈⢻⢸⡆⠀⠀⠀⢸⣿⣿⠏⣠⣤⡄⣠⣤⡌⢿⣿⣿⣿⣿⡿⢁⣤⣄⢀⣤⣄⠹⣿⣿⡇ ",
|
||||
"⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟ ⠘⢏⢧⣤⡀⠀⠀⣇⢻⣿⣆⢔⢕⣵⠟⣏⣿⣿⣿⠋⣵⠚⠄⣾⣿⣿⣿⡿⠟⣛⣛⣛⣛⠻⣿⣿⣿⣿⣧⢰⠓⣏⠻⣿⣿⣿⢹⠻⣿⣿⢦⣸⣿⡏⡾⠀⠀⢠⣤⠎⡼⠀⠀⠀⠀⠸⣿⣿⠀⢿⣿⣿⣿⣿⡟⢸⣿⣿⣿⣿⡇⠸⣿⣿⣿⣿⡿⠀⣿⣿⠇ ",
|
||||
"⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃ ⠀⠈⠑⠂⠁⠀⠀⣿⠸⣿⢏⢂⣾⠇⠀⣿⣿⣿⡇⡆⠹⢷⣴⣿⡿⠟⠉⣐⡀⠄⣠⡄⡠⣁⡠⠙⠻⢿⣿⣴⡾⠃⢠⢹⣿⣿⢸⠀⢹⣿⣷⢹⣿⢃⡇⠀⠀⠈⠒⠋⠀⠀⠀⠀⠀⠀⢻⣿⣆⠀⠙⠿⠟⠋⢀⣾⣿⣿⣿⣿⣷⡀⠈⠻⡿⠋⠁⣰⣿⡟⠀ ",
|
||||
"⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀ ⠀⠀⠀⠀⠀⠀⠀⢹⡀⣿⢀⣿⣿⡀⠀⢫⣿⣿⣷⣙⠒⠀⠄⠐⠂⣼⠾⣵⠾⠟⣛⣛⠺⢷⣮⠷⣢⠐⠂⠀⠀⠒⣣⣾⣿⡿⡎⠀⢠⣿⣿⡄⣿⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣶⣶⣾⣿⣿⡿⠋⠙⢿⣿⣿⣷⣶⣶⣶⣿⣿⣿⡇⠀ ",
|
||||
"⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀ ⠀⠀⠀⠀⠀⠀⠀⠘⣟⣿⢸⣿⣿⣷⣄⡈⣾⣿⣿⣿⣿⣿⠻⡷⢺⠃⠠⠁⠈⠋⠀⠀⠉⠁⠙⡀⠘⡗⣾⠿⣿⣿⣿⣿⣿⡿⢀⣴⣿⣿⡿⢃⣯⣽⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⣴⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⡆⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣵⡞⠀⠁⠐⢁⠎⠄⣠⠀⠀⡄⠀⢳⠈⠆⠈⠈⢳⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣸⡷⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣌⠛⢿⣿⣿⣿⣿⣿⣿⠿⠋⣠⣢⠂⠀⢂⠌⠀⠃⠀⠀⠘⠀⢢⡑⠀⠰⣵⡀⠻⢿⣿⣿⣿⣿⣿⣿⡿⠋⣰⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠙⠳⣤⣭⢛⣻⠿⣿⣷⣶⢞⡟⡁⢀⢄⠎⠀⠀⠀⠀⠀⡀⠁⠀⠳⢠⠀⢈⢿⢳⣶⣾⣿⠿⣟⣛⣅⡴⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠉⠙⠛⠻⠿⠿⡟⢜⠔⡠⢊⠔⠀⡆⠀⡆⠀⠀⢡⢰⢠⠀⢢⠱⣌⢂⠃⢿⠿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⢤⣊⡰⠵⢺⠉⠸⠀⢰⢃⠀⠀⠀⠀⠀⠸⢸⠀⠀⡇⡞⡑⠬⢆⣑⢤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠈⠁⠀⠀⠀⠘⣾⡸⢀⡜⡾⡀⡇⠀⠀⡴⢠⢻⢦⠀⢃⡿⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⡎⠀⠱⡡⠐⠀⠠⠃⢢⠋⠀⢧⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢤⡀⢀⠔⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
||||
" "
|
||||
},
|
||||
[4] = {
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⠿⠿⠿⠿⢿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⣾⣿⣿⠀⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⠀⣿⣿⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣾⣿⡿⠟⠛⠉⠉⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠉⠉⠛⠻⢿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⡿⠋⠀⠀⠀⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠙⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠃⠀⠀⣠⣶⣾⣿⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⣿⣷⣦⣄⠀⠀⠸⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⢀⣾⣿⡿⠛⠉⠀⣿⣿⡇⠀⠀⣀⣀⠀⠀⠀⠀⠀⣀⣀⠀⠀⢸⣿⣿⠀⠉⠛⢿⣿⣷⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣆⢸⣿⣿⠀⠀⠀⠀⣿⣿⡇⠀⢾⣿⣿⡇⠀⠀⠀⢾⣿⣿⡇⠀⢸⣿⣿⠀⠀⠀⠈⣿⣿⡇⣼⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣄⠀⠀⠀⣿⣿⡇⠀⠈⠙⠋⠀⠀⠀⠀⠈⠙⠋⠀⠀⢸⣿⣿⠀⠀⠀⣰⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣷⣶⣶⣿⣿⣿⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣿⣿⣿⣶⣶⣿⣿⣿⣿⡿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠛⠛⠛⠛⠛⠛⢻⣿⣿⠛⣿⣿⣿⢻⣿⣿⠛⠛⠛⠛⠛⠛⠛⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣈⣉⣉⣉⣉⡉⢹⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡏⢉⣉⣉⣉⣉⣁⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⢸⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⢸⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⢸⣿⣿⣄⣼⣿⣿⠀⣿⣿⣿⠸⣿⣿⣆⣠⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣄⠻⢿⣿⣿⠿⢋⣴⣿⣿⣿⣦⡙⠿⣿⣿⡿⠛⣠⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣷⣶⣤⣴⣶⣿⣿⠿⠙⢿⣿⣿⣶⣦⣴⣶⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠿⠛⠋⠁⠀⠀⠀⠈⠙⠛⠿⠿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
},
|
||||
[5] = {
|
||||
[[ ██████ ]],
|
||||
[[ ████▒▒▒▒▒▒████ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ]],
|
||||
[[ ██▒▒▒▒▒▒ ▒▒▓▓▒▒▒▒▒▒ ▓▓▓▓ ]],
|
||||
[[ ██▒▒▒▒▒▒ ▒▒▓▓▒▒▒▒▒▒ ▒▒▓▓ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ██ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||
[[ ██▒▒██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒██ ]],
|
||||
[[ ████ ██▒▒██ ██▒▒▒▒██ ██▒▒██ ]],
|
||||
[[ ██ ██ ████ ████ ]],
|
||||
},
|
||||
[7] = {
|
||||
"⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣶⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣷⣶⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡿⠿⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠿⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿⠀⠀⠀⠀⠀⠀⢸⣿⣿⠏⣠⣤⡄⣠⣤⡌⢿⣿⣿⣿⣿⡿⢁⣤⣄⢀⣤⣄⠹⣿⣿⡇⠀⠀⠀⠀⠀⢺⣿⣿⡿⠋⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟⠀⠀⠀⠀⠀⠀⠸⣿⣿⠀⢿⣿⣿⣿⣿⡟⢸⣿⣿⣿⣿⡇⠸⣿⣿⣿⣿⡿⠀⣿⣿⠇⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠋⠁⠠⢴⣾⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⢻⣿⣆⠀⠙⠿⠟⠋⢀⣾⣿⣿⣿⣿⣷⡀⠈⠻⡿⠋⠁⣰⣿⡟⠀⠀⠀⠀⠀⠀⠀⢿⣿⣷⣄⠀⠀⠀⢀⣰⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣄⣼⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣶⣶⣾⣿⣿⡿⠋⠙⢿⣿⣿⣷⣶⣶⣶⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⣾⣿⣿⣿⡟⢻⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⣴⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⣼⣆⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
},
|
||||
[8] = {
|
||||
"⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟⠀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
},
|
||||
[9] = {
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣶⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡿⠿⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠿⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⠏⣠⣤⡄⣠⣤⡌⢿⣿⣿⣿⣿⡿⢁⣤⣄⢀⣤⣄⠹⣿⣿⡇⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠸⣿⣿⠀⢿⣿⣿⣿⣿⡟⢸⣿⣿⣿⣿⡇⠸⣿⣿⣿⣿⡿⠀⣿⣿⠇⠀⠀⠀⠀⠀ ",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⢻⣿⣆⠀⠙⠿⠟⠋⢀⣾⣿⣿⣿⣿⣷⡀⠈⠻⡿⠋⠁⣰⣿⡟⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣶⣶⣾⣿⣿⡿⠋⠙⢿⣿⣿⣷⣶⣶⣶⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⣴⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
||||
},
|
||||
[10] = {
|
||||
[[ __ ]],
|
||||
[[ ___ ___ ___ __ __ /\_\ ___ ___ ]],
|
||||
[[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]],
|
||||
[[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
|
||||
[[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]],
|
||||
[[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]],
|
||||
[[ Welcome ]],
|
||||
},
|
||||
}
|
||||
|
||||
return banners
|
||||
215
lua/plugins/configs/ui/heirline.lua
Normal file
215
lua/plugins/configs/ui/heirline.lua
Normal file
@@ -0,0 +1,215 @@
|
||||
local M = {}
|
||||
|
||||
local status = require "astroui.status"
|
||||
local get_icon = require("astroui").get_icon
|
||||
local is_available = require("astrocore").is_available
|
||||
local path_func = status.provider.filename { modify = ":.:h", fallback = "" }
|
||||
|
||||
-- custom statusline
|
||||
M.statusline = {
|
||||
hl = { fg = "fg", bg = "bg" },
|
||||
-- Show mode text
|
||||
status.component.mode {
|
||||
-- enable mode text with padding as well as an icon before it
|
||||
mode_text = {
|
||||
icon = { kind = "Mode", padding = { left = 0, right = 0 } },
|
||||
},
|
||||
-- surround the component with a separators
|
||||
surround = {
|
||||
separator = "left",
|
||||
},
|
||||
},
|
||||
status.component.file_info {
|
||||
file_icon = { padding = { left = 0, right = 1 } },
|
||||
filename = { fallback = "Empty" },
|
||||
filetype = false,
|
||||
file_modified = false,
|
||||
surround = {
|
||||
separator = "none",
|
||||
color = "bg",
|
||||
},
|
||||
},
|
||||
status.component.git_branch {
|
||||
padding = { left = 0, right = 1 },
|
||||
surround = {
|
||||
separator = "none",
|
||||
color = "bg",
|
||||
},
|
||||
},
|
||||
-- Add a icon to represent diagnostic and git git diff
|
||||
-- status.component.builder {
|
||||
-- provider = function() return get_icon "Diagnostic" .. "/" .. get_icon "Github" end,
|
||||
-- hl = { fg = "black" },
|
||||
-- surround = {
|
||||
-- separator = { " ", "" },
|
||||
-- color = "#81ab9e",
|
||||
-- },
|
||||
-- },
|
||||
status.component.diagnostics {
|
||||
surround = {
|
||||
separator = "none",
|
||||
color = "bg",
|
||||
},
|
||||
},
|
||||
status.component.git_diff {
|
||||
padding = { left = 1 },
|
||||
surround = {
|
||||
separator = "none",
|
||||
color = "bg",
|
||||
},
|
||||
},
|
||||
status.component.fill(),
|
||||
-- Show search counts and results
|
||||
{
|
||||
condition = function(self)
|
||||
local query = vim.fn.getreg "/"
|
||||
if query == "" then return false end
|
||||
query = query:gsub([[^\V]], "")
|
||||
query = query:gsub([[\<]], ""):gsub([[\>]], "")
|
||||
|
||||
local search_count = vim.fn.searchcount { recompute = 1, maxcount = -1 }
|
||||
if search_count.total == 0 then return false end
|
||||
|
||||
self.query = query
|
||||
self.count = search_count
|
||||
return true
|
||||
end,
|
||||
status.component.builder {
|
||||
provider = function(self)
|
||||
return status.utils.stylize(" " .. self.query .. " " .. self.count.current .. "/" .. self.count.total, {
|
||||
icon = { kind = "Search" },
|
||||
})
|
||||
end,
|
||||
hl = { fg = "black" },
|
||||
surround = {
|
||||
separator = "left",
|
||||
color = "search_bg",
|
||||
},
|
||||
},
|
||||
},
|
||||
-- Show file encoding
|
||||
status.component.builder {
|
||||
provider = function()
|
||||
return status.utils.stylize(string.upper(vim.bo.fileencoding), {
|
||||
icon = { kind = "FileEncoding", padding = { right = 1 } },
|
||||
})
|
||||
end,
|
||||
hl = { fg = "text_fg" },
|
||||
padding = { right = 1 },
|
||||
},
|
||||
-- Show tab width
|
||||
status.component.builder {
|
||||
provider = function()
|
||||
return status.utils.stylize(tostring(vim.bo.tabstop), {
|
||||
icon = { kind = "TabWidth", padding = { right = 1 } },
|
||||
})
|
||||
end,
|
||||
hl = { fg = "text_fg" },
|
||||
padding = { right = 1 },
|
||||
},
|
||||
-- Show Grapple tag
|
||||
status.component.builder {
|
||||
condition = function()
|
||||
if status.condition.is_file and is_available "grapple.nvim" then return true end
|
||||
return false
|
||||
end,
|
||||
provider = function()
|
||||
local tag = tostring(require("grapple").name_or_index())
|
||||
if tag == "nil" then tag = "NO" end
|
||||
return status.utils.stylize(tag, {
|
||||
icon = { kind = "Grapple", padding = { right = 1 } },
|
||||
})
|
||||
end,
|
||||
|
||||
hl = { fg = "text_fg" },
|
||||
padding = { right = 1 },
|
||||
},
|
||||
-- Show Codeium status
|
||||
status.component.builder {
|
||||
condition = function()
|
||||
if status.condition.lsp_attached and is_available "neocodeium" then return true end
|
||||
return false
|
||||
end,
|
||||
provider = function()
|
||||
local codeium_status = "OFF"
|
||||
if require("neocodeium.options").options.enabled == true then codeium_status = "ON" end
|
||||
return status.utils.stylize(codeium_status, {
|
||||
icon = { kind = "Codeium", padding = { right = 1 } },
|
||||
})
|
||||
end,
|
||||
hl = { fg = "text_fg" },
|
||||
padding = { right = 1 },
|
||||
},
|
||||
-- status.component.lsp {
|
||||
-- lsp_client_names = {
|
||||
-- icon = { kind = "ActiveLSP", padding = { right = 1 } },
|
||||
-- },
|
||||
-- surround = { separator = "left" },
|
||||
-- },
|
||||
{
|
||||
status.component.builder {
|
||||
{ provider = get_icon "ScrollText" },
|
||||
padding = { right = 1 },
|
||||
hl = { fg = "black" },
|
||||
surround = {
|
||||
separator = { " ", "" },
|
||||
color = { main = "nav_icon_bg", left = "bg" },
|
||||
},
|
||||
},
|
||||
status.component.nav {
|
||||
percentage = { padding = { left = 0 } },
|
||||
ruler = false,
|
||||
scrollbar = false,
|
||||
surround = { separator = { "", "" } },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- custom winbar
|
||||
M.winbar = {
|
||||
-- store the current buffer number
|
||||
init = function(self) self.bufnr = vim.api.nvim_get_current_buf() end,
|
||||
fallthrough = false, -- pick the correct winbar based on condition
|
||||
-- inactive winbar
|
||||
{
|
||||
condition = function() return not status.condition.is_active() end,
|
||||
-- show the path to the file relative to the working directory
|
||||
status.component.separated_path { path_func = path_func },
|
||||
-- add the file name and icon
|
||||
status.component.file_info {
|
||||
file_icon = { hl = status.hl.file_icon "winbar", padding = { left = 0 } },
|
||||
filename = {},
|
||||
filetype = false,
|
||||
file_modified = false,
|
||||
file_read_only = false,
|
||||
hl = status.hl.get_attributes("winbarnc", true),
|
||||
surround = false,
|
||||
update = "BufEnter",
|
||||
},
|
||||
},
|
||||
-- active winbar
|
||||
{
|
||||
-- show the path to the file relative to the working directory
|
||||
status.component.separated_path { path_func = path_func },
|
||||
-- add the file name and icon
|
||||
status.component.file_info { -- add file_info to breadcrumbs
|
||||
file_icon = { hl = status.hl.filetype_color, padding = { left = 0 } },
|
||||
filename = {},
|
||||
filetype = false,
|
||||
file_modified = false,
|
||||
file_read_only = false,
|
||||
hl = status.hl.get_attributes("winbar", true),
|
||||
surround = false,
|
||||
update = "BufEnter",
|
||||
},
|
||||
-- show the breadcrumbs
|
||||
status.component.breadcrumbs {
|
||||
icon = { hl = true },
|
||||
hl = status.hl.get_attributes("winbar", true),
|
||||
prefix = true,
|
||||
padding = { left = 0 },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return M
|
||||
27
lua/plugins/configs/ui/highlights.lua
Normal file
27
lua/plugins/configs/ui/highlights.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
return {
|
||||
init = function() -- this table overrides highlights in all themes
|
||||
local get_hlgroup = require("astroui").get_hlgroup
|
||||
local ui = require("astroui")
|
||||
local utils = require("astrocore")
|
||||
|
||||
local hl = {
|
||||
-- remove background of virtual texts
|
||||
DiagnosticVirtualTextError = { fg = get_hlgroup("DiagnosticError").fg, bg = "none" },
|
||||
DiagnosticVirtualTextHint = { fg = get_hlgroup("DiagnosticHint").fg, bg = "none" },
|
||||
DiagnosticVirtualTextInfo = { fg = get_hlgroup("DiagnosticInfo").fg, bg = "none" },
|
||||
DiagnosticVirtualTextWarn = { fg = get_hlgroup("DiagnosticWarn").fg, bg = "none" },
|
||||
|
||||
CursorLineNr = { fg = "#FFD700", bg = "none", bold = true },
|
||||
CursorLine = { fg = "none", bg = "#004C4C", bold = true },
|
||||
Visual = { fg = "#000000", bg = "#FFFFFF", bold = true },
|
||||
|
||||
-- remove background of inlay hints
|
||||
LspInlayHint = { fg = "#FF748B", bg = "none" },
|
||||
}
|
||||
|
||||
return hl
|
||||
end,
|
||||
astrotheme = { -- a table of overrides/changes when applying the astrotheme theme
|
||||
-- Normal = { bg = "#000000" },
|
||||
},
|
||||
}
|
||||
59
lua/plugins/configs/ui/icons.lua
Normal file
59
lua/plugins/configs/ui/icons.lua
Normal file
@@ -0,0 +1,59 @@
|
||||
return {
|
||||
-- LSP
|
||||
ActiveLSP = " ",
|
||||
ActiveTS = " ",
|
||||
LSPLoaded = " ",
|
||||
LSPLoading1 = "⠋ ",
|
||||
LSPLoading2 = "⠙ ",
|
||||
LSPLoading3 = "⠹ ",
|
||||
LSPLoading4 = "⠸ ",
|
||||
LSPLoading5 = "⠼ ",
|
||||
LSPLoading6 = "⠴ ",
|
||||
LSPLoading7 = "⠦ ",
|
||||
LSPLoading8 = "⠧ ",
|
||||
LSPLoading9 = "⠇ ",
|
||||
LSPLoading10 = "⠏ ",
|
||||
-- Git
|
||||
Github = " ",
|
||||
GitAdd = " ",
|
||||
GitBranch = " ",
|
||||
GitChange = " ",
|
||||
GitConflict = " ",
|
||||
GitDelete = " ",
|
||||
GitIgnored = " ",
|
||||
GitRenamed = " ",
|
||||
GitStaged = "✓ ",
|
||||
GitUnstaged = "✗ ",
|
||||
GitUntracked = "★ ",
|
||||
Neogit = " ",
|
||||
-- Files
|
||||
Ellipsis = " ",
|
||||
DefaultFile = " ",
|
||||
FileModified = " ",
|
||||
FileReadOnly = " ",
|
||||
FoldClosed = " ",
|
||||
FoldOpened = " ",
|
||||
FolderClosed = " ",
|
||||
FolderEmpty = " ",
|
||||
FolderOpen = " ",
|
||||
-- DAP
|
||||
DapBreakpoint = " ",
|
||||
DapBreakpointCondition = " ",
|
||||
DapBreakpointRejected = " ",
|
||||
DapLogPoint = " ",
|
||||
DapStopped = " ",
|
||||
-- Diagnostics
|
||||
Diagnostic = " ",
|
||||
DiagnosticError = " ",
|
||||
DiagnosticHint = " ",
|
||||
DiagnosticInfo = " ",
|
||||
DiagnosticWarn = " ",
|
||||
-- Misc
|
||||
Mode = " ",
|
||||
FileEncoding = " ",
|
||||
ScrollText = " ",
|
||||
TabWidth = " ",
|
||||
Search = " ",
|
||||
Grapple = " ",
|
||||
Codeium = " ",
|
||||
}
|
||||
38
lua/plugins/configs/ui/lspkind.lua
Normal file
38
lua/plugins/configs/ui/lspkind.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
-- LSP kind symbol map
|
||||
return {
|
||||
Array = " ",
|
||||
Boolean = " ",
|
||||
Class = " ",
|
||||
Color = " ",
|
||||
Constant = " ",
|
||||
Constructor = " ",
|
||||
Enum = " ",
|
||||
EnumMember = " ",
|
||||
Event = " ",
|
||||
Field = " ",
|
||||
File = " ",
|
||||
Folder = " ",
|
||||
Function = " ",
|
||||
Interface = " ",
|
||||
Key = " ",
|
||||
Keyword = " ",
|
||||
Method = " ",
|
||||
Module = " ",
|
||||
Namespace = " ",
|
||||
Null = " ",
|
||||
Number = " ",
|
||||
Object = " ",
|
||||
Operator = " ",
|
||||
Package = " ",
|
||||
Property = " ",
|
||||
Reference = " ",
|
||||
Snippet = " ",
|
||||
String = " ",
|
||||
Struct = " ",
|
||||
Text = " ",
|
||||
TypeParameter = " ",
|
||||
Unit = " ",
|
||||
Value = " ",
|
||||
Variable = " ",
|
||||
}
|
||||
|
||||
39
lua/plugins/configs/ui/status.lua
Normal file
39
lua/plugins/configs/ui/status.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
return {
|
||||
separators = {
|
||||
left = { " ", " " }, -- separator for the left side of the statusline
|
||||
right = { " ", "" }, -- separator for the right side of the statusline
|
||||
-- tab = { "", "" },
|
||||
},
|
||||
colors = function(hl)
|
||||
local get_hlgroup = require("astroui").get_hlgroup
|
||||
-- use helper function to get highlight group properties
|
||||
hl.text_fg = "#60b2a7"
|
||||
hl.insert = "#a9b665"
|
||||
hl.visual = "#e8b142"
|
||||
hl.replace = "#ea6962"
|
||||
hl.terminal = "#a89984"
|
||||
hl.file_info_fg = hl.text_fg
|
||||
hl.file_info_bg = "#bac2de"
|
||||
hl.git_branch_fg = "#bd81b6"
|
||||
hl.git_branch_bg = "#f5c2e7"
|
||||
hl.lsp_fg = "black"
|
||||
hl.lsp_bg = "#7fb4ca"
|
||||
hl.search_bg = "#c8c093"
|
||||
hl.grapple_bg = "#eba0ac"
|
||||
hl.file_encoding_bg = "#f7768e"
|
||||
hl.tab_width_bg = "#ff966c"
|
||||
hl.nav_fg = "black"
|
||||
hl.nav_bg = get_hlgroup("String").fg
|
||||
hl.nav_icon_bg = hl.nav_bg
|
||||
hl.normal = "#ade8f4"
|
||||
return hl
|
||||
end,
|
||||
attributes = {
|
||||
mode = { bold = true },
|
||||
file_info = { bold = false },
|
||||
git_branch = { bold = false },
|
||||
diagnostics = { bold = false },
|
||||
git_diff = { bold = false },
|
||||
lsp = { bold = false },
|
||||
},
|
||||
}
|
||||
39
lua/plugins/configs/ui/transparent.lua
Normal file
39
lua/plugins/configs/ui/transparent.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
return function(opts)
|
||||
return require("astrocore").extend_tbl(opts, {
|
||||
-- table: default groups
|
||||
groups = {
|
||||
"Normal",
|
||||
"NormalNC",
|
||||
"Comment",
|
||||
"Constant",
|
||||
"Special",
|
||||
"Identifier",
|
||||
"Statement",
|
||||
"PreProc",
|
||||
"Type",
|
||||
"Underlined",
|
||||
"Todo",
|
||||
"String",
|
||||
"Function",
|
||||
"Conditional",
|
||||
"Repeat",
|
||||
"Operator",
|
||||
"Structure",
|
||||
"LineNr",
|
||||
"NonText",
|
||||
"SignColumn",
|
||||
"CursorLineNr",
|
||||
"EndOfBuffer",
|
||||
},
|
||||
-- table: additional groups that should be cleared
|
||||
extra_groups = {
|
||||
-- "NormalFloat",
|
||||
-- "NvimTreeNormal",
|
||||
-- "NeoTreeNormal",
|
||||
-- "NeoTreeFloatBorder",
|
||||
-- "NeoTreeNormalNC",
|
||||
},
|
||||
-- table: groups you don't want to clear
|
||||
exclude_groups = {},
|
||||
})
|
||||
end
|
||||
106
lua/plugins/developments.lua
Normal file
106
lua/plugins/developments.lua
Normal file
@@ -0,0 +1,106 @@
|
||||
-- Development Tools and Debugging
|
||||
return {
|
||||
-- LSP End hints
|
||||
{
|
||||
"chrisgrieser/nvim-lsp-endhints",
|
||||
event = "LspAttach",
|
||||
opts = {
|
||||
icons = {
|
||||
type = " ",
|
||||
parameter = " ",
|
||||
offspec = " ", -- hint kind not defined in official LSP spec
|
||||
unknown = " ", -- hint kind is nil
|
||||
},
|
||||
label = {
|
||||
truncateAtChars = 100,
|
||||
padding = 1,
|
||||
marginLeft = 0,
|
||||
sameKindSeparator = ", ",
|
||||
},
|
||||
extmark = {
|
||||
priority = 50,
|
||||
},
|
||||
autoEnableHints = true,
|
||||
},
|
||||
},
|
||||
|
||||
-- DAP UI (disabled)
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
enabled = false,
|
||||
requires = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
|
||||
opts = {
|
||||
eval = true,
|
||||
mappings = {
|
||||
edit = "e",
|
||||
expand = { "<CR>", "<2-LeftMouse>" },
|
||||
open = "o",
|
||||
remove = "d",
|
||||
repl = "r",
|
||||
toggle = "t",
|
||||
},
|
||||
layouts = {
|
||||
{
|
||||
elements = {
|
||||
{
|
||||
id = "repl",
|
||||
size = 0.5,
|
||||
},
|
||||
{
|
||||
id = "console",
|
||||
size = 0.5,
|
||||
},
|
||||
},
|
||||
position = "left",
|
||||
size = 40,
|
||||
},
|
||||
{
|
||||
elements = {
|
||||
{
|
||||
id = "scopes",
|
||||
size = 0.25,
|
||||
},
|
||||
{
|
||||
id = "breakpoints",
|
||||
size = 0.25,
|
||||
},
|
||||
},
|
||||
position = "bottom",
|
||||
size = 8,
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
local dap = require("dap")
|
||||
local dapui = require("dapui")
|
||||
dapui.setup(opts)
|
||||
dap.listeners.after.event_terminated["dapui"] = function()
|
||||
-- Do nothing, keeping the UI open
|
||||
end
|
||||
dap.listeners.after.event_exited["dapui"] = function()
|
||||
-- Do nothing, keeping the UI open
|
||||
end
|
||||
dap.listeners.after.event_initialized["dapui"] = function()
|
||||
dapui.open()
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
-- DAP Virtual Text (disabled)
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
enabled = false,
|
||||
event = "User AstroFile",
|
||||
opts = {
|
||||
commented = false,
|
||||
enabled = true,
|
||||
enabled_commands = true,
|
||||
show_stop_reason = true,
|
||||
virt_text_pos = "eol",
|
||||
},
|
||||
},
|
||||
|
||||
-- Disabled development plugins
|
||||
{ "mfussenegger/nvim-dap", enabled = false },
|
||||
{ "jay-babu/mason-nvim-dap.nvim", enabled = false },
|
||||
}
|
||||
25
lua/plugins/mason.lua
Normal file
25
lua/plugins/mason.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||
|
||||
-- Customize Mason
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
-- use mason-tool-installer for automatically installing Mason packages
|
||||
{
|
||||
"WhoIsSethDaniel/mason-tool-installer.nvim",
|
||||
-- overrides `require("mason-tool-installer").setup(...)`
|
||||
opts = {
|
||||
-- Make sure to use the names found in `:Mason`
|
||||
ensure_installed = {
|
||||
-- install language servers
|
||||
"lua-language-server",
|
||||
-- install debuggers
|
||||
"jedi_language_server",
|
||||
"ruff",
|
||||
"basedpyright",
|
||||
-- install any other package
|
||||
"tree-sitter-cli",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
39
lua/plugins/neo-tree.lua
Normal file
39
lua/plugins/neo-tree.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
-- File Explorer and File Management
|
||||
return {
|
||||
-- Neo-tree file explorer
|
||||
{
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
opts = {
|
||||
source_selector = {
|
||||
winbar = false,
|
||||
},
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = true,
|
||||
show_hidden_count = true,
|
||||
hide_dotfiles = false,
|
||||
hide_gitignored = false,
|
||||
hide_by_name = {},
|
||||
never_show = {},
|
||||
never_show_by_pattern = {
|
||||
"*.zip",
|
||||
"*.rar",
|
||||
},
|
||||
},
|
||||
},
|
||||
window = {
|
||||
mappings = {
|
||||
["K"] = false,
|
||||
["H"] = false,
|
||||
},
|
||||
},
|
||||
enable_git_status = false,
|
||||
enable_diagnostics = false,
|
||||
git_status_async = false,
|
||||
},
|
||||
},
|
||||
|
||||
-- Disabled file explorer plugins
|
||||
{ "s1n7ax/nvim-window-picker", enabled = false },
|
||||
}
|
||||
|
||||
24
lua/plugins/none-ls.lua
Normal file
24
lua/plugins/none-ls.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
-- Formatting and Linting
|
||||
return {
|
||||
-- None-ls formatting
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
dependencies = {
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
},
|
||||
opts = function(_, opts)
|
||||
local null_ls = require("null-ls")
|
||||
opts.sources = {
|
||||
require("none-ls.formatting.ruff").with({ extra_args = { "--extend-select", "F" } }),
|
||||
require("none-ls.formatting.ruff_format"),
|
||||
}
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
|
||||
-- Disabled formatting plugins
|
||||
{ "rafamadriz/friendly-snippets", enabled = false },
|
||||
{ "JoosepAlviste/nvim-ts-context-commentstring", enabled = false },
|
||||
{ "windwp/nvim-ts-autotag", enabled = false },
|
||||
}
|
||||
14
lua/plugins/themes.lua
Normal file
14
lua/plugins/themes.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
{
|
||||
"ribru17/bamboo.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("bamboo").setup {
|
||||
integrations = { mini = true },
|
||||
terminal_colors = false
|
||||
}
|
||||
require("bamboo").load()
|
||||
end,
|
||||
},
|
||||
}
|
||||
34
lua/plugins/treesitter.lua
Normal file
34
lua/plugins/treesitter.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
-- Customize Treesitter
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {},
|
||||
opts = function(_, opts)
|
||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
||||
opts.ignore_install = { "help" }
|
||||
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
||||
-- "lua",
|
||||
-- "c",
|
||||
-- "cpp",
|
||||
"python",
|
||||
"latex",
|
||||
-- "javascript",
|
||||
})
|
||||
|
||||
opts.highlight = {
|
||||
enable = true,
|
||||
disable = { "c", "rust", "tsx", "javascript" },
|
||||
additional_vim_regex_highlighting = false,
|
||||
custom_captures = {
|
||||
-- Highlight local variables
|
||||
["variable.local"] = "Identifier",
|
||||
},
|
||||
}
|
||||
|
||||
vim.api.nvim_set_hl(0, "Identifier", { fg = "#55ffff" })
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
146
lua/plugins/user.lua
Normal file
146
lua/plugins/user.lua
Normal file
@@ -0,0 +1,146 @@
|
||||
-- You can also add or configure plugins by creating files in this `plugins/` folder
|
||||
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
|
||||
-- Here are some examples:
|
||||
|
||||
---@type LazySpec
|
||||
return {
|
||||
|
||||
-- == Examples of Adding Plugins ==
|
||||
|
||||
"andweeb/presence.nvim",
|
||||
{
|
||||
"ray-x/lsp_signature.nvim",
|
||||
event = "BufRead",
|
||||
config = function() require("lsp_signature").setup() end,
|
||||
},
|
||||
|
||||
-- == Examples of Overriding Plugins ==
|
||||
|
||||
-- customize dashboard options
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
config = function(_, opts)
|
||||
require("snacks").setup(opts)
|
||||
end,
|
||||
opts = {
|
||||
dashboard = {
|
||||
preset = {
|
||||
header = table.concat(require("plugins.configs.ui.alpha")[10], "\n"),
|
||||
keys = {},
|
||||
},
|
||||
},
|
||||
scope = {
|
||||
char = ""
|
||||
},
|
||||
indent = {
|
||||
priority = 1,
|
||||
enabled = true, -- enable indent guides
|
||||
char = "l",
|
||||
only_scope = false, -- only show indent guides of the scope
|
||||
only_current = false, -- only show indent guides in the current window
|
||||
hl = "SnacksIndent", ---@type string|string[] hl groups for indent guides
|
||||
animate = {
|
||||
enabled = vim.fn.has("nvim-0.10") == 1,
|
||||
style = "out",
|
||||
easing = "linear",
|
||||
duration = {
|
||||
step = 20, -- ms per step
|
||||
total = 500, -- maximum duration
|
||||
},
|
||||
},
|
||||
---@class snacks.indent.Scope.Config: snacks.scope.Config
|
||||
scope = {
|
||||
enabled = true, -- enable highlighting the current scope
|
||||
priority = 200,
|
||||
char = "",
|
||||
underline = false, -- underline the start of the scope
|
||||
only_current = false, -- only show scope in the current window
|
||||
hl = "SnacksIndentScope", ---@type string|string[] hl group for scopes
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- You can disable default plugins as follows:
|
||||
{ "max397574/better-escape.nvim", enabled = false },
|
||||
|
||||
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
config = function(plugin, opts)
|
||||
require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call
|
||||
-- add more custom luasnip configuration such as filetype extend or custom snippets
|
||||
local luasnip = require "luasnip"
|
||||
luasnip.filetype_extend("javascript", { "javascriptreact" })
|
||||
end,
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"altermo/ultimate-autopair.nvim",
|
||||
event = "InsertEnter",
|
||||
branch = "v0.6",
|
||||
opts = {
|
||||
cmap = false,
|
||||
extensions = {
|
||||
cond = {
|
||||
cond = {
|
||||
function(fn)
|
||||
return not fn.in_node("comment")
|
||||
end,
|
||||
},
|
||||
},
|
||||
fly = {
|
||||
nofilter = true,
|
||||
},
|
||||
},
|
||||
config_internal_pairs = {
|
||||
{ '"', '"', fly = true },
|
||||
{ "'", "'", fly = true },
|
||||
{ "[", "]", fly = true },
|
||||
{ "{", "}", fly = true },
|
||||
{ "(", ")", fly = true },
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
{
|
||||
"AstroNvim/astrocore",
|
||||
opts = {
|
||||
mappings = {
|
||||
n = {
|
||||
["<Leader>ua"] = {
|
||||
desc = "Toggle Ultimate Autopair",
|
||||
function()
|
||||
local notify = require("astrocore").notify
|
||||
local function bool2str(bool)
|
||||
return bool and "on" or "off"
|
||||
end
|
||||
local ok, ultimate_autopair = pcall(require, "ultimate-autopair")
|
||||
if ok then
|
||||
ultimate_autopair.toggle()
|
||||
vim.g.ultimate_autopair_enabled = require("ultimate-autopair.core").disable
|
||||
notify(
|
||||
string.format(
|
||||
"ultimate-autopair %s",
|
||||
bool2str(not vim.g.ultimate_autopair_enabled)
|
||||
)
|
||||
)
|
||||
else
|
||||
notify("ultimate-autopair not available")
|
||||
end
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
specs = {
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
optional = true,
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
5
lua/polish.lua
Normal file
5
lua/polish.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
||||
|
||||
-- This will run last in the setup process.
|
||||
-- This is just pure lua so anything that doesn't
|
||||
-- fit in the normal config locations above can go here
|
||||
Reference in New Issue
Block a user