[MINOR] A bunch of things.
Themery for nvim, tmux theme, zsh stuff
This commit is contained in:
parent
eede29d92a
commit
ad9912c773
18 changed files with 493 additions and 189 deletions
22
.config/alacritty/alacritty.toml
Normal file
22
.config/alacritty/alacritty.toml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
import = [
|
||||||
|
"~/.config/alacritty/catppuccin-latte.toml"
|
||||||
|
]
|
||||||
|
|
||||||
|
[env]
|
||||||
|
TERM = "xterm-256color"
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 14.0
|
||||||
|
|
||||||
|
[font.normal]
|
||||||
|
family = "FiraCode Nerd Font Mono"
|
||||||
|
style = "Light"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
opacity = 0.95
|
||||||
|
option_as_alt = "Both"
|
||||||
|
dynamic_padding = true
|
||||||
|
|
||||||
|
[window.padding]
|
||||||
|
x = 2
|
||||||
|
y = 2
|
|
@ -1,17 +0,0 @@
|
||||||
import:
|
|
||||||
- ~/.config/alacritty/catppuccin/catppuccin-frappe.yml
|
|
||||||
|
|
||||||
env:
|
|
||||||
TERM: tmux-256color
|
|
||||||
|
|
||||||
window:
|
|
||||||
padding:
|
|
||||||
x: 2
|
|
||||||
y: 2
|
|
||||||
opacity: 0.85
|
|
||||||
|
|
||||||
font:
|
|
||||||
normal:
|
|
||||||
family: FiraCode Nerd Font Mono
|
|
||||||
style: Light
|
|
||||||
size: 10.0
|
|
75
.config/alacritty/catppuccin-latte.toml
Normal file
75
.config/alacritty/catppuccin-latte.toml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
[colors.primary]
|
||||||
|
background = "#EFF1F5"
|
||||||
|
foreground = "#4C4F69"
|
||||||
|
dim_foreground = "#4C4F69"
|
||||||
|
bright_foreground = "#4C4F69"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = "#EFF1F5"
|
||||||
|
cursor = "#DC8A78"
|
||||||
|
|
||||||
|
[colors.vi_mode_cursor]
|
||||||
|
text = "#EFF1F5"
|
||||||
|
cursor = "#7287FD"
|
||||||
|
|
||||||
|
[colors.search.matches]
|
||||||
|
foreground = "#EFF1F5"
|
||||||
|
background = "#6C6F85"
|
||||||
|
|
||||||
|
[colors.search.focused_match]
|
||||||
|
foreground = "#EFF1F5"
|
||||||
|
background = "#40A02B"
|
||||||
|
|
||||||
|
[colors.footer_bar]
|
||||||
|
foreground = "#EFF1F5"
|
||||||
|
background = "#6C6F85"
|
||||||
|
|
||||||
|
[colors.hints.start]
|
||||||
|
foreground = "#EFF1F5"
|
||||||
|
background = "#DF8E1D"
|
||||||
|
|
||||||
|
[colors.hints.end]
|
||||||
|
foreground = "#EFF1F5"
|
||||||
|
background = "#6C6F85"
|
||||||
|
|
||||||
|
[colors.selection]
|
||||||
|
text = "#EFF1F5"
|
||||||
|
background = "#DC8A78"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#5C5F77"
|
||||||
|
red = "#D20F39"
|
||||||
|
green = "#40A02B"
|
||||||
|
yellow = "#DF8E1D"
|
||||||
|
blue = "#1E66F5"
|
||||||
|
magenta = "#EA76CB"
|
||||||
|
cyan = "#179299"
|
||||||
|
white = "#ACB0BE"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#6C6F85"
|
||||||
|
red = "#D20F39"
|
||||||
|
green = "#40A02B"
|
||||||
|
yellow = "#DF8E1D"
|
||||||
|
blue = "#1E66F5"
|
||||||
|
magenta = "#EA76CB"
|
||||||
|
cyan = "#179299"
|
||||||
|
white = "#BCC0CC"
|
||||||
|
|
||||||
|
[colors.dim]
|
||||||
|
black = "#5C5F77"
|
||||||
|
red = "#D20F39"
|
||||||
|
green = "#40A02B"
|
||||||
|
yellow = "#DF8E1D"
|
||||||
|
blue = "#1E66F5"
|
||||||
|
magenta = "#EA76CB"
|
||||||
|
cyan = "#179299"
|
||||||
|
white = "#ACB0BE"
|
||||||
|
|
||||||
|
[[colors.indexed_colors]]
|
||||||
|
index = 16
|
||||||
|
color = "#FE640B"
|
||||||
|
|
||||||
|
[[colors.indexed_colors]]
|
||||||
|
index = 17
|
||||||
|
color = "#DC8A78"
|
|
@ -1,4 +1,6 @@
|
||||||
require("core.variables")
|
require("core.variables")
|
||||||
require('core.package_manager')
|
require('core.package_manager')
|
||||||
require('plugins.remote-theme')
|
require('plugins.remote-theme')
|
||||||
|
require('winbar')
|
||||||
|
require('core.theme')
|
||||||
require('impatient')
|
require('impatient')
|
||||||
|
|
|
@ -1,51 +1,51 @@
|
||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" },
|
"LuaSnip": { "branch": "master", "commit": "2463d687fe704b76eb0aa3bb34e95f69a5bb0362" },
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" },
|
"bufferline.nvim": { "branch": "main", "commit": "243893ba9d5d1049dd451a25cab32ec7f8f67bcf" },
|
||||||
"catppuccin": { "branch": "main", "commit": "40dc9f0621c55bd40da4ad0731fac44d15bb393a" },
|
"catppuccin": { "branch": "main", "commit": "b901cf144573b293b6cefeb1ac8c97d5d239ee7a" },
|
||||||
|
"cinnamon.nvim": { "branch": "master", "commit": "c406ffda3a0302f32c23b24ab756ea20467d6578" },
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||||
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
|
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
|
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
|
||||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||||
"compiler-explorer.nvim": { "branch": "master", "commit": "ee8e7a2808bdad67cd2acb61b5c9ffa7735c7ec9" },
|
"copilot.lua": { "branch": "master", "commit": "858bbfa6fa81c88fb1f64107d7981f1658619e0a" },
|
||||||
"copilot.lua": { "branch": "master", "commit": "1a8032ae496916ccc7a7a52ee79194fbef29f462" },
|
"dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" },
|
||||||
"dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" },
|
"fidget.nvim": { "branch": "main", "commit": "a4a7edfea37e557dbff5509ee374ffb57051bba9" },
|
||||||
"fidget.nvim": { "branch": "main", "commit": "0ba1e16d07627532b6cae915cc992ecac249fb97" },
|
"friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" },
|
"gruvbox.nvim": { "branch": "main", "commit": "4176b0b720db0c90ab4030e5c1b4893faf41fd51" },
|
||||||
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
|
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "4c75c8eeb957a99aa44ce8e526c04340ab358c5e" },
|
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
||||||
"leap.nvim": { "branch": "main", "commit": "5efe985cf68fac3b6a6dfe7a75fbfaca8db2af9c" },
|
"leap.nvim": { "branch": "main", "commit": "47262a9beadd6945f51b0a4fc2d005aaa2095f04" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "7533b0ead663d80452210c0c089e5105089697e5" },
|
"lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e7b64c11035aa924f87385b72145e0ccf68a7e0a" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" },
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "6148b51db945b55b3b725da39eaea6441e59dff8" },
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "9e82ded0515186edd4f69e4ce6b1a5f1b55b47e9" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" },
|
"mason.nvim": { "branch": "main", "commit": "a09da6ac634926a299dd439da08bdb547a8ca011" },
|
||||||
"nerdy.nvim": { "branch": "main", "commit": "061b0c8b5d56dcc9d3aba90be94593070f299878" },
|
"nerdy.nvim": { "branch": "main", "commit": "548437ebcea9106156e7ea3a5612ee6444a1aba4" },
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "dc9b7e28f5573a1a2225ffb33893d23d3e052ed6" },
|
"none-ls.nvim": { "branch": "main", "commit": "e7382de51b4cf629e56f1fa18192e716e5ba8145" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "f6c71641f6f183427a651c0ce4ba3fb89404fa9e" },
|
"nvim-autopairs": { "branch": "master", "commit": "9fd41181693dd4106b3e414a822bb6569924de81" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" },
|
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" },
|
"nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "92dc531eea2c9a3ef504a5c8ac0decd1fa59a6a3" },
|
"nvim-dap": { "branch": "master", "commit": "f0dca670fa059eb89dda8869a6310c804241345c" },
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" },
|
"nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" },
|
||||||
"nvim-ghost.nvim": { "branch": "main", "commit": "a1ca0b2dac59881066d7ac9373cf64d59ba29d6a" },
|
"nvim-ghost.nvim": { "branch": "main", "commit": "a1ca0b2dac59881066d7ac9373cf64d59ba29d6a" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "e49b1e90c1781ce372013de3fa93a91ea29fc34a" },
|
"nvim-lspconfig": { "branch": "master", "commit": "0d9e870d01894c592d7ea93cfe0fa451916d9a7f" },
|
||||||
"nvim-tmux-navigation": { "branch": "main", "commit": "543f090a45cef28156162883d2412fffecb6b750" },
|
"nvim-tmux-navigation": { "branch": "main", "commit": "d9efffa413a530bdea3783af4fea86be84940283" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "eb3faef3a44641e5875581e901b0a8df8da2bde4" },
|
"nvim-treesitter": { "branch": "master", "commit": "362ebd3a210f20aab80be05557f216cbaf4531e6" },
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "7227dca17316384e9b62bd6fc6b4d892572d6d4e" },
|
"nvim-treesitter-context": { "branch": "master", "commit": "652ec514d6ba8bc4a3c2de76c855fe668e2c7196" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" },
|
"nvim-web-devicons": { "branch": "master", "commit": "43aa2ddf476012a2155f5f969ee55ab17174da7a" },
|
||||||
"oil.nvim": { "branch": "master", "commit": "4088efb8ff664b6f1624aab5dac6c3fe11d3962c" },
|
"oil.nvim": { "branch": "master", "commit": "523b61430cb7365f8f86609c2ea60e48456bac63" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" },
|
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||||
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||||
"tailwind-sorter.nvim": { "branch": "main", "commit": "efc34952eb0a20520f12c8a273ea44298c11a4fa" },
|
|
||||||
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" },
|
|
||||||
"telescope.nvim": { "branch": "master", "commit": "7011eaae0ac1afe036e30c95cf80200b8dc3f21a" },
|
"telescope.nvim": { "branch": "master", "commit": "7011eaae0ac1afe036e30c95cf80200b8dc3f21a" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" },
|
"themery.nvim": { "branch": "main", "commit": "1005a58801276d29c4b1e11244cf7631250f9143" },
|
||||||
"undotree": { "branch": "master", "commit": "0e11ba7325efbbb3f3bebe06213afa3e7ec75131" },
|
"todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" },
|
||||||
"vim-jukit": { "branch": "master", "commit": "4d1f4e4c3923464e12f86fce49eb198b6e61a2a9" },
|
"typst.vim": { "branch": "main", "commit": "308e7737d09de8c1100320ddc6bc270615ae791a" },
|
||||||
"vim-obsession": { "branch": "master", "commit": "fe9d3e1a9a50171e7d316a52e1e56d868e4c1fe5" },
|
"undotree": { "branch": "master", "commit": "36ff7abb6b60980338344982ad4cdf03f7961ecd" },
|
||||||
|
"vim-alloy": { "branch": "master", "commit": "5bd57c4890be39e221dd3e1f6735457dce454bbd" },
|
||||||
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
||||||
"vimtex": { "branch": "master", "commit": "cbb20643b7bfe721902dac5760bf0d4889fb5f7e" },
|
"vimtex": { "branch": "master", "commit": "6179414f2eb3db977a513b7b19c23e7e62a0f388" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "ce741eb559c924d72e3a67d2189ad3771a231414" },
|
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" },
|
||||||
"zen-mode.nvim": { "branch": "main", "commit": "cb73b8bd0ef9d765b942db09dc762c603a89ae44" }
|
"zen-mode.nvim": { "branch": "main", "commit": "50e2e2a36cc97847d9ab3b1a3555ba2ef6839b50" }
|
||||||
}
|
}
|
38
.config/nvim/lua/core/theme.lua
Normal file
38
.config/nvim/lua/core/theme.lua
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
-- Themery block
|
||||||
|
-- This block will be replaced by Themery.
|
||||||
|
require("catppuccin").setup({
|
||||||
|
flavour = "latte", -- latte, frappe, macchiato, mocha
|
||||||
|
styles = {
|
||||||
|
comments = { "italic" },
|
||||||
|
conditionals = { "italic" },
|
||||||
|
},
|
||||||
|
integrations = {
|
||||||
|
cmp = true,
|
||||||
|
treesitter = true,
|
||||||
|
treesitter_context = true,
|
||||||
|
fidget = true,
|
||||||
|
telescope = true,
|
||||||
|
leap = true,
|
||||||
|
mason = true,
|
||||||
|
native_lsp = {
|
||||||
|
enabled = true,
|
||||||
|
virtual_text = {
|
||||||
|
errors = { "italic" },
|
||||||
|
hints = { "italic" },
|
||||||
|
warnings = { "italic" },
|
||||||
|
information = { "italic" },
|
||||||
|
},
|
||||||
|
underlines = {
|
||||||
|
errors = { "underline" },
|
||||||
|
hints = { "underline" },
|
||||||
|
warnings = { "underline" },
|
||||||
|
information = { "underline" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
vim.cmd("colorscheme catppuccin-latte")
|
||||||
|
vim.g.theme_id = 4
|
||||||
|
-- end themery block
|
10
.config/nvim/lua/plugins/autopairs.lua
Normal file
10
.config/nvim/lua/plugins/autopairs.lua
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
local Rule = require('nvim-autopairs.rule')
|
||||||
|
local npairs = require('nvim-autopairs')
|
||||||
|
|
||||||
|
npairs.setup({
|
||||||
|
map_cr = true,
|
||||||
|
map_bs = true,
|
||||||
|
check_ts = true,
|
||||||
|
enable_check_bracket_line = true,
|
||||||
|
ignored_next_char = "[%w]"
|
||||||
|
})
|
|
@ -34,7 +34,7 @@ require("bufferline").setup({
|
||||||
icon = "▎",
|
icon = "▎",
|
||||||
style = "icon",
|
style = "icon",
|
||||||
},
|
},
|
||||||
buffer_close_icon = '',
|
buffer_close_icon = '',
|
||||||
modified_icon = '●',
|
modified_icon = '●',
|
||||||
close_icon = '',
|
close_icon = '',
|
||||||
left_trunc_marker = '',
|
left_trunc_marker = '',
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
--local colorscheme = "onedark"
|
|
||||||
|
|
||||||
require("catppuccin").setup({
|
|
||||||
flavour = "frappe", -- latte, frappe, macchiato, mocha
|
|
||||||
styles = {
|
|
||||||
comments = { "italic" },
|
|
||||||
conditionals = { "italic" },
|
|
||||||
},
|
|
||||||
integrations = {
|
|
||||||
cmp = true,
|
|
||||||
treesitter = true,
|
|
||||||
treesitter_context = true,
|
|
||||||
fidget = true,
|
|
||||||
telescope = true,
|
|
||||||
leap = true,
|
|
||||||
mason = true,
|
|
||||||
native_lsp = {
|
|
||||||
enabled = true,
|
|
||||||
virtual_text = {
|
|
||||||
errors = { "italic" },
|
|
||||||
hints = { "italic" },
|
|
||||||
warnings = { "italic" },
|
|
||||||
information = { "italic" },
|
|
||||||
},
|
|
||||||
underlines = {
|
|
||||||
errors = { "underline" },
|
|
||||||
hints = { "underline" },
|
|
||||||
warnings = { "underline" },
|
|
||||||
information = { "underline" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
local colorscheme = "catppuccin"
|
|
||||||
|
|
||||||
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
|
@ -14,33 +14,33 @@ local check_backspace = function()
|
||||||
return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
|
return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
|
||||||
end
|
end
|
||||||
|
|
||||||
-- פּ ﯟ some other good icons
|
-- some other good icons
|
||||||
local kind_icons = {
|
local kind_icons = {
|
||||||
Text = "",
|
Text = "",
|
||||||
Method = "m",
|
Method = "m",
|
||||||
Function = "",
|
Function = "",
|
||||||
Constructor = "",
|
Constructor = "",
|
||||||
Field = "",
|
Field = "",
|
||||||
Variable = "",
|
Variable = "",
|
||||||
Class = "",
|
Class = "",
|
||||||
Interface = "",
|
Interface = "",
|
||||||
Module = "",
|
Module = "",
|
||||||
Property = "",
|
Property = "",
|
||||||
Unit = "",
|
Unit = "",
|
||||||
Value = "",
|
Value = "",
|
||||||
Enum = "",
|
Enum = "",
|
||||||
Keyword = "",
|
Keyword = "",
|
||||||
Snippet = "",
|
Snippet = "",
|
||||||
Color = "",
|
Color = "",
|
||||||
File = "",
|
File = "",
|
||||||
Reference = "",
|
Reference = "",
|
||||||
Folder = "",
|
Folder = "",
|
||||||
EnumMember = "",
|
EnumMember = "",
|
||||||
Constant = "",
|
Constant = "",
|
||||||
Struct = "",
|
Struct = "",
|
||||||
Event = "",
|
Event = "",
|
||||||
Operator = "",
|
Operator = "",
|
||||||
TypeParameter = "",
|
TypeParameter = "",
|
||||||
Copilot = "",
|
Copilot = "",
|
||||||
DB = "",
|
DB = "",
|
||||||
}
|
}
|
||||||
|
@ -110,20 +110,19 @@ cmp.setup {
|
||||||
fields = { "kind", "abbr", "menu" },
|
fields = { "kind", "abbr", "menu" },
|
||||||
format = function(entry, vim_item)
|
format = function(entry, vim_item)
|
||||||
-- Kind icons
|
-- Kind icons
|
||||||
--vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
-- if vim.tbl_contains({ "nvim_lsp" }, entry.source.name) then
|
||||||
if vim.tbl_contains({ "nvim_lsp" }, entry.source.name) then
|
-- tailwind = require("tailwindcss-colorizer-cmp")
|
||||||
tailwind = require("tailwindcss-colorizer-cmp")
|
-- return tailwind.formatter(entry, vim_item)
|
||||||
return tailwind.formatter(entry, vim_item)
|
-- else
|
||||||
else
|
vim_item.kind = string.format('[%s %s]', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
||||||
vim_item.kind = string.format('[%s %s]', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
vim_item.menu = ({
|
||||||
vim_item.menu = ({
|
nvim_lsp = "[LSP]",
|
||||||
nvim_lsp = "[LSP]",
|
["vim-dadbod-completion"] = "[]",
|
||||||
["vim-dadbod-completion"] = "[]",
|
nvim_lua = "[LSP]",
|
||||||
nvim_lua = "[LSP]",
|
path = "[Path]",
|
||||||
path = "[Path]",
|
})[entry.source.name]
|
||||||
})[entry.source.name]
|
return vim_item
|
||||||
return vim_item
|
-- end
|
||||||
end
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
sorting = {
|
sorting = {
|
||||||
|
@ -195,7 +194,13 @@ cmp.setup {
|
||||||
|
|
||||||
},
|
},
|
||||||
experimental = {
|
experimental = {
|
||||||
ghost_text = true,
|
ghost_text = false,
|
||||||
native_menu = false,
|
native_menu = false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||||
|
cmp.event:on(
|
||||||
|
'confirm_done',
|
||||||
|
cmp_autopairs.on_confirm_done()
|
||||||
|
)
|
||||||
|
|
|
@ -5,15 +5,19 @@ lazy.setup({
|
||||||
'lewis6991/impatient.nvim',
|
'lewis6991/impatient.nvim',
|
||||||
|
|
||||||
-------------------------------------------THEMES------------------------------------------
|
-------------------------------------------THEMES------------------------------------------
|
||||||
|
{
|
||||||
|
'zaldih/themery.nvim',
|
||||||
|
config = function()
|
||||||
|
require('plugins.themery')
|
||||||
|
end
|
||||||
|
},
|
||||||
{
|
{
|
||||||
'catppuccin/nvim',
|
'catppuccin/nvim',
|
||||||
name = "catppuccin",
|
name = "catppuccin",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
config = function()
|
|
||||||
require('plugins.catppuccin')
|
|
||||||
end
|
|
||||||
},
|
},
|
||||||
|
{ "ellisonleao/gruvbox.nvim", priority = 1000 },
|
||||||
-------------------------------------------------------QOL---------------------------------
|
-------------------------------------------------------QOL---------------------------------
|
||||||
{
|
{
|
||||||
"zbirenbaum/copilot.lua",
|
"zbirenbaum/copilot.lua",
|
||||||
|
@ -46,6 +50,17 @@ lazy.setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
'declancm/cinnamon.nvim',
|
||||||
|
config = function()
|
||||||
|
require('cinnamon').setup {
|
||||||
|
scroll_limit = 10000,
|
||||||
|
always_scroll = true,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
init = function()
|
init = function()
|
||||||
|
@ -80,7 +95,6 @@ lazy.setup({
|
||||||
|
|
||||||
--Change add and remove surroundings from words
|
--Change add and remove surroundings from words
|
||||||
'tpope/vim-surround',
|
'tpope/vim-surround',
|
||||||
'tpope/vim-obsession',
|
|
||||||
|
|
||||||
{
|
{
|
||||||
'NvChad/nvim-colorizer.lua',
|
'NvChad/nvim-colorizer.lua',
|
||||||
|
@ -89,22 +103,22 @@ lazy.setup({
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
-- {
|
||||||
"roobert/tailwindcss-colorizer-cmp.nvim",
|
-- "roobert/tailwindcss-colorizer-cmp.nvim",
|
||||||
event = "VeryLazy",
|
-- event = "VeryLazy",
|
||||||
config = function()
|
-- config = function()
|
||||||
require("tailwindcss-colorizer-cmp").setup({
|
-- require("tailwindcss-colorizer-cmp").setup({
|
||||||
color_square_width = 2,
|
-- color_square_width = 2,
|
||||||
})
|
-- })
|
||||||
end
|
-- end
|
||||||
},
|
-- },
|
||||||
{
|
-- {
|
||||||
'laytan/tailwind-sorter.nvim',
|
-- 'laytan/tailwind-sorter.nvim',
|
||||||
event = "VeryLazy",
|
-- event = "VeryLazy",
|
||||||
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-lua/plenary.nvim' },
|
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-lua/plenary.nvim' },
|
||||||
build = 'cd formatter && bun i && bun run build',
|
-- build = 'cd formatter && bun i && bun run build',
|
||||||
config = true,
|
-- config = true,
|
||||||
},
|
-- },
|
||||||
--Database integration
|
--Database integration
|
||||||
-- 'tpope/vim-dadbod',
|
-- 'tpope/vim-dadbod',
|
||||||
-- {
|
-- {
|
||||||
|
@ -135,42 +149,35 @@ lazy.setup({
|
||||||
|
|
||||||
-- Rename variable pop up
|
-- Rename variable pop up
|
||||||
'stevearc/dressing.nvim',
|
'stevearc/dressing.nvim',
|
||||||
{
|
|
||||||
'krady21/compiler-explorer.nvim',
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("compiler-explorer").setup({
|
|
||||||
url = "https://godbolt.org",
|
|
||||||
infer_lang = true, -- Try to infer possible language based on file extension.
|
|
||||||
line_match = {
|
|
||||||
highlight = true, -- highlight the matching line(s) in the other buffer.
|
|
||||||
jump = true, -- move the cursor in the other buffer to the first matching line.
|
|
||||||
},
|
|
||||||
open_qflist = true, -- Open qflist after compilation if there are diagnostics.
|
|
||||||
split = "split", -- How to split the window after the second compile (split/vsplit).
|
|
||||||
compiler_flags = "", -- Default flags passed to the compiler.
|
|
||||||
job_timeout_ms = 25000, -- Timeout for libuv job in milliseconds.
|
|
||||||
languages = { -- Language specific default compiler/flags
|
|
||||||
c = {
|
|
||||||
compiler = "cg132"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
-- {
|
||||||
'luk400/vim-jukit',
|
-- 'krady21/compiler-explorer.nvim',
|
||||||
ft = {'python','ipynb'},
|
-- event = "VeryLazy",
|
||||||
},
|
-- config = function()
|
||||||
|
-- require("compiler-explorer").setup({
|
||||||
|
-- url = "https://godbolt.org",
|
||||||
|
-- infer_lang = true, -- Try to infer possible language based on file extension.
|
||||||
|
-- line_match = {
|
||||||
|
-- highlight = true, -- highlight the matching line(s) in the other buffer.
|
||||||
|
-- jump = true, -- move the cursor in the other buffer to the first matching line.
|
||||||
|
-- },
|
||||||
|
-- open_qflist = true, -- Open qflist after compilation if there are diagnostics.
|
||||||
|
-- split = "split", -- How to split the window after the second compile (split/vsplit).
|
||||||
|
-- compiler_flags = "", -- Default flags passed to the compiler.
|
||||||
|
-- job_timeout_ms = 25000, -- Timeout for libuv job in milliseconds.
|
||||||
|
-- languages = { -- Language specific default compiler/flags
|
||||||
|
-- c = {
|
||||||
|
-- compiler = "cg132"
|
||||||
|
-- }
|
||||||
|
-- },
|
||||||
|
-- })
|
||||||
|
-- end
|
||||||
|
-- },
|
||||||
|
|
||||||
{
|
{
|
||||||
'windwp/nvim-autopairs',
|
'windwp/nvim-autopairs',
|
||||||
config = function()
|
config = function()
|
||||||
require('nvim-autopairs').setup({
|
require 'plugins.autopairs'
|
||||||
map_cr = true,
|
|
||||||
map_bs = true,
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -211,17 +218,7 @@ lazy.setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
--LSP Status
|
--LSP Status
|
||||||
{
|
'j-hui/fidget.nvim',
|
||||||
'j-hui/fidget.nvim',
|
|
||||||
tag = 'legacy',
|
|
||||||
config = function()
|
|
||||||
require('fidget').setup {
|
|
||||||
window = {
|
|
||||||
blend = 0,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"rcarriga/nvim-dap-ui",
|
"rcarriga/nvim-dap-ui",
|
||||||
|
@ -298,6 +295,8 @@ lazy.setup({
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'kaarmu/typst.vim',
|
||||||
|
|
||||||
--Sticky headers
|
--Sticky headers
|
||||||
{
|
{
|
||||||
'nvim-treesitter/nvim-treesitter-context',
|
'nvim-treesitter/nvim-treesitter-context',
|
||||||
|
@ -306,6 +305,8 @@ lazy.setup({
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"runoshun/vim-alloy",
|
||||||
|
|
||||||
--Tabs
|
--Tabs
|
||||||
{
|
{
|
||||||
'akinsho/bufferline.nvim',
|
'akinsho/bufferline.nvim',
|
||||||
|
|
93
.config/nvim/lua/plugins/themery.lua
Normal file
93
.config/nvim/lua/plugins/themery.lua
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
require("themery").setup({
|
||||||
|
themes = { {
|
||||||
|
name = "Gruvbox dark",
|
||||||
|
colorscheme = "gruvbox",
|
||||||
|
before = [[
|
||||||
|
vim.opt.background = "dark"
|
||||||
|
]],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Gruvbox light",
|
||||||
|
colorscheme = "gruvbox",
|
||||||
|
before = [[
|
||||||
|
vim.opt.background = "light"
|
||||||
|
]]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Catppuccin Frappe",
|
||||||
|
colorscheme = "catppuccin-frappe",
|
||||||
|
before = [[
|
||||||
|
require("catppuccin").setup({
|
||||||
|
flavour = "frappe", -- latte, frappe, macchiato, mocha
|
||||||
|
styles = {
|
||||||
|
comments = { "italic" },
|
||||||
|
conditionals = { "italic" },
|
||||||
|
},
|
||||||
|
integrations = {
|
||||||
|
cmp = true,
|
||||||
|
treesitter = true,
|
||||||
|
treesitter_context = true,
|
||||||
|
fidget = true,
|
||||||
|
telescope = true,
|
||||||
|
leap = true,
|
||||||
|
mason = true,
|
||||||
|
native_lsp = {
|
||||||
|
enabled = true,
|
||||||
|
virtual_text = {
|
||||||
|
errors = { "italic" },
|
||||||
|
hints = { "italic" },
|
||||||
|
warnings = { "italic" },
|
||||||
|
information = { "italic" },
|
||||||
|
},
|
||||||
|
underlines = {
|
||||||
|
errors = { "underline" },
|
||||||
|
hints = { "underline" },
|
||||||
|
warnings = { "underline" },
|
||||||
|
information = { "underline" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
]]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "Catppuccin Latte",
|
||||||
|
colorscheme = "catppuccin-latte",
|
||||||
|
before = [[
|
||||||
|
require("catppuccin").setup({
|
||||||
|
flavour = "latte", -- latte, frappe, macchiato, mocha
|
||||||
|
styles = {
|
||||||
|
comments = { "italic" },
|
||||||
|
conditionals = { "italic" },
|
||||||
|
},
|
||||||
|
integrations = {
|
||||||
|
cmp = true,
|
||||||
|
treesitter = true,
|
||||||
|
treesitter_context = true,
|
||||||
|
fidget = true,
|
||||||
|
telescope = true,
|
||||||
|
leap = true,
|
||||||
|
mason = true,
|
||||||
|
native_lsp = {
|
||||||
|
enabled = true,
|
||||||
|
virtual_text = {
|
||||||
|
errors = { "italic" },
|
||||||
|
hints = { "italic" },
|
||||||
|
warnings = { "italic" },
|
||||||
|
information = { "italic" },
|
||||||
|
},
|
||||||
|
underlines = {
|
||||||
|
errors = { "underline" },
|
||||||
|
hints = { "underline" },
|
||||||
|
warnings = { "underline" },
|
||||||
|
information = { "underline" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
]]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
themeConfigFile = "~/.config/nvim/lua/core/theme.lua", -- Described below
|
||||||
|
livePreview = true, -- Apply theme while browsing. Default to true.
|
||||||
|
})
|
71
.config/nvim/lua/winbar.lua
Normal file
71
.config/nvim/lua/winbar.lua
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
local folder_icon = ""
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
--- Window bar that shows the current file path (in a fancy way).
|
||||||
|
---@return string
|
||||||
|
function M.render()
|
||||||
|
-- Get the path and expand variables.
|
||||||
|
local path = vim.fs.normalize(vim.fn.expand '%:p' --[[@as string]])
|
||||||
|
|
||||||
|
-- Replace slashes by arrows.
|
||||||
|
local separator = ' %#WinbarSeparator# '
|
||||||
|
|
||||||
|
local prefix, prefix_path = '', ''
|
||||||
|
|
||||||
|
-- If the window gets too narrow, shorten the path and drop the prefix.
|
||||||
|
if vim.api.nvim_win_get_width(0) < math.floor(vim.o.columns / 3) then
|
||||||
|
path = vim.fn.pathshorten(path)
|
||||||
|
else
|
||||||
|
-- For some special folders, add a prefix instead of the full path (making
|
||||||
|
-- sure to pick the longest prefix).
|
||||||
|
---@type table<string, string>
|
||||||
|
local special_dirs = {
|
||||||
|
DOTFILES = "/Users/afonso/.config",
|
||||||
|
HOME = vim.env.HOME,
|
||||||
|
PROJECTS = "/Users/afonso/projects",
|
||||||
|
["University"] = "/Users/afonso/projects/University",
|
||||||
|
["Personal"] = "/Users/afonso/projects/Personal",
|
||||||
|
}
|
||||||
|
for dir_name, dir_path in pairs(special_dirs) do
|
||||||
|
if vim.startswith(path, vim.fs.normalize(dir_path)) and #dir_path > #prefix_path then
|
||||||
|
prefix, prefix_path = dir_name, dir_path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if prefix ~= '' then
|
||||||
|
path = path:gsub('^' .. prefix_path, '')
|
||||||
|
prefix = string.format('%%#WinBarSpecial#%s %s%s', folder_icon, prefix, separator)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Remove leading slash.
|
||||||
|
path = path:gsub('^/', '')
|
||||||
|
|
||||||
|
return table.concat {
|
||||||
|
' ',
|
||||||
|
prefix,
|
||||||
|
table.concat(
|
||||||
|
vim.iter.map(function(segment)
|
||||||
|
return string.format('%%#Winbar#%s', segment)
|
||||||
|
end, vim.split(path, '/')),
|
||||||
|
separator
|
||||||
|
),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd('BufWinEnter', {
|
||||||
|
group = vim.api.nvim_create_augroup('mariasolos/winbar', { clear = true }),
|
||||||
|
desc = 'Attach winbar',
|
||||||
|
callback = function(args)
|
||||||
|
if
|
||||||
|
not vim.api.nvim_win_get_config(0).zindex -- Not a floating window
|
||||||
|
and vim.bo[args.buf].buftype == '' -- Normal buffer
|
||||||
|
and vim.api.nvim_buf_get_name(args.buf) ~= '' -- Has a file name
|
||||||
|
and not vim.wo[0].diff -- Not in diff mode
|
||||||
|
then
|
||||||
|
vim.wo.winbar = "%{%v:lua.require'winbar'.render()%}"
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
return M
|
|
@ -9,7 +9,7 @@ set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||||
set -g @plugin 'tomhey/tmux-remote-sessions'
|
set -g @plugin 'tomhey/tmux-remote-sessions'
|
||||||
|
|
||||||
# Plugin settings
|
# Plugin settings
|
||||||
set -g @catppuccin_flavour 'frappe'
|
set -g @catppuccin_flavour 'latte'
|
||||||
set -g @catppuccin_window_tabs_enabled on
|
set -g @catppuccin_window_tabs_enabled on
|
||||||
set -g @resurrect-strategy-nvim 'session'
|
set -g @resurrect-strategy-nvim 'session'
|
||||||
set -g @resurrect-capture-pane-contents 'on'
|
set -g @resurrect-capture-pane-contents 'on'
|
||||||
|
|
45
.config/zsh/main.zsh
Normal file
45
.config/zsh/main.zsh
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
|
||||||
|
HISTSIZE=10000000
|
||||||
|
SAVEHIST=10000000
|
||||||
|
setopt BANG_HIST # Treat the '!' character specially during expansion.
|
||||||
|
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
|
||||||
|
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
|
||||||
|
setopt SHARE_HISTORY # Share history between all sessions.
|
||||||
|
setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
|
||||||
|
setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again.
|
||||||
|
setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
|
||||||
|
setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
|
||||||
|
setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space.
|
||||||
|
setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
|
||||||
|
setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
|
||||||
|
setopt HIST_VERIFY
|
||||||
|
|
||||||
|
export EDITOR=nvim
|
||||||
|
export READER=mupdf
|
||||||
|
|
||||||
|
# Add paths
|
||||||
|
export PATH="/opt/homebrew/bin:$PATH"
|
||||||
|
export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
|
||||||
|
export PATH="$HOME/.bun/bin:$PATH"
|
||||||
|
export PATH="$HOME/go/bin:$PATH"
|
||||||
|
export PATH="$HOME/.local/share/nvim/mason/bin:$PATH"
|
||||||
|
export PATH="$HOME/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin:$PATH"
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
export PATH="$HOME/.ghcup/bin:$PATH"
|
||||||
|
export PATH="/usr/bin/vendor_perl:$PATH"
|
||||||
|
|
||||||
|
if [ "$(arch)" = "arm64" ]; then
|
||||||
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
|
else
|
||||||
|
eval "$(/usr/local/bin/brew shellenv)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||||
|
|
||||||
|
# bun
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
export PATH="$BUN_INSTALL/bin:$PATH"
|
||||||
|
|
||||||
|
# opam configuration
|
||||||
|
source $HOME/.opam/opam-init/init.zsh > /dev/null 2>&1 || true
|
2
.config/zsh/overrides.zsh
Normal file
2
.config/zsh/overrides.zsh
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ZSH_AUTOSUGGEST_STRATEGY=(match_prev_cmd history completion)
|
||||||
|
ZSH_TMUX_AUTOSTART=true
|
|
@ -1,8 +1,5 @@
|
||||||
# ~/.config/zsh/qol.zsh
|
# ~/.config/zsh/qol.zsh
|
||||||
|
|
||||||
bindkey '^H' backward-kill-path-component
|
|
||||||
bindkey '^[[3;5~' kill-word
|
|
||||||
|
|
||||||
backup() {
|
backup() {
|
||||||
cp $1 $1.bak
|
cp $1 $1.bak
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
IdentityFile ~/.ssh/id_ed25519_sk
|
IdentityFile ~/.ssh/id_ed25519_sk
|
||||||
IdentityFile ~/.ssh/id_ed25519_sk_secondary
|
IdentityFile ~/.ssh/id_ed25519_sk_secondary
|
||||||
|
IdentityFile ~/.ssh/id_rsa
|
||||||
|
|
||||||
Host gon
|
Host gon
|
||||||
ControlMaster auto
|
ControlMaster auto
|
||||||
|
|
Loading…
Reference in a new issue