refactor config
1
config/Gnome Extensions
Normal file
3
config/astronvim/lua/user/init.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
colorscheme = "catppuccin",
|
||||
}
|
||||
3
config/astronvim/lua/user/lsp/skip_setup.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
"rust_analyzer",
|
||||
}
|
||||
123
config/astronvim/lua/user/mappings.lua
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
return {
|
||||
n = {
|
||||
["<C-t>"] = { "<cmd>ToggleTerm<cr>", desc = "Toggle terminal" },
|
||||
["<leader>fn"] = false,
|
||||
["<leader>fo"] = false,
|
||||
["<leader>fh"] = false,
|
||||
["<leader>fb"] = false,
|
||||
["<F10>"] = false,
|
||||
["<F11>"] = false,
|
||||
["<F12>"] = false,
|
||||
|
||||
["<F1>"] = {
|
||||
function()
|
||||
require("dap").terminate()
|
||||
end,
|
||||
desc = "Debugger: Stop",
|
||||
}, -- S-F1
|
||||
["<F2>"] = {
|
||||
function()
|
||||
require("dap").restart_frame()
|
||||
end,
|
||||
desc = "Debugger: Restart",
|
||||
},
|
||||
["<F3>"] = {
|
||||
function()
|
||||
require("dap").step_out()
|
||||
end,
|
||||
desc = "Debugger: Step Out",
|
||||
},
|
||||
["<F4>"] = {
|
||||
function()
|
||||
require("dap").step_into()
|
||||
end,
|
||||
desc = "Debugger: Step Into",
|
||||
},
|
||||
["<F5>"] = {
|
||||
function()
|
||||
require("dap").step_over()
|
||||
end,
|
||||
desc = "Debugger: Step Over",
|
||||
},
|
||||
["<F6>"] = {
|
||||
function()
|
||||
require("dap").continue()
|
||||
end,
|
||||
desc = "Debugger: Start",
|
||||
},
|
||||
["<F7>"] = {
|
||||
function()
|
||||
require("dap").toggle_breakpoint()
|
||||
end,
|
||||
desc = "Debugger: Toggle Breakpoint",
|
||||
},
|
||||
|
||||
["<leader>fp"] = {
|
||||
function()
|
||||
require("telescope").extensions.projects.projects()
|
||||
end,
|
||||
desc = "Search project",
|
||||
},
|
||||
["<leader>lj"] = {
|
||||
function()
|
||||
vim.diagnostic.goto_next()
|
||||
end,
|
||||
desc = "Go to next diagnostic",
|
||||
},
|
||||
["<leader>lk"] = {
|
||||
function()
|
||||
vim.diagnostic.goto_prev()
|
||||
end,
|
||||
desc = "Go to prev diagnostic",
|
||||
},
|
||||
|
||||
["<leader>Ch"] = {
|
||||
function()
|
||||
require("nvim-comment-frame").add_comment()
|
||||
end,
|
||||
desc = "Add a comment frame",
|
||||
},
|
||||
|
||||
["<leader>CH"] = {
|
||||
function()
|
||||
require("nvim-comment-frame").add_multiline_comment()
|
||||
end,
|
||||
desc = "Add a multiline comment frame",
|
||||
},
|
||||
|
||||
["<leader>Cd"] = {
|
||||
function()
|
||||
require("neogen").generate()
|
||||
end,
|
||||
desc = "Generate comment docstring",
|
||||
},
|
||||
|
||||
["<leader>ft"] = {
|
||||
"<cmd>TodoTrouble<CR>",
|
||||
desc = "Search TODOS",
|
||||
},
|
||||
|
||||
["<leader>r"] = {
|
||||
":s/",
|
||||
desc = "Search and replace",
|
||||
},
|
||||
["<leader>R"] = {
|
||||
":%s/",
|
||||
desc = "Search and replace in whole file",
|
||||
},
|
||||
},
|
||||
v = {
|
||||
["<leader>r"] = {
|
||||
":s/",
|
||||
desc = "Search and replace",
|
||||
},
|
||||
|
||||
["p"] = {
|
||||
"pgvy",
|
||||
desc = "Paste and re yank text",
|
||||
},
|
||||
},
|
||||
t = {
|
||||
["<C-t>"] = { "<cmd>ToggleTerm<cr>", desc = "Toggle terminal" },
|
||||
},
|
||||
}
|
||||
22
config/astronvim/lua/user/mason-nvim-dap/setup_handlers.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
return {
|
||||
firefox = function(source_name)
|
||||
local dap = require("dap")
|
||||
dap.adapters.firefox = {
|
||||
type = "executable",
|
||||
command = "node",
|
||||
args = { os.getenv("HOME") .. "/.local/share/nvim/mason/bin/firefox-debug-adapter" },
|
||||
}
|
||||
|
||||
dap.configurations.javascriptreact = {
|
||||
{
|
||||
name = "Debug with Firefox",
|
||||
type = "firefox",
|
||||
request = "launch",
|
||||
reAttach = true,
|
||||
url = "http://localhost:3000",
|
||||
webRoot = "${workspaceFolder}",
|
||||
firefoxExecutable = "/usr/bin/firefox-developer-edition",
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
11
config/astronvim/lua/user/options.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
g = {
|
||||
catppuccin_flavour = "macchiato",
|
||||
},
|
||||
|
||||
opt = {
|
||||
number = true,
|
||||
relativenumber = true,
|
||||
-- spelllang = "en_us,es_cl",
|
||||
},
|
||||
}
|
||||
31
config/astronvim/lua/user/plugins/alpha.lua
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
local alpha_button = astronvim.alpha_button
|
||||
return {
|
||||
layout = {
|
||||
{ type = "padding", val = vim.fn.max({ 2, vim.fn.floor(vim.fn.winheight(0) * 0.2) }) },
|
||||
{
|
||||
type = "text",
|
||||
val = astronvim.user_plugin_opts("header", {
|
||||
" ████ ███ █████ █████ ",
|
||||
" ░░███ ░░░ ░░███ ░░███ ",
|
||||
" ██████ ░███ ██████ ████ ███████ ░███ █████",
|
||||
" ░░░░░███ ░███ ███░░███░░███ ███░░███ ░███░░███ ",
|
||||
" ███████ ░███ ░███████ ░███ ░███ ░███ ░██████░ ",
|
||||
" ███░░███ ░███ ░███░░░ ░███ ░███ ░███ ░███░░███ ",
|
||||
"░░████████ █████░░██████ █████░░████████ ████ █████",
|
||||
" ░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ",
|
||||
}, false),
|
||||
opts = { position = "center", hl = "DashboardHeader" },
|
||||
},
|
||||
{ type = "padding", val = 5 },
|
||||
{
|
||||
type = "group",
|
||||
val = {
|
||||
alpha_button("LDR f p", " Recent Project "),
|
||||
alpha_button("LDR f f", " Find File "),
|
||||
alpha_button("LDR o", "פּ File Explorer "),
|
||||
alpha_button("LDR m a", " Bookmarks "),
|
||||
},
|
||||
opts = { spacing = 1 },
|
||||
},
|
||||
},
|
||||
}
|
||||
72
config/astronvim/lua/user/plugins/catppuccin.lua
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
local catppuccin = require("catppuccin")
|
||||
|
||||
-- configure it
|
||||
catppuccin.setup({
|
||||
transparent_background = true,
|
||||
term_colors = false,
|
||||
styles = {
|
||||
comments = { "italic" },
|
||||
conditionals = { "italic" },
|
||||
loops = { "italic" },
|
||||
functions = { "italic" },
|
||||
keywords = { "italic" },
|
||||
strings = { "italic" },
|
||||
variables = { "italic" },
|
||||
numbers = {},
|
||||
booleans = {},
|
||||
properties = {},
|
||||
types = {},
|
||||
operators = {},
|
||||
},
|
||||
integrations = {
|
||||
treesitter = true,
|
||||
native_lsp = {
|
||||
enabled = true,
|
||||
virtual_text = {
|
||||
errors = { "italic" },
|
||||
hints = { "italic" },
|
||||
warnings = { "italic" },
|
||||
information = { "italic" },
|
||||
},
|
||||
underlines = {
|
||||
errors = { "underline" },
|
||||
hints = { "underline" },
|
||||
warnings = { "underline" },
|
||||
information = { "underline" },
|
||||
},
|
||||
},
|
||||
lsp_trouble = true,
|
||||
cmp = true,
|
||||
lsp_saga = true,
|
||||
gitgutter = false,
|
||||
gitsigns = true,
|
||||
telescope = true,
|
||||
nvimtree = {
|
||||
enabled = true,
|
||||
show_root = true,
|
||||
transparent_panel = true,
|
||||
},
|
||||
indent_blankline = { enabled = true, colored_indent_levels = true },
|
||||
neotree = {
|
||||
enabled = false,
|
||||
show_root = true,
|
||||
transparent_panel = false,
|
||||
},
|
||||
dap = { enabled = false, enable_ui = false },
|
||||
which_key = true,
|
||||
dashboard = true,
|
||||
neogit = false,
|
||||
vim_sneak = false,
|
||||
fern = false,
|
||||
barbar = true,
|
||||
bufferline = true,
|
||||
markdown = true,
|
||||
lightspeed = false,
|
||||
ts_rainbow = true,
|
||||
hop = false,
|
||||
notify = true,
|
||||
telekasten = true,
|
||||
symbols_outline = true,
|
||||
mini = false,
|
||||
},
|
||||
})
|
||||
74
config/astronvim/lua/user/plugins/harpoon.lua
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
require("harpoon").setup({
|
||||
global_settings = {
|
||||
-- sets the marks upon calling `toggle` on the ui, instead of require `:w`.
|
||||
save_on_toggle = true,
|
||||
|
||||
-- saves the harpoon file upon every change. disabling is unrecommended.
|
||||
save_on_change = true,
|
||||
|
||||
-- sets harpoon to run the command immediately as it's passed to the terminal when calling `sendCommand`.
|
||||
enter_on_sendcmd = true,
|
||||
|
||||
-- closes any tmux windows harpoon that harpoon creates when you close Neovim.
|
||||
tmux_autoclose_windows = false,
|
||||
|
||||
-- filetypes that you want to prevent from adding to the harpoon list menu.
|
||||
excluded_filetypes = { "harpoon" },
|
||||
|
||||
-- set marks specific to each git branch inside git repository
|
||||
mark_branch = false,
|
||||
},
|
||||
projects = {
|
||||
-- Yes $HOME works
|
||||
["$HOME/personal/vim-with-me/server"] = {
|
||||
term = {
|
||||
cmds = {
|
||||
"./env && npx ts-node src/index.ts",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
local mark = require("harpoon.mark")
|
||||
local ui = require("harpoon.ui")
|
||||
local tmux = require("harpoon.tmux")
|
||||
local telescope = require("telescope")
|
||||
|
||||
local command_prompt = "Enter command: "
|
||||
|
||||
telescope.load_extension("harpoon")
|
||||
|
||||
local function map(key, func, desc)
|
||||
vim.keymap.set("n", "<leader><leader>" .. key, func, { desc = desc })
|
||||
end
|
||||
|
||||
map("n", mark.add_file, "Add mark")
|
||||
|
||||
map("t", ui.toggle_quick_menu, "Toogle UI")
|
||||
|
||||
map("j", function()
|
||||
ui.nav_file(1)
|
||||
end, "Navigate to file 1")
|
||||
|
||||
map("k", function()
|
||||
ui.nav_file(2)
|
||||
end, "Navigate to file 2")
|
||||
|
||||
map("l", function()
|
||||
ui.nav_file(3)
|
||||
end, "Navigate to file 3")
|
||||
|
||||
map("ñ", function()
|
||||
ui.nav_file(4)
|
||||
end, "Navigate to file 4")
|
||||
|
||||
map("g", function()
|
||||
local input = vim.fn.input(command_prompt)
|
||||
tmux.sendCommand("{next}", input)
|
||||
end, "Send command to tmux pane 1")
|
||||
|
||||
map("G", function()
|
||||
tmux.sendCommand("{next}", "\3")
|
||||
end, "Send command to tmux pane 1")
|
||||
|
||||
map("T", "<CMD>Telescope harpoon marks<CR>", "Open marks in telescope")
|
||||
86
config/astronvim/lua/user/plugins/init.lua
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
return {
|
||||
["/nvim-neo-tree/neo-tree.nvim"] = { disable = true },
|
||||
["rcarriga/nvim-notify"] = { disable = true },
|
||||
|
||||
["catppuccin/nvim"] = {
|
||||
as = "catppuccin",
|
||||
config = function()
|
||||
require("user.plugins.catppuccin")
|
||||
end,
|
||||
},
|
||||
["nvim-treesitter/nvim-treesitter-context"] = {
|
||||
config = function()
|
||||
require("treesitter-context").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
["ahmedkhalf/project.nvim"] = {
|
||||
config = function()
|
||||
require("user.plugins.project")
|
||||
end,
|
||||
},
|
||||
|
||||
["kyazdani42/nvim-tree.lua"] = {
|
||||
config = function()
|
||||
require("user.plugins.nvim-tree")
|
||||
end,
|
||||
},
|
||||
|
||||
["kylechui/nvim-surround"] = {
|
||||
tag = "*", -- Use for stability; omit to use `main` branch for the latest features
|
||||
config = function()
|
||||
require("nvim-surround").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
["s1n7ax/nvim-comment-frame"] = {
|
||||
requires = {
|
||||
{ "nvim-treesitter" },
|
||||
},
|
||||
config = function()
|
||||
require("nvim-comment-frame").setup({
|
||||
disable_default_keymap = true,
|
||||
})
|
||||
end,
|
||||
},
|
||||
["danymat/neogen"] = {
|
||||
config = function()
|
||||
require("neogen").setup({ snippet_engine = "luasnip" })
|
||||
end,
|
||||
requires = "nvim-treesitter/nvim-treesitter",
|
||||
tag = "*", -- stable releases
|
||||
},
|
||||
|
||||
["folke/todo-comments.nvim"] = {
|
||||
requires = "nvim-lua/plenary.nvim",
|
||||
config = function()
|
||||
require("todo-comments").setup({})
|
||||
end,
|
||||
},
|
||||
|
||||
["folke/trouble.nvim"] = {
|
||||
requires = "kyazdani42/nvim-web-devicons",
|
||||
config = function()
|
||||
require("user.plugins.trouble")
|
||||
end,
|
||||
},
|
||||
["anuvyklack/pretty-fold.nvim"] = {
|
||||
config = function()
|
||||
require("user.plugins.pretty-fold")
|
||||
end,
|
||||
},
|
||||
["simrat39/rust-tools.nvim"] = {
|
||||
after = "mason-lspconfig.nvim", -- make sure to load after mason-lspconfig
|
||||
config = function()
|
||||
require("rust-tools").setup({
|
||||
server = astronvim.lsp.server_settings("rust_analyzer"), -- get the server settings and built in capabilities/on_attach
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
["ThePrimeagen/harpoon"] = {
|
||||
config = function()
|
||||
require("user.plugins.harpoon")
|
||||
end,
|
||||
},
|
||||
}
|
||||
15
config/astronvim/lua/user/plugins/mason-lspconfig.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
ensure_installed = {
|
||||
"bashls",
|
||||
"cssls",
|
||||
"dockerls",
|
||||
"emmet_ls",
|
||||
"html",
|
||||
"pyright",
|
||||
"rust_analyzer",
|
||||
"sqlls",
|
||||
"sumneko_lua",
|
||||
"tsserver",
|
||||
"yamlls",
|
||||
},
|
||||
}
|
||||
19
config/astronvim/lua/user/plugins/mason-null-ls.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
return {
|
||||
ensure_installed = {
|
||||
"blade_formatter",
|
||||
"blue",
|
||||
"eslint_d",
|
||||
"fixjson",
|
||||
"gitlint",
|
||||
"intelephense",
|
||||
"luacheck",
|
||||
"markdownlint",
|
||||
"php-cs-fixer",
|
||||
"prettierd",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"sql-formatter",
|
||||
"stylua",
|
||||
"yamlint",
|
||||
},
|
||||
}
|
||||
9
config/astronvim/lua/user/plugins/null-ls.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
return function(config)
|
||||
local null_ls = require("null-ls")
|
||||
config.sources = {
|
||||
null_ls.builtins.formatting.prettierd.with({
|
||||
disabled_filetypes = { "markdown" },
|
||||
}),
|
||||
}
|
||||
return config
|
||||
end
|
||||
46
config/astronvim/lua/user/plugins/nvim-tree.lua
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
local tree = require("nvim-tree")
|
||||
local tree_cb = require("nvim-tree.config").nvim_tree_callback
|
||||
|
||||
tree.setup({
|
||||
hijack_unnamed_buffer_when_opening = true,
|
||||
disable_netrw = true,
|
||||
hijack_netrw = true,
|
||||
hijack_cursor = true, -- cursor at the start of filename
|
||||
sync_root_with_cwd = true,
|
||||
respect_buf_cwd = true,
|
||||
update_focused_file = {
|
||||
enable = true, -- focus curren file
|
||||
update_root = true,
|
||||
},
|
||||
actions = { open_file = { quit_on_open = true } },
|
||||
renderer = {
|
||||
full_name = true, -- show remaining name in floating text
|
||||
group_empty = true, -- group empty folders
|
||||
add_trailing = true, -- Trailing slash to folders
|
||||
highlight_opened_files = "all",
|
||||
highlight_git = true,
|
||||
},
|
||||
view = {
|
||||
centralize_selection = true, -- center current file on enter
|
||||
width = 30, -- N° of columns or %
|
||||
mappings = {
|
||||
custom_only = false,
|
||||
-- list of mappings to set on the tree manually
|
||||
list = {
|
||||
{ key = { "l", "<CR>", "o", "<2-LeftMouse>" }, action = "edit" },
|
||||
-- {key = {"L", "<2-RightMouse>", "<C-]>"}, action = "cd"},
|
||||
{ key = "s", action = "vsplit" },
|
||||
{ key = "v", action = "split" },
|
||||
{ key = "t", action = "tabnew" },
|
||||
{ key = { "h", "<BS>" }, action = "close_node" },
|
||||
{ key = "i", action = "toggle_dotfiles" },
|
||||
{ key = "I", action = "toggle_ignored" },
|
||||
{ key = { "<C-l>", "<C-CR>" }, cb = tree_cb("system_open") },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- bindings
|
||||
vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||
vim.keymap.set("n", "<C-e>", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||
39
config/astronvim/lua/user/plugins/pretty-fold.lua
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
require("pretty-fold").setup({
|
||||
sections = {
|
||||
left = {
|
||||
"+",
|
||||
function()
|
||||
return string.rep("-", vim.v.foldlevel)
|
||||
end,
|
||||
" ",
|
||||
"content",
|
||||
" ",
|
||||
"number_of_folded_lines",
|
||||
" ",
|
||||
function()
|
||||
return string.rep("-", vim.v.foldlevel)
|
||||
end,
|
||||
"+",
|
||||
},
|
||||
},
|
||||
fill_char = " ",
|
||||
|
||||
-- Possible values:
|
||||
-- "delete" : Delete all comment signs from the fold string.
|
||||
-- "spaces" : Replace all comment signs with equal number of spaces.
|
||||
-- false : Do nothing with comment signs.
|
||||
process_comment_signs = "delete",
|
||||
|
||||
-- List of patterns that will be removed from content foldtext section.
|
||||
stop_words = {
|
||||
"@brief%s*", -- (for C++) Remove '@brief' and all spaces after.
|
||||
},
|
||||
|
||||
matchup_patterns = {
|
||||
{ "{", "}" },
|
||||
{ "%(", ")" }, -- % to escape lua pattern char
|
||||
{ "%[", "]" }, -- % to escape lua pattern char
|
||||
},
|
||||
|
||||
ft_ignore = { "neorg" },
|
||||
})
|
||||
44
config/astronvim/lua/user/plugins/project.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
require("project_nvim").setup({
|
||||
-- Manual mode doesn't automatically change your root directory, so you have
|
||||
-- the option to manually do so using `:ProjectRoot` command.
|
||||
manual_mode = false,
|
||||
|
||||
-- Methods of detecting the root directory. **"lsp"** uses the native neovim
|
||||
-- lsp, while **"pattern"** uses vim-rooter like glob pattern matching. Here
|
||||
-- order matters: if one is not detected, the other is used as fallback. You
|
||||
-- can also delete or rearangne the detection methods.
|
||||
detection_methods = { "lsp", "pattern" },
|
||||
|
||||
-- All the patterns used to detect root dir, when **"pattern"** is in
|
||||
-- detection_methods
|
||||
patterns = {
|
||||
".git",
|
||||
"_darcs",
|
||||
".hg",
|
||||
".bzr",
|
||||
".svn",
|
||||
"Makefile",
|
||||
"package.json",
|
||||
},
|
||||
|
||||
-- Table of lsp clients to ignore by name
|
||||
-- eg: { "efm", ... }
|
||||
ignore_lsp = {},
|
||||
|
||||
-- Don't calculate root dir on specific directories
|
||||
-- Ex: { "~/.cargo/*", ... }
|
||||
exclude_dirs = {},
|
||||
|
||||
-- Show hidden files in telescope
|
||||
show_hidden = false,
|
||||
|
||||
-- When set to false, you will get a message when project.nvim changes your
|
||||
-- directory.
|
||||
silent_chdir = false,
|
||||
|
||||
-- Path where project.nvim will store the project history for use in
|
||||
-- telescope
|
||||
datapath = vim.fn.stdpath("data"),
|
||||
})
|
||||
|
||||
require("telescope").load_extension("projects")
|
||||
15
config/astronvim/lua/user/plugins/telescope.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
local telescope_actions = require("telescope.actions")
|
||||
|
||||
return {
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-j>"] = telescope_actions.move_selection_next,
|
||||
["<C-k>"] = telescope_actions.move_selection_previous,
|
||||
["<C-s>"] = telescope_actions.file_vsplit,
|
||||
["<C-v>"] = telescope_actions.file_split,
|
||||
["<ESC>"] = telescope_actions.close,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
3
config/astronvim/lua/user/plugins/treesitter.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
ensure_installed = { "javascript", "typescript", "php", "python", "lua", "bash", "sql", "yaml", "json" },
|
||||
}
|
||||
26
config/astronvim/lua/user/plugins/trouble.lua
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
require("trouble").setup({
|
||||
mode = "document_diagnostics",
|
||||
action_keys = { -- key mappings for actions in the trouble list
|
||||
-- map to {} to remove a mapping, for example:
|
||||
-- close = {},
|
||||
close = "q", -- close the list
|
||||
cancel = "<esc>", -- cancel the preview and get back to your last window / buffer / cursor
|
||||
refresh = "r", -- manually refresh
|
||||
jump = { "<cr>", "<tab>" }, -- jump to the diagnostic or open / close folds
|
||||
open_split = { "s" }, -- open buffer in new split
|
||||
open_vsplit = { "v" }, -- open buffer in new vsplit
|
||||
open_tab = { "t" }, -- open buffer in new tab
|
||||
jump_close = { "o" }, -- jump to the diagnostic and close the list
|
||||
toggle_mode = "m", -- toggle between "workspace" and "document" diagnostics mode
|
||||
toggle_preview = "P", -- toggle auto_preview
|
||||
hover = "K", -- opens a small popup with the full multiline message
|
||||
preview = "p", -- preview the diagnostic location
|
||||
close_folds = { "zM", "zm" }, -- close all folds
|
||||
open_folds = { "zR", "zr" }, -- open all folds
|
||||
toggle_fold = { "zA", "za" }, -- toggle fold of current file
|
||||
previous = "k", -- previous item
|
||||
next = "j", -- next item
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>fd", "<cmd>TroubleToggle<cr>", { silent = true, desc = "Search diagnostics" })
|
||||
3
config/astronvim/lua/user/plugins/window-picker.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
use_winbar = "always",
|
||||
}
|
||||
35
config/astronvim/lua/user/polish.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
return function()
|
||||
local function alpha_on_bye(cmd)
|
||||
local bufs = vim.fn.getbufinfo({ buflisted = true })
|
||||
vim.cmd(cmd)
|
||||
if require("core.utils").is_available("alpha-nvim") and not bufs[2] then
|
||||
require("alpha").start(true)
|
||||
end
|
||||
end
|
||||
|
||||
vim.keymap.del("n", "<leader>C")
|
||||
|
||||
if require("core.utils").is_available("bufdelete.nvim") then
|
||||
vim.keymap.set("n", "<leader>C", function()
|
||||
alpha_on_bye("Bdelete!")
|
||||
end, { desc = "Close buffer" })
|
||||
else
|
||||
vim.keymap.set("n", "<leader>C", function()
|
||||
alpha_on_bye("bdelete!")
|
||||
end, { desc = "Close buffer" })
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd({
|
||||
"BufEnter",
|
||||
"BufAdd",
|
||||
"BufNew",
|
||||
"BufNewFile",
|
||||
"BufWinEnter",
|
||||
}, {
|
||||
group = vim.api.nvim_create_augroup("TS_FOLD_WORKAROUND", {}),
|
||||
callback = function()
|
||||
vim.opt.foldmethod = "expr"
|
||||
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||
end,
|
||||
})
|
||||
end
|
||||
8
config/astronvim/lua/user/which-key/register.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
return {
|
||||
n = {
|
||||
["<leader>"] = {
|
||||
["C"] = { name = "Comment Stuff" },
|
||||
["<leader>"] = { name = "Harpoon" },
|
||||
},
|
||||
},
|
||||
}
|
||||
23
config/create-links
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
[[ ! -e "$HOME/.config" ]] && mkdir -p "$HOME/.config/"
|
||||
|
||||
echo "Creating symlinks..."
|
||||
for var in $SCRIPT_DIR/*; do
|
||||
pkg=$(basename "$var")
|
||||
|
||||
# if exist and is not a symlink
|
||||
if [[ -e "$HOME/.config/$pkg" && ! -h "$HOME/.config/$pkg" ]]; then
|
||||
echo "Config for $pkg exist, creating backup ${pkg}.old"
|
||||
mv "$HOME/.config/$pkg" "$HOME/.config/${pkg}.old"
|
||||
|
||||
elif [[ -e "$HOME/.config/$pkg" && -h "$HOME/.config/$pkg" ]]; then
|
||||
unlink "$HOME/.config/$pkg"
|
||||
fi
|
||||
|
||||
ln -sf "$var" "$HOME/.config/"
|
||||
done
|
||||
14
config/helix/config.toml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
theme = "catppuccin_mocha"
|
||||
|
||||
[editor]
|
||||
scrolloff = 15
|
||||
line-number = "relative"
|
||||
color-modes = true
|
||||
|
||||
[editor.cursor-shape]
|
||||
normal = "block"
|
||||
insert = "bar"
|
||||
select = "underline"
|
||||
|
||||
[editor.indent-guides]
|
||||
render = true
|
||||
19
config/lazygit/config.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
theme:
|
||||
lightTheme: false
|
||||
activeBorderColor:
|
||||
- "#a6da95" # Green
|
||||
- bold
|
||||
inactiveBorderColor:
|
||||
- "#cad3f5" # Text
|
||||
optionsTextColor:
|
||||
- "#8aadf4" # Blue
|
||||
selectedLineBgColor:
|
||||
- "#363a4f" # Surface0
|
||||
selectedRangeBgColor:
|
||||
- "#363a4f" # Surface0
|
||||
cherryPickedCommitBgColor:
|
||||
- "#8bd5ca" # Teal
|
||||
cherryPickedCommitFgColor:
|
||||
- "#8aadf4" # Blue
|
||||
unstagedChangesColor:
|
||||
- red # Red
|
||||
11
config/nvim.old/acsii_art.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
████ ███ █████ █████
|
||||
░░███ ░░░ ░░███ ░░███
|
||||
██████ ░███ ██████ ████ ███████ ░███ █████
|
||||
░░░░░███ ░███ ███░░███░░███ ███░░███ ░███░░███
|
||||
███████ ░███ ░███████ ░███ ░███ ░███ ░██████░
|
||||
███░░███ ░███ ░███░░░ ░███ ░███ ░███ ░███░░███
|
||||
░░████████ █████░░██████ █████░░████████ ████ █████
|
||||
░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░░░ ░░░░ ░░░░░
|
||||
|
||||
|
||||
|
||||
14
config/nvim.old/init.lua.old
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
-- Siable netrw
|
||||
vim.g.loaded = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- native neovim config
|
||||
require("options")
|
||||
|
||||
-- keybindings config
|
||||
require("keys")
|
||||
|
||||
-- Autocmd config
|
||||
require("autocommands")
|
||||
|
||||
require("plugins")
|
||||
17
config/nvim.old/lua/autocommands.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
local cmd = vim.api.nvim_create_autocmd
|
||||
|
||||
-- cmd({"BufNewFile", "BufFilePre", "BufRead"}, {
|
||||
-- pattern = {"*.md"},
|
||||
-- callback = function() vim.opt.filetype = "markdown" end
|
||||
-- })
|
||||
|
||||
cmd("InsertEnter",
|
||||
{pattern = "*", command = "norm zz", desc = "Center line on insert mode"})
|
||||
|
||||
-- highlight yank selection
|
||||
cmd("TextYankPost", {
|
||||
pattern = "*",
|
||||
callback = function() vim.highlight.on_yank() end,
|
||||
desc = "Highligth line on yank"
|
||||
})
|
||||
|
||||
51
config/nvim.old/lua/keys.lua
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
--[[
|
||||
|
||||
Modes:
|
||||
|
||||
| String value | Help page | Affected modes | Vimscript equivalent |
|
||||
| -------------|------------------|-----------------------------------------------|-----------------------|
|
||||
| '' | mapmode-nvo | Normal, Visual, Select, Operator-pending | :map |
|
||||
| 'n' | mapmode-n | Normal | :nmap |
|
||||
| 'v' | mapmode-v | Visual and Select | :vmap |
|
||||
| 's' | mapmode-s | Select | :smap |
|
||||
| 'x' | mapmode-x | Visual | :xmap |
|
||||
| 'o' | mapmode-o | Operator-pending | :omap |
|
||||
| '!' | mapmode-ic | Insert and Command-line | :map! |
|
||||
| 'i' | mapmode-i | Insert | :imap |
|
||||
| 'l' | mapmode-l | Insert, Command-line, Lang-Arg | :lmap |
|
||||
| 'c' | mapmode-c | Command-line | :cmap |
|
||||
| 't' | mapmode-t | Terminal | :tmap |
|
||||
|
||||
Define Mapping with:
|
||||
vim.keymap.set(mode, keys, action[, options])
|
||||
|
||||
--]]
|
||||
|
||||
-- Leader Key
|
||||
vim.g.mapleader = ' '
|
||||
|
||||
vim.keymap.set('n', "<CR>", ":noh<CR>", { desc = "Remove search Highlight", silent = true })
|
||||
|
||||
-- local function changeComment()
|
||||
-- local table = vim.opt.fo:get()
|
||||
-- local enabled = tagle.c == true && tagle.r == true && tagle.o == true
|
||||
-- end
|
||||
|
||||
vim.keymap.set('', "<Leader>tc", [[if &fo =~ 'cro' | set fo-=cro | else | set fo+=cro | endif]], { desc = "Toggle autocomments", silent = true })
|
||||
|
||||
vim.keymap.set('', "<Leader>ti", ":setlocal autoindent!<CR>", { desc = "toggle auto indent"})
|
||||
|
||||
vim.keymap.set('', "<Leader>ts", ":setlocal spell!<CR>", { desc = "Toggle spell checker", silent = true })
|
||||
|
||||
vim.keymap.set('t', '<ESC>', [[<C-\><C-n>]], { desc = "Exit terminal with Esc", silent = true })
|
||||
|
||||
vim.keymap.set('n', '<C-s>', ':w<CR>', { desc = "Save file", silent = true })
|
||||
|
||||
vim.keymap.set({ 'n', 'v', 'i' }, '<A-j>', ':m .+1<CR>==', { desc = "Move current line down", silent = true })
|
||||
|
||||
vim.keymap.set({ 'n', 'v', 'i' }, '<A-k>', ':m .-2<CR>==', { desc = "Move current line up", silent = true })
|
||||
|
||||
|
||||
vim.keymap.set('v', '<', '<gv', { desc = "Better indentation in visual mode", silent = true })
|
||||
|
||||
vim.keymap.set('v', '>', '>gv', { desc = "Better indentation in visual mode", silent = true })
|
||||
63
config/nvim.old/lua/options.lua
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
--------------------------------------------------------------------------------
|
||||
-- Native Neovim Config --
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--[[
|
||||
|
||||
vim.opt.{option} -> :set
|
||||
vim.opt_global.{option} -> :setglobal
|
||||
vim.opt_local.{option} -> :setlocal
|
||||
|
||||
--]]
|
||||
|
||||
|
||||
-- Set Shell
|
||||
vim.opt.shell = "/usr/bin/env bash"
|
||||
|
||||
vim.g.python3_host_prog = "/usr/bin/python3"
|
||||
|
||||
-- Keep the cursor centered by X rows from top / bottom
|
||||
vim.opt.scrolloff = 15
|
||||
|
||||
-- Use System clipboard
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
-- Enable Mouse
|
||||
vim.opt.mouse = "a"
|
||||
|
||||
-- Set Numbers
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
-- Identation
|
||||
local indent = 2
|
||||
vim.opt.tabstop = indent
|
||||
vim.opt.shiftwidth = indent
|
||||
vim.opt.softtabstop = indent
|
||||
|
||||
-- Ignore case when searching
|
||||
vim.opt.ignorecase = true
|
||||
|
||||
-- Override the 'ignorecase' option if the search pattern contains case characters.
|
||||
vim.opt.smartcase = true
|
||||
|
||||
-- Wrap Search
|
||||
vim.opt.wrapscan = true
|
||||
|
||||
-- Autocompletion with 'wildchar'
|
||||
vim.opt.wildmode = "longest,list,full"
|
||||
|
||||
-- Fix Sppliting
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- Set undofile
|
||||
vim.opt.undofile = true
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.nvim/undo"
|
||||
vim.opt.undolevels = 1000
|
||||
|
||||
-- Open already open windows
|
||||
vim.opt.switchbuf = 'usetab'
|
||||
|
||||
-- Auto add comments on new line if prev was a comment
|
||||
vim.opt.fo:append({ cro = true })
|
||||
50
config/nvim.old/lua/plugins/autocompletion.lua
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
-- luasnip setup
|
||||
local luasnip = require 'luasnip'
|
||||
local cmp = require 'cmp'
|
||||
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args) require('luasnip').lsp_expand(args.body) end
|
||||
},
|
||||
mapping = {
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.close(),
|
||||
['<CR>'] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true
|
||||
},
|
||||
['<Tab>'] = function(fallback)
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes('<C-n>', true,
|
||||
true, true), 'n')
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes(
|
||||
'<Plug>luasnip-expand-or-jump', true, true,
|
||||
true), '')
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end,
|
||||
['<S-Tab>'] = function(fallback)
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes('<C-p>', true,
|
||||
true, true), 'n')
|
||||
elseif luasnip.jumpable(-1) then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes(
|
||||
'<Plug>luasnip-jump-prev', true, true, true),
|
||||
'')
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
},
|
||||
sources = {
|
||||
{name = 'nvim_lsp'}, {name = 'luasnip'}, {name = "nvim_lua"},
|
||||
{name = 'path'}, {name = 'buffer'}, {name = 'calc'},
|
||||
{name = 'treesitter'}
|
||||
}
|
||||
}
|
||||
2
config/nvim.old/lua/plugins/autopairs.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
require('nvim-autopairs').setup()
|
||||
|
||||
22
config/nvim.old/lua/plugins/bufferline.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
local function config()
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
diagnostics = "nvim_lsp",
|
||||
diagnostics_update_in_insert = true,
|
||||
color_icons = true,
|
||||
show_close_icon = false
|
||||
}
|
||||
})
|
||||
|
||||
vim.keymap.set('n', 'H', ':BufferLineCyclePrev<CR>', { desc = "Go to prev buffer", silent = true })
|
||||
vim.keymap.set('n', 'L', ':BufferLineCycleNext<CR>', { desc = "Go to next buffer", silent = true })
|
||||
vim.keymap.set('n', '<Leader>c', ':bdelete<CR>', { desc = "Close current buffer", silent = true })
|
||||
vim.keymap.set('n', '<Leader>C', ':bdelete!<CR>', { desc = "Close current buffer whitout saving", silent = true })
|
||||
end
|
||||
|
||||
return {
|
||||
'akinsho/bufferline.nvim',
|
||||
tag = "v2.*",
|
||||
requires = 'kyazdani42/nvim-web-devicons',
|
||||
config = config
|
||||
}
|
||||
81
config/nvim.old/lua/plugins/colorscheme.lua
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
local function config()
|
||||
|
||||
local catppuccin = require("catppuccin")
|
||||
|
||||
vim.g.catppuccin_flavour = "mocha"
|
||||
|
||||
vim.cmd [[colorscheme catppuccin]]
|
||||
|
||||
-- configure it
|
||||
catppuccin.setup({
|
||||
transparent_background = true,
|
||||
term_colors = false,
|
||||
styles = {
|
||||
comments = {"italic"},
|
||||
conditionals = {"italic"},
|
||||
loops = {"italic"},
|
||||
functions = {"italic"},
|
||||
keywords = {"italic"},
|
||||
strings = {"italic"},
|
||||
variables = {"italic"},
|
||||
numbers = {},
|
||||
booleans = {},
|
||||
properties = {},
|
||||
types = {},
|
||||
operators = {}
|
||||
},
|
||||
integrations = {
|
||||
treesitter = true,
|
||||
native_lsp = {
|
||||
enabled = true,
|
||||
virtual_text = {
|
||||
errors = {"italic"},
|
||||
hints = {"italic"},
|
||||
warnings = {"italic"},
|
||||
information = {"italic"}
|
||||
},
|
||||
underlines = {
|
||||
errors = {"underline"},
|
||||
hints = {"underline"},
|
||||
warnings = {"underline"},
|
||||
information = {"underline"}
|
||||
}
|
||||
},
|
||||
lsp_trouble = true,
|
||||
cmp = true,
|
||||
lsp_saga = true,
|
||||
gitgutter = false,
|
||||
gitsigns = true,
|
||||
telescope = true,
|
||||
nvimtree = {
|
||||
enabled = true,
|
||||
show_root = true,
|
||||
transparent_panel = true
|
||||
},
|
||||
indent_blankline = {enabled = true, colored_indent_levels = true},
|
||||
neotree = {
|
||||
enabled = false,
|
||||
show_root = true,
|
||||
transparent_panel = false
|
||||
},
|
||||
dap = {enabled = false, enable_ui = false},
|
||||
which_key = true,
|
||||
dashboard = true,
|
||||
neogit = false,
|
||||
vim_sneak = false,
|
||||
fern = false,
|
||||
barbar = true,
|
||||
bufferline = true,
|
||||
markdown = true,
|
||||
lightspeed = false,
|
||||
ts_rainbow = true,
|
||||
hop = false,
|
||||
notify = true,
|
||||
telekasten = true,
|
||||
symbols_outline = true,
|
||||
mini = false
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
return {"catppuccin/nvim", as = "catppuccin", config = config}
|
||||
33
config/nvim.old/lua/plugins/dashboard.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
-- Default FZF
|
||||
vim.g.dashboard_default_executive = "telescope"
|
||||
|
||||
-- Custom Shortcuts
|
||||
-- TODO: Change this for telescope equivalents
|
||||
vim.api.nvim_set_keymap('n', '<Leader>db', ":DashboardJumpMark<CR>",
|
||||
{silent = true})
|
||||
vim.api.nvim_set_keymap('n', '<Leader>dh', ":DashboardFindHistory<CR>",
|
||||
{silent = true})
|
||||
vim.api.nvim_set_keymap('n', '<Leader>df', ":DashboardFindFile<CR>",
|
||||
{silent = true})
|
||||
vim.api.nvim_set_keymap('n', '<Leader>dn', ":DashboardNewFile<CR>",
|
||||
{silent = true})
|
||||
vim.api.nvim_set_keymap('n', '<Leader>da', ":DashboardFindWord<CR>",
|
||||
{silent = true})
|
||||
vim.api.nvim_set_keymap('n', '<Leader>dc', ":DashboardChangeColorscheme<CR>",
|
||||
{silent = true})
|
||||
|
||||
-- Show mappings
|
||||
vim.g.dashboard_custom_shortcut = {
|
||||
last_session = 'SPC s l',
|
||||
book_marks = 'SPC d b',
|
||||
find_history = 'SPC d h',
|
||||
find_file = 'SPC d f',
|
||||
new_file = 'SPC d n',
|
||||
find_word = 'SPC d a',
|
||||
change_colorscheme = 'SPC d c'
|
||||
}
|
||||
|
||||
-- Hide tabline on dashboard
|
||||
vim.cmd([[
|
||||
autocmd FileType dashboard set showtabline=0 | autocmd WinLeave <buffer> set showtabline=2
|
||||
]])
|
||||
72
config/nvim.old/lua/plugins/focus.lua
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
local focus = require("focus")
|
||||
|
||||
local options = {
|
||||
-- Completely disable this plugin
|
||||
-- Default: true
|
||||
enable = true,
|
||||
|
||||
-- Force width for the d window
|
||||
-- Default: Calculated based on golden ratio
|
||||
-- width = 120
|
||||
|
||||
-- Force height for the d window
|
||||
-- Default: Calculated based on golden ratio
|
||||
-- height = 40
|
||||
|
||||
-- Sets the width of directory tree buffers such as NerdTree, NvimTree and CHADTree
|
||||
-- Default: vim.g.nvim_tree_width or 30
|
||||
-- treewidth = 20
|
||||
|
||||
-- Displays a cursorline in the ed window only
|
||||
-- Not displayed in uned windows
|
||||
-- Default: true
|
||||
-- cursorline = false
|
||||
|
||||
-- Displays a sign column in the ed window only
|
||||
-- Not displayed in uned windows
|
||||
-- Default: true
|
||||
-- signcolumn = false
|
||||
|
||||
-- Displays line numbers in the ed window only
|
||||
-- Not displayed in uned windows
|
||||
-- Default: true
|
||||
number = true,
|
||||
|
||||
-- Displays relative line numbers in the ed window only
|
||||
-- Not displayed in uned windows
|
||||
-- See :h relativenumber
|
||||
-- Default: false
|
||||
relativenumber = true,
|
||||
|
||||
-- Displays hybrid line numbers in the ed window only
|
||||
-- Not displayed in uned windows
|
||||
-- Combination of :h relativenumber, but also displays the line number of the current line only
|
||||
-- Default: false
|
||||
-- hybridnumber = true
|
||||
|
||||
-- Enable auto highlighting for ed/unfocussed windows
|
||||
-- Default: false
|
||||
winhighlight = true,
|
||||
}
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- Mappings --
|
||||
----------------------------------------------------------------------
|
||||
|
||||
local function focusmap(direction)
|
||||
vim.keymap.set("n", "<C-" .. direction .. ">", function()
|
||||
focus.split_command(direction)
|
||||
end, { desc = "Change or create focused window" })
|
||||
end
|
||||
|
||||
focusmap("h")
|
||||
focusmap("j")
|
||||
focusmap("k")
|
||||
focusmap("l")
|
||||
|
||||
return {
|
||||
"beauwilliams/focus.nvim",
|
||||
config = function()
|
||||
require("focus").setup(options)
|
||||
end,
|
||||
}
|
||||
91
config/nvim.old/lua/plugins/gitsigns.lua
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
local mapper = require("nvim-mapper")
|
||||
|
||||
require('gitsigns').setup {
|
||||
signs = {
|
||||
add = {
|
||||
hl = 'GitSignsAdd',
|
||||
text = '│',
|
||||
numhl = 'GitSignsAddNr',
|
||||
linehl = 'GitSignsAddLn'
|
||||
},
|
||||
change = {
|
||||
hl = 'GitSignsChange',
|
||||
text = '│',
|
||||
numhl = 'GitSignsChangeNr',
|
||||
linehl = 'GitSignsChangeLn'
|
||||
},
|
||||
delete = {
|
||||
hl = 'GitSignsDelete',
|
||||
text = '_',
|
||||
numhl = 'GitSignsDeleteNr',
|
||||
linehl = 'GitSignsDeleteLn'
|
||||
},
|
||||
topdelete = {
|
||||
hl = 'GitSignsDelete',
|
||||
text = '‾',
|
||||
numhl = 'GitSignsDeleteNr',
|
||||
linehl = 'GitSignsDeleteLn'
|
||||
},
|
||||
changedelete = {
|
||||
hl = 'GitSignsChange',
|
||||
text = '~',
|
||||
numhl = 'GitSignsChangeNr',
|
||||
linehl = 'GitSignsChangeLn'
|
||||
}
|
||||
},
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
keymaps = {
|
||||
-- Default keymap options
|
||||
noremap = true,
|
||||
|
||||
['n ]h'] = {
|
||||
expr = true,
|
||||
"&diff ? ']c' : '<cmd>lua require\"gitsigns.actions\".next_hunk()<CR>'"
|
||||
},
|
||||
['n [h'] = {
|
||||
expr = true,
|
||||
"&diff ? '[c' : '<cmd>lua require\"gitsigns.actions\".prev_hunk()<CR>'"
|
||||
},
|
||||
|
||||
['n <leader>gs'] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
|
||||
['v <leader>gs'] = '<cmd>lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>',
|
||||
['n <leader>gu'] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>',
|
||||
['n <leader>gr'] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
|
||||
['v <leader>gr'] = '<cmd>lua require"gitsigns".reset_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>',
|
||||
['n <leader>gR'] = '<cmd>lua require"gitsigns".reset_buffer()<CR>',
|
||||
['n <leader>gp'] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
|
||||
['n <leader>gb'] = '<cmd>lua require"gitsigns".blame_line(true)<CR>',
|
||||
['n <leader>gS'] = '<cmd>lua require"gitsigns".stage_buffer()<CR>',
|
||||
['n <leader>gU'] = '<cmd>lua require"gitsigns".reset_buffer_index()<CR>',
|
||||
|
||||
-- Text objects
|
||||
['o ih'] = ':<C-U>lua require"gitsigns.actions".select_hunk()<CR>',
|
||||
['x ih'] = ':<C-U>lua require"gitsigns.actions".select_hunk()<CR>'
|
||||
},
|
||||
watch_index = {interval = 1000, follow_files = true},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 1000
|
||||
},
|
||||
current_line_blame_formatter_opts = {relative_time = false},
|
||||
sign_priority = 6,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 40000,
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = 'single',
|
||||
style = 'minimal',
|
||||
relative = 'cursor',
|
||||
row = 0,
|
||||
col = 1
|
||||
},
|
||||
diff_opts = {internal = true}, -- If vim.diff or luajit is present
|
||||
yadm = {enable = false}
|
||||
}
|
||||
27
config/nvim.old/lua/plugins/harpoon.lua
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
local mapper = require("nvim-mapper")
|
||||
|
||||
require("harpoon").setup({
|
||||
global_settings = {save_on_toggle = false, save_on_change = true}
|
||||
})
|
||||
|
||||
-- Mark list
|
||||
mapper.map('n', '<Leader>mq',
|
||||
[[:lua require("harpoon.ui").toggle_quick_menu()<CR>]],
|
||||
{silent = true, noremap = true}, "harpoon", "quick_menu",
|
||||
"Open list of marked files")
|
||||
|
||||
-- Mark File
|
||||
mapper.map('n', '<Leader>ma', [[:lua require("harpoon.mark").add_file()<CR>]],
|
||||
{silent = true, noremap = true}, "harpoon", "add_file",
|
||||
"Add current file to mark list")
|
||||
|
||||
-- Open marked file
|
||||
mapper.map('n', '<Leader>mj', [[:lua require("harpoon.ui").nav_file(1)<CR>]],
|
||||
{silent = true, noremap = true}, "harpoon", "file_navigation_1",
|
||||
"Go to marked file 1")
|
||||
mapper.map('n', '<Leader>mk', [[:lua require("harpoon.ui").nav_file(2)<CR>]],
|
||||
{silent = true, noremap = true}, "harpoon", "file_navigation_2",
|
||||
"Go to marked file 2")
|
||||
mapper.map('n', '<Leader>ml', [[:lua require("harpoon.ui").nav_file(3)<CR>]],
|
||||
{silent = true, noremap = true}, "harpoon", "file_navigation_3",
|
||||
"Go to marked file 3")
|
||||
25
config/nvim.old/lua/plugins/indent-lines.lua
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
local function config()
|
||||
|
||||
-- vim.opt.list = true
|
||||
-- vim.opt.listchars:append "space:⋅"
|
||||
-- vim.opt.listchars:append "eol:↴"
|
||||
|
||||
require("indent_blankline").setup {
|
||||
space_char_blankline = " ",
|
||||
show_current_context = true,
|
||||
show_current_context_start = false
|
||||
}
|
||||
|
||||
-- vim.g.indent_blankline_char_list = {"│"}
|
||||
-- vim.g.indentLine_enabled = 1
|
||||
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
||||
vim.g.indent_blankline_filetype_exclude = {
|
||||
"help", "terminal", "dashboard", "nvim-tree"
|
||||
}
|
||||
vim.g.indent_blankline_buftype_exclude = {"terminal"}
|
||||
vim.g.indent_blankline_show_first_indent_level = false
|
||||
vim.g.indent_blankline_use_treesitter = true
|
||||
|
||||
end
|
||||
|
||||
return {"lukas-reineke/indent-blankline.nvim", config = config}
|
||||
62
config/nvim.old/lua/plugins/init.lua
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
local active_plugins = {
|
||||
"focus",
|
||||
"colorscheme",
|
||||
"nvim-tree",
|
||||
"bufferline",
|
||||
"treesitter",
|
||||
"prettyfolds",
|
||||
"indent-lines",
|
||||
"lsp",
|
||||
"telescope",
|
||||
}
|
||||
|
||||
--[[
|
||||
Auto update plugins from outside neomvim
|
||||
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync'
|
||||
--]]
|
||||
--
|
||||
local ensure_packer = function()
|
||||
local fn = vim.fn
|
||||
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--depth",
|
||||
"1",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
install_path,
|
||||
})
|
||||
vim.cmd([[packadd packer.nvim]])
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local packer_bootstrap = ensure_packer()
|
||||
|
||||
require("packer").startup({
|
||||
function(use)
|
||||
use("wbthomason/packer.nvim")
|
||||
|
||||
for _, name in ipairs(active_plugins) do
|
||||
local ok, plugin = pcall(require, "plugins." .. name)
|
||||
if ok then
|
||||
use(plugin)
|
||||
else
|
||||
print("Error loading " .. name .. "In: " .. plugin)
|
||||
end
|
||||
end
|
||||
|
||||
if packer_bootstrap then
|
||||
require("packer").sync()
|
||||
end
|
||||
end,
|
||||
config = {
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float({ border = "single" })
|
||||
end,
|
||||
},
|
||||
},
|
||||
})
|
||||
160
config/nvim.old/lua/plugins/lsp.lua
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
--[[
|
||||
|
||||
LSP Server: code completition, references for variables and other stuff.
|
||||
Linter: Code rules for consistency.
|
||||
Formatter: Code style for eye candy.
|
||||
Debugger: well... a debugger...
|
||||
|
||||
--]]
|
||||
|
||||
-- FIXME: Refactor this code so it's more readable
|
||||
|
||||
local function setup()
|
||||
local lsp = require("lsp-zero")
|
||||
local cmp = require("cmp")
|
||||
local null_ls = require("null-ls")
|
||||
-- local mason_null_ls = require("mason-null-ls")
|
||||
|
||||
lsp.preset("recommended")
|
||||
|
||||
lsp.nvim_workspace({
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
})
|
||||
|
||||
local cmp_select = { behavior = cmp.SelectBehavior.Select }
|
||||
|
||||
lsp.setup_nvim_cmp({
|
||||
mapping = lsp.defaults.cmp_mappings({
|
||||
["<C-p>"] = cmp.mapping.select_prev_item(cmp_select),
|
||||
["<C-n>"] = cmp.mapping.select_next_item(cmp_select),
|
||||
}),
|
||||
|
||||
sources = {
|
||||
{ name = "path" },
|
||||
{ name = "nvim_lsp", keyword_length = 3 },
|
||||
{ name = "luasnip", keyword_length = 2 },
|
||||
},
|
||||
})
|
||||
|
||||
lsp.set_preferences({
|
||||
set_lsp_keymaps = false,
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "K", function()
|
||||
vim.lsp.buf.hover()
|
||||
end, { desc = "Show lsp info of the symbol under the cursor", silent = true })
|
||||
vim.keymap.set("n", "gd", function()
|
||||
vim.lsp.buf.definition()
|
||||
end, { desc = "Go to definition", silent = true })
|
||||
vim.keymap.set("n", "gD", function()
|
||||
vim.lsp.buf.declaration()
|
||||
end, { desc = "Go to declaration", silent = true })
|
||||
vim.keymap.set("n", "gi", function()
|
||||
vim.lsp.buf.implementation()
|
||||
end, { desc = "Go to implementation", silent = true })
|
||||
vim.keymap.set("n", "go", function()
|
||||
vim.lsp.buf.type_definition()
|
||||
end, { desc = "Go to definition of the type", silent = true })
|
||||
vim.keymap.set("n", "gr", function()
|
||||
vim.lsp.buf.references()
|
||||
end, { desc = "List references in quickfix window", silent = true })
|
||||
vim.keymap.set("n", "K", function()
|
||||
vim.lsp.buf.signature_help()
|
||||
end, { desc = "Show signature", silent = true })
|
||||
vim.keymap.set("n", "<Leader>lr", function()
|
||||
vim.lsp.buf.rename()
|
||||
end, { desc = "Rename all references", silent = true })
|
||||
vim.keymap.set("n", "<Leader>la", function()
|
||||
vim.lsp.buf.code_action()
|
||||
end, { desc = "Code action", silent = true })
|
||||
vim.keymap.set("n", "<Leader>lj", function()
|
||||
vim.diagnostic.goto_next()
|
||||
end, { desc = "Go to next diagnostics", silent = true })
|
||||
vim.keymap.set("n", "<Leader>lk", function()
|
||||
vim.diagnostic.goto_prev()
|
||||
end, { desc = "Go to prev diagnostics", silent = true })
|
||||
|
||||
lsp.setup()
|
||||
|
||||
local null_linters = null_ls.builtins.diagnostics
|
||||
local null_formatters = null_ls.builtins.formatting
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
|
||||
local lsp_formatting = function(bufnr)
|
||||
vim.lsp.buf.format({
|
||||
filter = function(client)
|
||||
-- apply whatever logic you want (in this example, we'll only use null-ls)
|
||||
return client.name == "null-ls"
|
||||
end,
|
||||
bufnr = bufnr,
|
||||
})
|
||||
end
|
||||
|
||||
null_ls.setup({
|
||||
on_attach = function(client, bufnr)
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
-- TODO: use this when neovim 8.0 comes out
|
||||
lsp_formatting(bufnr)
|
||||
-- vim.lsp.buf.formatting_sync()
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
|
||||
sources = {
|
||||
-- Linters --
|
||||
null_linters.eslint_d,
|
||||
null_linters.gitlint,
|
||||
null_linters.luacheck,
|
||||
null_linters.markdownlint,
|
||||
null_linters.shellcheck,
|
||||
null_linters.yamllint,
|
||||
null_linters.todo_comments,
|
||||
|
||||
-- Formatters --
|
||||
null_formatters.blade_formatter,
|
||||
null_formatters.blue,
|
||||
null_formatters.fixjson,
|
||||
null_formatters.phpcsfixer,
|
||||
null_formatters.prettierd,
|
||||
null_formatters.shfmt,
|
||||
null_formatters.sql_formatter,
|
||||
null_formatters.stylua,
|
||||
null_formatters.yamlfmt,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return {
|
||||
"VonHeikemen/lsp-zero.nvim",
|
||||
config = setup,
|
||||
requires = {
|
||||
-- LSP Support
|
||||
{ "neovim/nvim-lspconfig" },
|
||||
{ "williamboman/mason.nvim" },
|
||||
{ "williamboman/mason-lspconfig.nvim" },
|
||||
|
||||
-- Autocompletion
|
||||
{ "hrsh7th/nvim-cmp" },
|
||||
{ "hrsh7th/cmp-buffer" },
|
||||
{ "hrsh7th/cmp-path" },
|
||||
{ "saadparwaiz1/cmp_luasnip" },
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "hrsh7th/cmp-nvim-lua" },
|
||||
|
||||
-- Snippets
|
||||
{ "L3MON4D3/LuaSnip" },
|
||||
{ "rafamadriz/friendly-snippets" },
|
||||
|
||||
-- Linters and Formatters
|
||||
{ "jose-elias-alvarez/null-ls.nvim" },
|
||||
-- { "jayp0521/mason-null-ls.nvim" },
|
||||
{ "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
}
|
||||
38
config/nvim.old/lua/plugins/nvim-comment-frame.lua
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
local mapper = require("nvim-mapper")
|
||||
|
||||
require('nvim-comment-frame').setup({
|
||||
|
||||
-- if true, <leader>cf keymap will be disabled
|
||||
disable_default_keymap = true,
|
||||
|
||||
-- width of the comment frame
|
||||
frame_width = 70,
|
||||
|
||||
-- wrap the line after 'n' characters
|
||||
line_wrap_len = 50,
|
||||
|
||||
-- automatically indent the comment frame based on the line
|
||||
auto_indent = true,
|
||||
|
||||
-- add comment above the current line
|
||||
add_comment_above = true,
|
||||
|
||||
-- configurations for individual language goes here
|
||||
languages = {
|
||||
dosini = {
|
||||
start_str = ';;',
|
||||
end_str = ';;',
|
||||
fill_char = '*',
|
||||
auto_indent = false
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
mapper.map('n', '<Leader>ch',
|
||||
[[:lua require('nvim-comment-frame').add_comment()<CR>]],
|
||||
{silent = true, noremap = true}, "nvim-comment-frame", "one line",
|
||||
"Add one line header")
|
||||
mapper.map('n', '<Leader>cH',
|
||||
[[:lua require('nvim-comment-frame').add_multiline_comment()<CR>]],
|
||||
{silent = true, noremap = true}, "nvim-comment-frame", "multi line",
|
||||
"Add multi line header")
|
||||
47
config/nvim.old/lua/plugins/nvim-toggleterm.lua
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
local mapper = require("nvim-mapper")
|
||||
-- don't close terminals on hidden
|
||||
vim.opt.hidden = true
|
||||
|
||||
require("toggleterm").setup {
|
||||
-- size can be a number or function which is passed the current terminal
|
||||
size = function(term)
|
||||
if term.direction == "horizontal" then
|
||||
return 15
|
||||
elseif term.direction == "vertical" then
|
||||
return vim.o.columns * 0.4
|
||||
end
|
||||
end,
|
||||
hide_numbers = true, -- hide the number column in toggleterm buffers
|
||||
shade_filetypes = {},
|
||||
shade_terminals = false,
|
||||
-- shading_factor = '<number>', -- the degree by which to darken to terminal colour, default: 1 for dark backgrounds, 3 for light
|
||||
start_in_insert = true,
|
||||
insert_mappings = true, -- whether or not the open mapping applies in insert mode
|
||||
persist_size = true,
|
||||
direction = 'float', -- 'vertical' | 'horizontal' | 'window' | 'float',
|
||||
close_on_exit = true, -- close the terminal window when the process exits
|
||||
shell = vim.o.shell, -- change the default shell
|
||||
-- This field is only relevant if direction is set to 'float'
|
||||
float_opts = {
|
||||
-- The border key is *almost* the same as 'nvim_win_open'
|
||||
-- see :h nvim_win_open for details on borders however
|
||||
-- the 'curved' border is a custom border type
|
||||
-- not natively supported but implemented in this plugin.
|
||||
border = 'single', -- 'single' | 'double' | 'shadow' | 'curved' | ... other options supported by win open
|
||||
width = math.ceil(vim.o.columns * 0.8),
|
||||
height = math.ceil(vim.o.lines * 0.6),
|
||||
winblend = 0,
|
||||
highlights = {border = "Normal", background = "Normal"}
|
||||
}
|
||||
}
|
||||
|
||||
-- Toggle Terminals
|
||||
mapper.map('n', '<Leader>mf', [[:1ToggleTerm<CR>]],
|
||||
{silent = true, noremap = true}, "Terminal", "toggle_term_1",
|
||||
"Toggle terminal 1")
|
||||
mapper.map('n', '<Leader>md', [[:2ToggleTerm<CR>]],
|
||||
{silent = true, noremap = true}, "Terminal", "toggle_term_2",
|
||||
"Toggle terminal 2")
|
||||
mapper.map('n', '<Leader>ms', [[:3ToggleTerm<CR>]],
|
||||
{silent = true, noremap = true}, "Terminal", "toggle_term_3",
|
||||
"Toggle terminal 3")
|
||||
53
config/nvim.old/lua/plugins/nvim-tree.lua
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
local function tree_config()
|
||||
local tree = require("nvim-tree")
|
||||
local tree_cb = require("nvim-tree.config").nvim_tree_callback
|
||||
|
||||
tree.setup({
|
||||
hijack_unnamed_buffer_when_opening = true,
|
||||
disable_netrw = true,
|
||||
hijack_netrw = true,
|
||||
hijack_cursor = true, -- cursor at the start of filename
|
||||
update_focused_file = {
|
||||
enable = true -- focus curren file
|
||||
},
|
||||
actions = { open_file = { quit_on_open = true } },
|
||||
renderer = {
|
||||
full_name = true, -- show remaining name in floating text
|
||||
group_empty = true, -- group empty folders
|
||||
add_trailing = true, -- Trailing slash to folders
|
||||
highlight_opened_files = "all",
|
||||
highlight_git = true
|
||||
},
|
||||
view = {
|
||||
centralize_selection = true, -- center current file on enter
|
||||
width = 30, -- N° of columns or %
|
||||
mappings = {
|
||||
custom_only = false,
|
||||
-- list of mappings to set on the tree manually
|
||||
list = {
|
||||
{ key = { "l", "<CR>", "o", "<2-LeftMouse>" }, action = "edit" },
|
||||
-- {key = {"L", "<2-RightMouse>", "<C-]>"}, action = "cd"},
|
||||
{ key = "s", action = "vsplit" },
|
||||
{ key = "v", action = "split" },
|
||||
{ key = "t", action = "tabnew" },
|
||||
{ key = { "h", "<BS>" }, action = "close_node" },
|
||||
{ key = "i", action = "toggle_dotfiles" },
|
||||
{ key = "I", action = "toggle_ignored" },
|
||||
{ key = { "<C-l>", "<C-CR>" }, cb = tree_cb("system_open") }
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- bindings
|
||||
vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||
vim.keymap.set("n", "<C-e>", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||
end
|
||||
|
||||
return {
|
||||
'kyazdani42/nvim-tree.lua',
|
||||
config = tree_config,
|
||||
requires = {
|
||||
'kyazdani42/nvim-web-devicons' -- optional, for file icons
|
||||
}
|
||||
}
|
||||
3
config/nvim.old/lua/plugins/prettyfolds.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
local function config() require('pretty-fold').setup({fill_char = " "}) end
|
||||
|
||||
return {'anuvyklack/pretty-fold.nvim', config = config}
|
||||
36
config/nvim.old/lua/plugins/projects.lua
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
require("project_nvim").setup {
|
||||
-- Manual mode doesn't automatically change your root directory, so you have
|
||||
-- the option to manually do so using `:ProjectRoot` command.
|
||||
manual_mode = false,
|
||||
|
||||
-- Methods of detecting the root directory. **"lsp"** uses the native neovim
|
||||
-- lsp, while **"pattern"** uses vim-rooter like glob pattern matching. Here
|
||||
-- order matters: if one is not detected, the other is used as fallback. You
|
||||
-- can also delete or rearangne the detection methods.
|
||||
detection_methods = {"lsp", "pattern"},
|
||||
|
||||
-- All the patterns used to detect root dir, when **"pattern"** is in
|
||||
-- detection_methods
|
||||
patterns = {
|
||||
".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json"
|
||||
},
|
||||
|
||||
-- Table of lsp clients to ignore by name
|
||||
-- eg: { "efm", ... }
|
||||
ignore_lsp = {},
|
||||
|
||||
-- Don't calculate root dir on specific directories
|
||||
-- Ex: { "~/.cargo/*", ... }
|
||||
exclude_dirs = {},
|
||||
|
||||
-- Show hidden files in telescope
|
||||
show_hidden = false,
|
||||
|
||||
-- When set to false, you will get a message when project.nvim changes your
|
||||
-- directory.
|
||||
silent_chdir = false,
|
||||
|
||||
-- Path where project.nvim will store the project history for use in
|
||||
-- telescope
|
||||
datapath = vim.fn.stdpath("data")
|
||||
}
|
||||
80
config/nvim.old/lua/plugins/telescope.lua
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
local function config()
|
||||
-- Telescope.nvim
|
||||
local telescope = require("telescope")
|
||||
local pickers = require("telescope.builtin")
|
||||
require("project_nvim").setup()
|
||||
|
||||
-- Extensions
|
||||
telescope.load_extension("projects")
|
||||
|
||||
-- Open Files
|
||||
vim.keymap.set("n", "<Leader>f", function()
|
||||
pickers.find_files()
|
||||
end, { silent = true, desc = "Find file" })
|
||||
|
||||
vim.keymap.set("n", "<Leader>Fp", function()
|
||||
telescope.extensions.projects.projects()
|
||||
end, { silent = true, desc = "Find project" })
|
||||
|
||||
-- List vim stuff
|
||||
vim.keymap.set("n", "<Leader>bf", function()
|
||||
pickers.buffers()
|
||||
end, { silent = true, desc = "Find buffers" })
|
||||
|
||||
-- List LSP Stuff
|
||||
vim.keymap.set("n", "<Leader>ld", function()
|
||||
pickers.diagnostics({ bufnr = 0 })
|
||||
end, { silent = true, desc = "Find diagnostics" })
|
||||
|
||||
vim.keymap.set("n", "<Leader>lD", function()
|
||||
pickers.diagnostics()
|
||||
end, { silent = true, desc = "Find diagnostics in all buffers" })
|
||||
|
||||
-- Config
|
||||
local telescope_actions = require("telescope.actions")
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
entry_prefix = " ",
|
||||
selection_caret = "* ",
|
||||
file_ignore_patterns = { "%.env", "cache", ".xlsx" },
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-j>"] = telescope_actions.move_selection_next,
|
||||
["<C-k>"] = telescope_actions.move_selection_previous,
|
||||
["<C-s>"] = telescope_actions.file_vsplit,
|
||||
["<C-v>"] = telescope_actions.file_split,
|
||||
["<ESC>"] = telescope_actions.close,
|
||||
},
|
||||
n = {
|
||||
["gg"] = telescope_actions.move_to_top,
|
||||
["G"] = telescope_actions.move_to_bottom,
|
||||
["s"] = telescope_actions.file_vsplit,
|
||||
["v"] = telescope_actions.file_split,
|
||||
},
|
||||
},
|
||||
path_display = {
|
||||
truncate = 1,
|
||||
},
|
||||
},
|
||||
-- Specific config
|
||||
pickers = {
|
||||
buffers = {
|
||||
sort_lastused = true,
|
||||
mappings = {
|
||||
i = { ["d"] = require("telescope.actions").delete_buffer },
|
||||
n = { ["<c-d>"] = require("telescope.actions").delete_buffer },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
branch = "0.1.x",
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"ahmedkhalf/project.nvim",
|
||||
},
|
||||
config = config,
|
||||
}
|
||||
37
config/nvim.old/lua/plugins/treesitter.lua
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
local function config()
|
||||
|
||||
require('nvim-treesitter.configs').setup({
|
||||
ensure_installed = {
|
||||
"bash", "c", "comment", "cpp", "css", "dockerfile", "html",
|
||||
"javascript", "jsdoc", "json", "lua", "python", "query", "regex",
|
||||
"typescript", "yaml", "sql", "http", "php", "rust", "scss",
|
||||
"markdown", "dart"
|
||||
},
|
||||
highlight = {enable = true},
|
||||
indent = {enable = true},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 1000 -- Do not enable for files with more than 1000 lines, int
|
||||
}
|
||||
})
|
||||
|
||||
-- Treesitter Folding
|
||||
vim.api.nvim_create_autocmd({
|
||||
'BufEnter', 'BufAdd', 'BufNew', 'BufNewFile', 'BufWinEnter'
|
||||
}, {
|
||||
group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}),
|
||||
callback = function()
|
||||
vim.opt.foldmethod = 'expr'
|
||||
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
run = function()
|
||||
require('nvim-treesitter.install').update({with_sync = true})
|
||||
end,
|
||||
config = config
|
||||
}
|
||||
2
config/pycodestyle
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[pycodestyle]
|
||||
max-line-length = 100
|
||||
BIN
config/spicetify/Backup/login.spa
Executable file
BIN
config/spicetify/Backup/xpui.spa
Executable file
8
config/spicetify/CustomApps/marketplace/extension.js
Normal file
11
config/spicetify/CustomApps/marketplace/index.js
Normal file
9
config/spicetify/CustomApps/marketplace/manifest.json
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "Marketplace",
|
||||
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path fill=\"currentColor\" d=\"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"></path></svg>\n",
|
||||
"active-icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><path fill=\"currentColor\" d=\"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"></path></svg>\n",
|
||||
"subfiles": [],
|
||||
"subfiles_extension": [
|
||||
"extension.js"
|
||||
]
|
||||
}
|
||||
1
config/spicetify/CustomApps/marketplace/style.css
Normal file
40
config/spicetify/Extensions/catppuccin-frappe.js
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
// Color map
|
||||
let colorPalette = {
|
||||
rosewater: "#f2d5cf",
|
||||
flamingo: "#eebebe",
|
||||
pink: "#f4b8e4",
|
||||
maroon: "#ea999c",
|
||||
red: "#e78284",
|
||||
peach: "#ef9f76",
|
||||
yellow: "#e5c890",
|
||||
green: "#a6d189",
|
||||
teal: "#81c8be",
|
||||
blue: "#8caaee",
|
||||
sky: "#99dadb",
|
||||
lavender: "#babbf1",
|
||||
white: "#c6d0f5",
|
||||
mauve: "#ca9ee6"
|
||||
}
|
||||
|
||||
// waitForElement borrowed from:
|
||||
// https://github.com/morpheusthewhite/spicetify-themes/blob/master/Dribbblish/dribbblish.js
|
||||
function waitForElement(els, func, timeout = 100) {
|
||||
const queries = els.map(el => document.querySelector(el));
|
||||
if (queries.every(a => a)) {
|
||||
func(queries);
|
||||
} else if (timeout > 0) {
|
||||
setTimeout(waitForElement, 300, els, func, --timeout);
|
||||
}
|
||||
}
|
||||
|
||||
// Return the color label for a given hex color value
|
||||
function getKeyByValue(object, value) {
|
||||
return Object.keys(object).find(key => object[key] === value.trim());
|
||||
}
|
||||
|
||||
// Used to select matching equalizer-animated-COLOR.gif
|
||||
waitForElement([".Root"], (root) => {
|
||||
let spiceEq = getComputedStyle(document.querySelector(":root")).getPropertyValue("--spice-equalizer");
|
||||
let eqColor = getKeyByValue(colorPalette, spiceEq);
|
||||
root[0].classList.add(`catppuccin-eq-${eqColor}`);
|
||||
});
|
||||
39
config/spicetify/Extensions/catppuccin-latte.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
// Color map
|
||||
let colorPalette = {
|
||||
rosewater: "#dc8a78",
|
||||
flamingo: "#dd7878",
|
||||
pink: "#ea76cb",
|
||||
maroon: "#e64553",
|
||||
red: "#d20f39",
|
||||
peach: "#fe640b",
|
||||
yellow: "#df8e1d",
|
||||
green: "#40a02b",
|
||||
teal: "#179299",
|
||||
blue: "#1e66f5",
|
||||
sky: "#04a5e5",
|
||||
lavender: "#7287fd",
|
||||
white: "#d9e0ee"
|
||||
}
|
||||
|
||||
// waitForElement borrowed from:
|
||||
// https://github.com/morpheusthewhite/spicetify-themes/blob/master/Dribbblish/dribbblish.js
|
||||
function waitForElement(els, func, timeout = 100) {
|
||||
const queries = els.map(el => document.querySelector(el));
|
||||
if (queries.every(a => a)) {
|
||||
func(queries);
|
||||
} else if (timeout > 0) {
|
||||
setTimeout(waitForElement, 300, els, func, --timeout);
|
||||
}
|
||||
}
|
||||
|
||||
// Return the color label for a given hex color value
|
||||
function getKeyByValue(object, value) {
|
||||
return Object.keys(object).find(key => object[key] === value.trim());
|
||||
}
|
||||
|
||||
// Used to select matching equalizer-animated-COLOR.gif
|
||||
waitForElement([".Root"], (root) => {
|
||||
let spiceEq = getComputedStyle(document.querySelector(":root")).getPropertyValue("--spice-equalizer");
|
||||
let eqColor = getKeyByValue(colorPalette, spiceEq);
|
||||
root[0].classList.add(`catppuccin-eq-${eqColor}`);
|
||||
});
|
||||
39
config/spicetify/Extensions/catppuccin-macchiato.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
// Color map
|
||||
let colorPalette = {
|
||||
rosewater: "#f4dbd6",
|
||||
flamingo: "#f0c6c6",
|
||||
pink: "#f5bde6",
|
||||
maroon: "#ee99a0",
|
||||
red: "#ed8796",
|
||||
peach: "#f5a97f",
|
||||
yellow: "#eed49f",
|
||||
green: "#a6da95",
|
||||
teal: "#8bd5ca",
|
||||
blue: "#8aadf4",
|
||||
sky: "#91d7e3",
|
||||
lavender: "#b7bdf8",
|
||||
white: "#d9e0ee"
|
||||
}
|
||||
|
||||
// waitForElement borrowed from:
|
||||
// https://github.com/morpheusthewhite/spicetify-themes/blob/master/Dribbblish/dribbblish.js
|
||||
function waitForElement(els, func, timeout = 100) {
|
||||
const queries = els.map(el => document.querySelector(el));
|
||||
if (queries.every(a => a)) {
|
||||
func(queries);
|
||||
} else if (timeout > 0) {
|
||||
setTimeout(waitForElement, 300, els, func, --timeout);
|
||||
}
|
||||
}
|
||||
|
||||
// Return the color label for a given hex color value
|
||||
function getKeyByValue(object, value) {
|
||||
return Object.keys(object).find(key => object[key] === value.trim());
|
||||
}
|
||||
|
||||
// Used to select matching equalizer-animated-COLOR.gif
|
||||
waitForElement([".Root"], (root) => {
|
||||
let spiceEq = getComputedStyle(document.querySelector(":root")).getPropertyValue("--spice-equalizer");
|
||||
let eqColor = getKeyByValue(colorPalette, spiceEq);
|
||||
root[0].classList.add(`catppuccin-eq-${eqColor}`);
|
||||
});
|
||||
39
config/spicetify/Extensions/catppuccin-mocha.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
// Color map
|
||||
let colorPalette = {
|
||||
rosewater: "#f5e0dc",
|
||||
flamingo: "#f2cdcd",
|
||||
pink: "#f5c2e7",
|
||||
maroon: "#eba0ac",
|
||||
red: "#f38ba8",
|
||||
peach: "#fab387",
|
||||
yellow: "#f9e2af",
|
||||
green: "#a6e3a1",
|
||||
teal: "#94e2d5",
|
||||
blue: "#89b4fa",
|
||||
sky: "#89dceb",
|
||||
lavender: "#b4befe",
|
||||
white: "#d9e0ee"
|
||||
}
|
||||
|
||||
// waitForElement borrowed from:
|
||||
// https://github.com/morpheusthewhite/spicetify-themes/blob/master/Dribbblish/dribbblish.js
|
||||
function waitForElement(els, func, timeout = 100) {
|
||||
const queries = els.map(el => document.querySelector(el));
|
||||
if (queries.every(a => a)) {
|
||||
func(queries);
|
||||
} else if (timeout > 0) {
|
||||
setTimeout(waitForElement, 300, els, func, --timeout);
|
||||
}
|
||||
}
|
||||
|
||||
// Return the color label for a given hex color value
|
||||
function getKeyByValue(object, value) {
|
||||
return Object.keys(object).find(key => object[key] === value.trim());
|
||||
}
|
||||
|
||||
// Used to select matching equalizer-animated-COLOR.gif
|
||||
waitForElement([".Root"], (root) => {
|
||||
let spiceEq = getComputedStyle(document.querySelector(":root")).getPropertyValue("--spice-equalizer");
|
||||
let eqColor = getKeyByValue(colorPalette, spiceEq);
|
||||
root[0].classList.add(`catppuccin-eq-${eqColor}`);
|
||||
});
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
265
config/spicetify/Themes/catppuccin-frappe/color.ini
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
[rosewater]
|
||||
text = F2D5CF
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = F2D5CF
|
||||
misc = 626880
|
||||
|
||||
[flamingo]
|
||||
text = EEBEBE
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = EEBEBE
|
||||
misc = 626880
|
||||
|
||||
[mauve]
|
||||
text = CA9EE6
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = CA9EE6
|
||||
misc = 626880
|
||||
|
||||
[pink]
|
||||
text = F4B8E4
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = F4B8E4
|
||||
misc = 686880
|
||||
|
||||
[maroon]
|
||||
text = EA999C
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = EA999C
|
||||
misc = 686880
|
||||
|
||||
[red]
|
||||
text = E78284
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = E78284
|
||||
misc = 686880
|
||||
|
||||
[peach]
|
||||
text = EF9F76
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = EF9F76
|
||||
misc = 686880
|
||||
|
||||
[yellow]
|
||||
text = E5C890
|
||||
subtext = C6D0D5
|
||||
accent = 8CAAEE
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = E5C890
|
||||
misc = 686880
|
||||
|
||||
[green]
|
||||
text = A6D189
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = A6D189
|
||||
misc = 686880
|
||||
|
||||
[teal]
|
||||
text = 81C8BE
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = 81C8BE
|
||||
misc = 686880
|
||||
|
||||
[blue]
|
||||
text = 8CAAEE
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = 8CAAEE
|
||||
misc = 686880
|
||||
|
||||
[sky]
|
||||
text = 99D1DB
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = 99D1DB
|
||||
misc = 686880
|
||||
|
||||
[lavender]
|
||||
text = BABBF1
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = BABBF1
|
||||
misc = 686880
|
||||
|
||||
[white]
|
||||
text = C6D0F5
|
||||
subtext = C6D0D5
|
||||
accent = E5C890
|
||||
main = 303446
|
||||
sidebar = 292C3C
|
||||
player = 232634
|
||||
card = 232634
|
||||
shadow = 292C3C
|
||||
selected-row = 626880
|
||||
button = 838BA7
|
||||
button-active = 949CBB
|
||||
button-disabled = 737994
|
||||
tab-active = 414559
|
||||
notification = 414559
|
||||
notification-error = E78284
|
||||
equalizer = C6D0F5
|
||||
misc = 686880
|
||||
272
config/spicetify/Themes/catppuccin-frappe/user.css
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
/* Color Pallette */
|
||||
/* Note: These variables should be used ONLY when needed across ALL of the color palettes. */
|
||||
:root {
|
||||
/* Morning */
|
||||
--flamingo: #eebebe;
|
||||
--mauve: #ca9ee6;
|
||||
--pink: #f4b8e4;
|
||||
--maroon: #ea999c;
|
||||
--red: #e78284;
|
||||
--peach: #ef9f76;
|
||||
--yellow: #e5c890;
|
||||
--green: #a6d189;
|
||||
--teal: #81c8be;
|
||||
--blue: #8caaee;
|
||||
--sky: #99dadb;
|
||||
/* Night */
|
||||
/* --black-0: #161320; */
|
||||
--crust: #232634;
|
||||
/* --black-1: #1A1826; */
|
||||
--mantle: #292c3c;
|
||||
/* --black-2: #1E1E2E; */
|
||||
--base: #303446;
|
||||
/* --black-3: #302D41; */
|
||||
--surface0: #414559;
|
||||
/* --black-4: #575268; */
|
||||
--surface1: #51576d;
|
||||
/* --gray-0: #6E6C7E; */
|
||||
--overlay0: #737994;
|
||||
/* --gray-1: #988BA2; */
|
||||
---overlay1: #838ba7;
|
||||
/* --gray-2: #C3BAC6; */
|
||||
--overlay2: #949cbb;
|
||||
/* --white: #D9E0EE; */
|
||||
--white: #c6d0f5;
|
||||
--lavender: #babbf1;
|
||||
--rosewater: #f2d5cf;
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
.main-playButton-PlayButton.main-playButton-primary {
|
||||
color: var(--spice-player);
|
||||
}
|
||||
|
||||
.main-button-primary {
|
||||
background-color: var(--spice-main);
|
||||
}
|
||||
.main-button-primary:active,
|
||||
.main-button-primary:focus,
|
||||
.main-button-primary:hover {
|
||||
background-color: var(--spice-sidebar);
|
||||
}
|
||||
|
||||
.main-view-container button:hover > div[class^='ButtonInner-sc-'] {
|
||||
background-color: var(--spice-button);
|
||||
}
|
||||
|
||||
.control-button-heart[aria-checked="true"],
|
||||
.main-addButton-active,
|
||||
.main-addButton-active:focus,
|
||||
.main-addButton-active:hover {
|
||||
color: var(--red);
|
||||
}
|
||||
|
||||
.main-addButton-active:hover {
|
||||
-webkit-transform: scale(1.06);
|
||||
transform: scale(1.06);
|
||||
}
|
||||
|
||||
/* Progress bar */
|
||||
.x-progressBar-progressBarBg > div > div {
|
||||
background-color: var(--spice-text);
|
||||
}
|
||||
|
||||
/* Top bars */
|
||||
.main-entityHeader-backgroundColor,
|
||||
.main-actionBarBackground-background,
|
||||
.main-view-container main[aria-label="Spotify – Web Player"] > div:first-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-topBar-background {
|
||||
background-color: var(--spice-main) !important;
|
||||
}
|
||||
|
||||
.main-entityHeader-withBackgroundImage {
|
||||
background-color: rgba(var(--spice-rgb-player), 0.2);
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
.main-navBar-navBar li:hover > div,
|
||||
.main-navBar-navBar li:hover > a:not(.main-navBar-navBarLinkActive),
|
||||
.spicetify-playlist-list li:hover {
|
||||
background-color: var(--spice-main);
|
||||
}
|
||||
|
||||
#spicetify-sticky-list li:hover > div {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Scrollbar */
|
||||
.os-theme-spotify > .os-scrollbar-horizontal,
|
||||
.os-theme-spotify > .os-scrollbar-vertical {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.os-theme-spotify.os-host-transition
|
||||
> .os-scrollbar-horizontal
|
||||
> .os-scrollbar-track
|
||||
> .os-scrollbar-handle,
|
||||
.os-theme-spotify.os-host-transition
|
||||
> .os-scrollbar-vertical
|
||||
> .os-scrollbar-track
|
||||
> .os-scrollbar-handle {
|
||||
background-color: var(--decorative-base);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0.5em;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #575268;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Home */
|
||||
.main-home-homeHeader {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-home-content
|
||||
> section:first-child
|
||||
> .main-gridContainer-gridContainer
|
||||
> div {
|
||||
background-color: var(--spice-card);
|
||||
}
|
||||
.main-home-content
|
||||
> section:first-child
|
||||
> .main-gridContainer-gridContainer
|
||||
> div:hover {
|
||||
background-color: var(--spice-misc);
|
||||
}
|
||||
|
||||
.main-gridContainer-gridContainer > div,
|
||||
.main-gridContainer-gridContainer > div > div > div {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* Cards */
|
||||
.main-card-card {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.main-card-imageContainer {
|
||||
margin: -16px -16px 16px -16px;
|
||||
}
|
||||
|
||||
.main-cardImage-imageWrapper,
|
||||
.main-cardImage-image {
|
||||
border-radius: 6px 6px 0 0;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
input:checked~.x-toggle-indicatorWrapper {
|
||||
background-color: var(---overlay1);
|
||||
}
|
||||
|
||||
input:hover:not([disabled]):not(:active)~.x-toggle-indicatorWrapper {
|
||||
background-color: var(--spice-button-active);
|
||||
}
|
||||
|
||||
select option:checked {
|
||||
color: var(--spice-text);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Animated equalizer */
|
||||
/* EQ color classes are specified here in case the js extension is not moved over
|
||||
* The default green eq will be used in this case */
|
||||
.catppuccin-eq-rosewater .main-trackList-playingIcon,
|
||||
.catppuccin-eq-flamingo .main-trackList-playingIcon,
|
||||
.catppuccin-eq-mauve .main-trackList-playingIcon,
|
||||
.catppuccin-eq-pink .main-trackList-playingIcon,
|
||||
.catppuccin-eq-maroon .main-trackList-playingIcon,
|
||||
.catppuccin-eq-red .main-trackList-playingIcon,
|
||||
.catppuccin-eq-peach .main-trackList-playingIcon,
|
||||
.catppuccin-eq-yellow .main-trackList-playingIcon,
|
||||
.catppuccin-eq-green .main-trackList-playingIcon,
|
||||
.catppuccin-eq-teal .main-trackList-playingIcon,
|
||||
.catppuccin-eq-blue .main-trackList-playingIcon,
|
||||
.catppuccin-eq-sky .main-trackList-playingIcon,
|
||||
.catppuccin-eq-lavender .main-trackList-playingIcon,
|
||||
.catppuccin-eq-white .main-trackList-playingIcon {
|
||||
background-size: cover;
|
||||
padding-left: 100%;
|
||||
}
|
||||
|
||||
.catppuccin-eq-rosewater .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-rosewater.gif");
|
||||
}
|
||||
.catppuccin-eq-flamingo .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-flamingo.gif");
|
||||
}
|
||||
.catppuccin-eq-mauve .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-mauve.gif");
|
||||
}
|
||||
.catppuccin-eq-pink .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-pink.gif");
|
||||
}
|
||||
.catppuccin-eq-maroon .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-maroon.gif");
|
||||
}
|
||||
.catppuccin-eq-red .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-red.gif");
|
||||
}
|
||||
.catppuccin-eq-peach .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-peach.gif");
|
||||
}
|
||||
.catppuccin-eq-yellow .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-yellow.gif");
|
||||
}
|
||||
.catppuccin-eq-green .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-green.gif");
|
||||
}
|
||||
.catppuccin-eq-teal .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-teal.gif");
|
||||
}
|
||||
.catppuccin-eq-blue .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-blue.gif");
|
||||
}
|
||||
.catppuccin-eq-sky .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-sky.gif");
|
||||
}
|
||||
.catppuccin-eq-lavender .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-lavender.gif");
|
||||
}
|
||||
.catppuccin-eq-lavender .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-white.gif");
|
||||
}
|
||||
|
||||
/* For that small dot on podcasts that notify us of new episodes */
|
||||
.main-home-content
|
||||
> section:first-child
|
||||
> .main-gridContainer-gridContainer
|
||||
> div
|
||||
span[aria-label],
|
||||
span[aria-label="New episode"],
|
||||
span[aria-label="New Podcast Episode"] {
|
||||
background: var(--spice-accent, var(--spice-text));
|
||||
}
|
||||
|
||||
/* Modals */
|
||||
.GenericModal[aria-label="Already added"] > div {
|
||||
background-color: var(--spice-card);
|
||||
color: var(--spice-subtext);
|
||||
}
|
||||
|
||||
.GenericModal[aria-label="Already added"] button:first-child {
|
||||
color: var(--spice-button-active);
|
||||
}
|
||||
|
||||
.GenericModal[aria-label="Already added"] button:first-child:hover {
|
||||
color: var(--spice-notification-error);
|
||||
}
|
||||
|
||||
.GenericModal[aria-label="Already added"] button:last-child:hover > div {
|
||||
background-color: var(--spice-button);
|
||||
}
|
||||
|
||||
.main-rootlist-rootlistItemLink:link, .main-rootlist-rootlistItemLink:visited {
|
||||
z-index: 1;
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
246
config/spicetify/Themes/catppuccin-latte/color.ini
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
[rosewater]
|
||||
text = DC8A78
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = DC8A78
|
||||
misc = ACB0BE
|
||||
|
||||
[flamingo]
|
||||
text = DD7878
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = DD7878
|
||||
misc = ACB0BE
|
||||
|
||||
[mauve]
|
||||
text = 8839EF
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = 8839EF
|
||||
misc = ACB0BE
|
||||
|
||||
[pink]
|
||||
text = EA76CB
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = EA76CB
|
||||
misc = ACB0BE
|
||||
|
||||
[maroon]
|
||||
text = E64553
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = E64553
|
||||
misc = ACB0BE
|
||||
|
||||
[red]
|
||||
text = D20F39
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = D20F39
|
||||
misc = ACB0BE
|
||||
|
||||
[peach]
|
||||
text = FE640B
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = FE640B
|
||||
misc = ACB0BE
|
||||
|
||||
[yellow]
|
||||
text = DF8E1D
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = DF8E1D
|
||||
misc = ACB0BE
|
||||
|
||||
[green]
|
||||
text = 40A02B
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = 40A02B
|
||||
misc = ACB0BE
|
||||
|
||||
[teal]
|
||||
text = 179299
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = 179299
|
||||
misc = ACB0BE
|
||||
|
||||
[blue]
|
||||
text = 1E66F5
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = 1E66F5
|
||||
misc = ACB0BE
|
||||
|
||||
[sky]
|
||||
text = 04A5E5
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = 04A5E5
|
||||
misc = ACB0BE
|
||||
|
||||
[lavender]
|
||||
text = 7287FD
|
||||
subtext = 4C4F69
|
||||
accent = FAE3B0
|
||||
main = EFF1F5
|
||||
sidebar = E6E9EF
|
||||
player = DCE0E8
|
||||
card = CCD0DA
|
||||
shadow = E6E9EF
|
||||
selected-row = ACB0BE
|
||||
button = 8C8FA1
|
||||
button-active = 7C7F93
|
||||
button-disabled = 9CA0B0
|
||||
tab-active = DDC0DA
|
||||
notification = DDC0DA
|
||||
notification-error = D20F39
|
||||
equalizer = 7287FD
|
||||
misc = ACB0BE
|
||||
325
config/spicetify/Themes/catppuccin-latte/user.css
Normal file
|
|
@ -0,0 +1,325 @@
|
|||
/* Color Pallette */
|
||||
/* Note: These variables should be used ONLY when needed across ALL of the color palettes. */
|
||||
:root {
|
||||
/* Morning */
|
||||
--flamingo: #dd7878;
|
||||
--mauve: #8839ef;
|
||||
--pink: #ea76cb;
|
||||
--maroon: #e64553;
|
||||
--red: #d20f39;
|
||||
--peach: #fe640b;
|
||||
--yellow: #df8e1d;
|
||||
--green: #40a02b;
|
||||
--teal: #179299;
|
||||
--blue: #1e66f5;
|
||||
--sky: #04a5e5;
|
||||
/* Night */
|
||||
/* --black-0: #161320; */
|
||||
--crust: #dce0e8;
|
||||
/* --black-1: #1A1826; */
|
||||
--mantle: #e6e9ef;
|
||||
/* --black-2: #1E1E2E; */
|
||||
--base: #eff1f5;
|
||||
/* --black-3: #302D41; */
|
||||
--surface0: #ccd0da;
|
||||
/* --black-4: #575268; */
|
||||
--surface1: #bcc0cc;
|
||||
/* --gray-0: #6E6C7E; */
|
||||
--overlay0: #9ca0b0;
|
||||
/* --gray-1: #988BA2; */
|
||||
---overlay1: #8c8fa1;
|
||||
/* --gray-2: #C3BAC6; */
|
||||
--overlay2: #7c7f93;
|
||||
/* --white: #D9E0EE; */
|
||||
--text: #4c4f69;
|
||||
--lavender: #7287fd;
|
||||
--rosewater: #dc8a78;
|
||||
}
|
||||
|
||||
/* * { */
|
||||
/* color: var(--text); */
|
||||
/* } */
|
||||
|
||||
.button {
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
.main-playButton-PlayButton.main-playButton-primary {
|
||||
color: var(--spice-player);
|
||||
}
|
||||
.main-actionBar-ActionBar.contentSpacing {
|
||||
color: var(--text);
|
||||
}
|
||||
/* .wCl7pMTEE68v1xuZeZiB */
|
||||
.main-actionBar-ActionBarRow > div > .button {
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.HbKLiGoYM4dpuK8L4TMX, .Svg-sc-1bi12j5-0.jgfuCe.X1lXSiVj0pzhQCUo_72A, .main-moreButton-button, .wCl7pMTEE68v1xuZeZiB, .w6j_vX6SF5IxSXrrkYw5 {
|
||||
color: var(--text);
|
||||
|
||||
}
|
||||
|
||||
.main-actionBar-ActionBarRow > div > .input::placeholder {
|
||||
color: var(--text);
|
||||
}
|
||||
/* Skip button, Forward button, repeat, karoke, lyrics, spotify-connect, volume */
|
||||
.main-skipBackButton-button, .main-skipForwardButton-button, .main-repeatButton-button, .ZMXGDTbwxKJhbmEDZlYy.control-button, .Button-sc-1dqy6lx-0.hyWUsx, .control-button.iUSAh1wdhXLk9hHSbkCA, .volume-bar__icon-button.control-button {
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.Type__TypeElement-goli3j-0.cpSTHq.playback-bar__progress-time-elapsed, .Type__TypeElement-goli3j-0 cpSTHq main-playbackBarRemainingTime-container {
|
||||
color: var(--text);
|
||||
}
|
||||
/* Search bar placeholder */
|
||||
.QZhV0hWVKlExlKr266jo::placeholder {
|
||||
color: var(--text);
|
||||
}
|
||||
div.context-menu {
|
||||
background-color: var(--crust);
|
||||
}
|
||||
.main-button-primary {
|
||||
background-color: var(--spice-main);
|
||||
}
|
||||
.main-button-primary:active,
|
||||
.main-button-primary:focus,
|
||||
.main-button-primary:hover {
|
||||
background-color: var(--spice-sidebar);
|
||||
}
|
||||
|
||||
.main-view-container button:hover > div[class^='ButtonInner-sc-'] {
|
||||
background-color: var(--spice-button);
|
||||
}
|
||||
|
||||
.control-button-heart[aria-checked="true"],
|
||||
.main-addButton-active,
|
||||
.main-addButton-active:focus,
|
||||
.main-addButton-active:hover {
|
||||
color: var(--red);
|
||||
}
|
||||
|
||||
.main-addButton-active:hover {
|
||||
-webkit-transform: scale(1.06);
|
||||
transform: scale(1.06);
|
||||
}
|
||||
.QZhV0hWVKlExlKr266jo {
|
||||
color: var(--text);
|
||||
}
|
||||
/* Progress bar */
|
||||
.x-progressBar-progressBarBg > div > div {
|
||||
background-color: var(--spice-text);
|
||||
}
|
||||
|
||||
/* Top bars */
|
||||
.main-entityHeader-backgroundColor,
|
||||
.main-actionBarBackground-background,
|
||||
.main-view-container main[aria-label="Spotify – Web Player"] > div:first-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-topBar-background {
|
||||
background-color: var(--spice-main) !important;
|
||||
}
|
||||
|
||||
.main-entityHeader-withBackgroundImage {
|
||||
background-color: rgba(var(--spice-rgb-player), 0.2);
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
.main-navBar-navBar li:hover > div,
|
||||
.main-navBar-navBar li:hover > a:not(.main-navBar-navBarLinkActive),
|
||||
.spicetify-playlist-list li:hover {
|
||||
background-color: var(--spice-main);
|
||||
}
|
||||
|
||||
#spicetify-sticky-list li:hover > div {
|
||||
border-radius: 4px;
|
||||
}
|
||||
/* div.jb9xD5ECTqKFK02qe3HZ {
|
||||
background-color: var(--mantle);
|
||||
} */
|
||||
|
||||
p.Type__TypeElement-goli3j-0.gAmaez.fUYMR7LuRXv0KJWFvRZA {
|
||||
color: var(--spice-text);
|
||||
}
|
||||
span.UyzJidwrGk3awngSGIwv, .main-tag-container, .Type__TypeElement-goli3j-0.ebHsEf {
|
||||
color: var(--spice-text);
|
||||
}
|
||||
|
||||
|
||||
/* Scrollbar */
|
||||
.os-theme-spotify > .os-scrollbar-horizontal,
|
||||
.os-theme-spotify > .os-scrollbar-vertical {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.os-theme-spotify.os-host-transition
|
||||
> .os-scrollbar-horizontal
|
||||
> .os-scrollbar-track
|
||||
> .os-scrollbar-handle,
|
||||
.os-theme-spotify.os-host-transition
|
||||
> .os-scrollbar-vertical
|
||||
> .os-scrollbar-track
|
||||
> .os-scrollbar-handle {
|
||||
background-color: var(--decorative-base);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0.5em;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #575268;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* Home */
|
||||
.main-home-homeHeader {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-home-content
|
||||
> section:first-child
|
||||
> .main-gridContainer-gridContainer
|
||||
> div {
|
||||
background-color: var(--spice-card);
|
||||
}
|
||||
.main-home-content
|
||||
> section:first-child
|
||||
> .main-gridContainer-gridContainer
|
||||
> div:hover {
|
||||
background-color: var(--spice-misc);
|
||||
}
|
||||
|
||||
.main-gridContainer-gridContainer > div,
|
||||
.main-gridContainer-gridContainer > div > div > div {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* Cards */
|
||||
.main-card-card {
|
||||
border-radius: 6px;
|
||||
background-color: var(--mantle);
|
||||
}
|
||||
|
||||
.main-card-imageContainer {
|
||||
margin: -16px -16px 16px -16px;
|
||||
}
|
||||
|
||||
.main-cardImage-imageWrapper,
|
||||
.main-cardImage-image {
|
||||
border-radius: 6px 6px 0 0;
|
||||
}
|
||||
|
||||
/* Settings */
|
||||
input:checked~.x-toggle-indicatorWrapper {
|
||||
/* background-color: var(---overlay1); */
|
||||
background-color: var(--text);
|
||||
}
|
||||
|
||||
input:hover:not([disabled]):not(:active)~.x-toggle-indicatorWrapper {
|
||||
background-color: var(--spice-button-active);
|
||||
}
|
||||
|
||||
select option:checked {
|
||||
color: var(--spice-text);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Animated equalizer */
|
||||
/* EQ color classes are specified here in case the js extension is not moved over
|
||||
* The default green eq will be used in this case */
|
||||
.catppuccin-eq-rosewater .main-trackList-playingIcon,
|
||||
.catppuccin-eq-flamingo .main-trackList-playingIcon,
|
||||
.catppuccin-eq-mauve .main-trackList-playingIcon,
|
||||
.catppuccin-eq-pink .main-trackList-playingIcon,
|
||||
.catppuccin-eq-maroon .main-trackList-playingIcon,
|
||||
.catppuccin-eq-red .main-trackList-playingIcon,
|
||||
.catppuccin-eq-peach .main-trackList-playingIcon,
|
||||
.catppuccin-eq-yellow .main-trackList-playingIcon,
|
||||
.catppuccin-eq-green .main-trackList-playingIcon,
|
||||
.catppuccin-eq-teal .main-trackList-playingIcon,
|
||||
.catppuccin-eq-blue .main-trackList-playingIcon,
|
||||
.catppuccin-eq-sky .main-trackList-playingIcon,
|
||||
.catppuccin-eq-lavender .main-trackList-playingIcon,
|
||||
.catppuccin-eq-white .main-trackList-playingIcon {
|
||||
background-size: cover;
|
||||
padding-left: 100%;
|
||||
}
|
||||
|
||||
.catppuccin-eq-rosewater .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-rosewater.gif");
|
||||
}
|
||||
.catppuccin-eq-flamingo .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-flamingo.gif");
|
||||
}
|
||||
.catppuccin-eq-mauve .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-mauve.gif");
|
||||
}
|
||||
.catppuccin-eq-pink .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-pink.gif");
|
||||
}
|
||||
.catppuccin-eq-maroon .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-maroon.gif");
|
||||
}
|
||||
.catppuccin-eq-red .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-red.gif");
|
||||
}
|
||||
.catppuccin-eq-peach .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-peach.gif");
|
||||
}
|
||||
.catppuccin-eq-yellow .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-yellow.gif");
|
||||
}
|
||||
.catppuccin-eq-green .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-green.gif");
|
||||
}
|
||||
.catppuccin-eq-teal .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-teal.gif");
|
||||
}
|
||||
.catppuccin-eq-blue .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-blue.gif");
|
||||
}
|
||||
.catppuccin-eq-sky .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-sky.gif");
|
||||
}
|
||||
.catppuccin-eq-lavender .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-lavender.gif");
|
||||
}
|
||||
.catppuccin-eq-lavender .main-trackList-playingIcon {
|
||||
background-image: url("equalizer-animated-white.gif");
|
||||
}
|
||||
|
||||
/* For that small dot on podcasts that notify us of new episodes */
|
||||
.main-home-content
|
||||
> section:first-child
|
||||
> .main-gridContainer-gridContainer
|
||||
> div
|
||||
span[aria-label],
|
||||
span[aria-label="New episode"],
|
||||
span[aria-label="New Podcast Episode"] {
|
||||
background: var(--spice-accent, var(--spice-text));
|
||||
}
|
||||
|
||||
/* Modals */
|
||||
.GenericModal[aria-label="Already added"] > div {
|
||||
background-color: var(--spice-card);
|
||||
color: var(--spice-subtext);
|
||||
}
|
||||
|
||||
.GenericModal[aria-label="Already added"] button:first-child {
|
||||
color: var(--spice-button-active);
|
||||
}
|
||||
|
||||
.GenericModal[aria-label="Already added"] button:first-child:hover {
|
||||
color: var(--spice-notification-error);
|
||||
}
|
||||
|
||||
.GenericModal[aria-label="Already added"] button:last-child:hover > div {
|
||||
background-color: var(--spice-button);
|
||||
}
|
||||
|
||||
.main-rootlist-rootlistItemLink:link, .main-rootlist-rootlistItemLink:visited {
|
||||
z-index: 1;
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.3 KiB |