nvim: drop nvim config
parent
9d85c5ca3b
commit
d7ccdce2b4
|
@ -1,6 +0,0 @@
|
|||
local optl = vim.opt_local
|
||||
|
||||
-- options
|
||||
optl.tabstop = 2
|
||||
optl.shiftwidth = 2
|
||||
optl.expandtab = true
|
|
@ -1,2 +0,0 @@
|
|||
-- treesitter
|
||||
vim.treesitter.start()
|
|
@ -1,10 +0,0 @@
|
|||
local optl = vim.opt_local
|
||||
|
||||
-- options
|
||||
optl.omnifunc = "v:lua.vim.lua_omnifunc"
|
||||
optl.tabstop = 2
|
||||
optl.shiftwidth = 2
|
||||
optl.expandtab = true
|
||||
|
||||
-- treesitter
|
||||
vim.treesitter.start()
|
|
@ -1,11 +0,0 @@
|
|||
local optl = vim.opt_local
|
||||
|
||||
-- options
|
||||
optl.tabstop = 2
|
||||
optl.shiftwidth = 2
|
||||
optl.expandtab = true
|
||||
|
||||
-- keymaps
|
||||
local keymap_set = vim.keymap.set
|
||||
keymap_set("n", "]h", "/\\_^#.*\\ze\\n\\{2}<esc>")
|
||||
keymap_set("n", "[h", "?\\_^#.*\\ze\\n\\{2}<esc>")
|
|
@ -1,4 +0,0 @@
|
|||
-- keymaps
|
||||
local keymap_set = vim.keymap.set
|
||||
keymap_set("n", "<esc>", "<cmd>Rexplore<cr>", { buffer = true})
|
||||
keymap_set("n", "<leader>.", "<cmd>Rexplore<cr>", { buffer = true })
|
|
@ -1,2 +0,0 @@
|
|||
-- treesitter
|
||||
vim.treesitter.start()
|
|
@ -1,19 +0,0 @@
|
|||
if exists("b:current_syntax")
|
||||
unlet! b:current_syntax
|
||||
endif
|
||||
|
||||
" yaml
|
||||
syntax clear markdownYamlHead
|
||||
syntax region markdownYamlHead start="^-\{3}\n\S" end="\S\n\%(-\|\.\)\{3}$" keepend contains=@markdownYamlTop,@Spell
|
||||
|
||||
" citation
|
||||
syntax match markdownPCite "\^\@<!\[\_[^\[\]]\{-}-\{0,1}@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&\-+?<>~/]*\_.\{-}\]" contains=@markdownInline,markdownCiteKey
|
||||
syn match markdownICite "@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&\-+?<>~/]*\s\[.\{-1,}\]" contains=markdownCiteKey,@Spell display
|
||||
syn match markdownCiteKey /\(-\=@[[:alnum:]_][[:digit:][:lower:][:upper:]_:.#$%&\-+?<>~/]*\)/ containedin=markdownPCite,markdownICite contains=@NoSpell display
|
||||
|
||||
hi def link markdownPCite Comment
|
||||
hi def link markdownICite Comment
|
||||
hi def link markdownCiteKey markdownLabel
|
||||
hi def link markdownLabel Label
|
||||
|
||||
let b:current_syntax = "markdown"
|
|
@ -1,272 +0,0 @@
|
|||
-- Name: basic
|
||||
-- Description: a basic colorscheme
|
||||
-- Author: urosm <urosm@kompot.si>
|
||||
-- Maintainer: urosm <https://git.kompot.si/urosm/dot/src/branch/main/.config/nvim/colors/basic.lua>
|
||||
-- Website: https://git.kompot.si/urosm/dot/src/branch/main/.config/nvim/colors/basic.lua
|
||||
-- License: Same as Vim
|
||||
-- Last Updated: 2024 Jul 08
|
||||
|
||||
-- A simple neovim colorscheme that defines highlight groups from a list of 8
|
||||
-- colors.
|
||||
|
||||
-- init ------------------------------------------------------------------------
|
||||
vim.cmd.highlight("clear")
|
||||
vim.g.colors_name = "basic"
|
||||
|
||||
local hi = function(name, val) vim.api.nvim_set_hl(0, name, val) end
|
||||
|
||||
-- colors ----------------------------------------------------------------------
|
||||
local C = {
|
||||
black = { cterm = 0, gui = "#000000" },
|
||||
red = { cterm = 1, gui = "#fa3500" },
|
||||
green = { cterm = 2, gui = "#009843" },
|
||||
orange = { cterm = 3, gui = "#d06600" },
|
||||
blue = { cterm = 4, gui = "#856cff" },
|
||||
magenta = { cterm = 5, gui = "#ff1170" },
|
||||
cyan = { cterm = 6, gui = "#008cca" },
|
||||
white = { cterm = 7, gui = "#e2e2e2" },
|
||||
bright_black = { cterm = 8, gui = "#848484" },
|
||||
bright_red = { cterm = 9, gui = "#ff888e" },
|
||||
bright_green = { cterm = 10, gui = "#00c55b" },
|
||||
bright_orange = { cterm = 11, gui = "#ff8d48" },
|
||||
bright_blue = { cterm = 12, gui = "#ac9fff" },
|
||||
bright_magenta = { cterm = 13, gui = "#ffb1c0" },
|
||||
bright_cyan = { cterm = 14, gui = "#92ccff" },
|
||||
bright_white = { cterm = 15, gui = "#ffffff" },
|
||||
}
|
||||
|
||||
local fg = C.white
|
||||
local bg = C.black
|
||||
local accent = C.magenta
|
||||
local dimmed = C.blue
|
||||
|
||||
local none_none_h = {}
|
||||
local none_none_reverse_h = { reverse = true }
|
||||
local none_none_underline_h = { underline = true }
|
||||
local none_none_italic = { italic = true }
|
||||
local none_none_bold_h = { bold = true }
|
||||
local none_none_bold_italic_h = { bold = true, italic = true }
|
||||
local none_none_strikethrough_h = { strikethrough = true }
|
||||
|
||||
local bg_fg_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = fg.cterm, bg = fg.gui }
|
||||
local bg_accent_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = accent.cterm, bg = accent.gui }
|
||||
local bg_dimmed_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = dimmed.cterm, bg = dimmed.gui }
|
||||
local bg_red_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = C.red.cterm, bg = C.red.gui }
|
||||
local bg_orange_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = C.orange.cterm, bg = C.orange.gui }
|
||||
|
||||
local accent_none_h = { ctermfg = accent.cterm, fg = accent.gui }
|
||||
local accent_fg_h = { ctermfg = accent.cterm, fg = accent.gui, ctermbg = fg.cterm, bg = fg.gui }
|
||||
local accent_fg_reverse_h = { ctermfg = accent.cterm, fg = accent.gui, ctermbg = fg.cterm, bg = fg.gui, reverse = true }
|
||||
|
||||
local dimmed_none_h = { ctermfg = dimmed.cterm, fg = dimmed.gui }
|
||||
local dimmed_none_reverse_h = { ctermfg = dimmed.cterm, fg = dimmed.gui, reverse = true }
|
||||
local dimmed_fg_h = { ctermfg = dimmed.cterm, fg = dimmed.gui, ctermbg = fg.cterm, bg = fg.gui }
|
||||
|
||||
local red_none_h = { ctermfg = C.red.cterm, fg = C.red.gui }
|
||||
local red_none_underline_h = { ctermfg = C.red.cterm, fg = C.red.gui, underline = true }
|
||||
local green_none_h = { ctermfg = C.green.cterm, fg = C.green.gui }
|
||||
local green_none_underline_h = { ctermfg = C.green.cterm, fg = C.green.gui, underline = true }
|
||||
local orange_none_h = { ctermfg = C.orange.cterm, fg = C.orange.gui }
|
||||
local orange_none_underline_h = { ctermfg = C.orange.cterm, fg = C.orange.gui, underline = true }
|
||||
local blue_none_h = { ctermfg = C.blue.cterm, fg = C.blue.gui }
|
||||
local blue_none_underline_h = { ctermfg = C.blue.cterm, fg = C.blue.gui, underline = true }
|
||||
local magenta_none_h = { ctermfg = C.magenta.cterm, fg = C.magenta.gui }
|
||||
local black_none_h = { ctermfg = C.black.cterm, fg = C.black.gui }
|
||||
local white_none_h = { ctermfg = C.white.cterm, fg = C.white.gui }
|
||||
local white_none_underline_h = { ctermfg = C.white.cterm, fg = C.white.gui, underline = true }
|
||||
|
||||
|
||||
-- normal ----------------------------------------------------------------------
|
||||
|
||||
hi("Normal", none_none_h)
|
||||
hi("NormalNC", none_none_h)
|
||||
|
||||
-- tui -------------------------------------------------------------------------
|
||||
|
||||
hi("StatusLine", dimmed_none_h)
|
||||
hi("StatusLineNC", dimmed_none_h)
|
||||
hi("TabLine", dimmed_none_h)
|
||||
hi("TabLineFill", dimmed_none_h)
|
||||
hi("TabLineSel", accent_none_h)
|
||||
hi("WinBar", accent_none_h)
|
||||
hi("WinBarNC", dimmed_none_h)
|
||||
hi("WinSeparator", dimmed_none_h)
|
||||
hi("LineNr", accent_none_h)
|
||||
hi("LineNrAbove", dimmed_none_h)
|
||||
hi("LineNrBelow", dimmed_none_h)
|
||||
hi("SignColumn", dimmed_none_h)
|
||||
hi("FoldColumn", dimmed_none_h)
|
||||
hi("WildMenu", accent_none_h)
|
||||
|
||||
-- float -----------------------------------------------------------------------
|
||||
|
||||
hi("NormalFloat", bg_fg_h)
|
||||
hi("FloatBorder", dimmed_fg_h)
|
||||
hi("FloatTitle", accent_fg_h)
|
||||
|
||||
-- menu ------------------------------------------------------------------------
|
||||
|
||||
hi("Pmenu", accent_fg_h)
|
||||
hi("PmenuSel", accent_fg_reverse_h)
|
||||
hi("PmenuKind", accent_fg_h)
|
||||
hi("PmenuKindSel", accent_fg_reverse_h)
|
||||
hi("PmenuExtra", accent_fg_h)
|
||||
hi("PmenuExtraSel", accent_fg_reverse_h)
|
||||
hi("PmenuSbar", accent_fg_h)
|
||||
hi("PmenuThumb", accent_fg_reverse_h)
|
||||
|
||||
-- messages --------------------------------------------------------------------
|
||||
|
||||
hi("MsgArea", none_none_h)
|
||||
hi("MsgSeparator", none_none_h)
|
||||
hi("ModeMsg", accent_none_h)
|
||||
hi("MoreMsg", accent_none_h)
|
||||
hi("WarningMsg", orange_none_h)
|
||||
hi("ErrorMsg", red_none_h)
|
||||
hi("Question", accent_none_h)
|
||||
hi("Title", accent_none_h)
|
||||
|
||||
-- buffer ----------------------------------------------------------------------
|
||||
|
||||
hi("Conceal", dimmed_none_h)
|
||||
hi("NonText", dimmed_none_h)
|
||||
hi("EndOfBuffer", dimmed_none_h)
|
||||
hi("Whitespace", dimmed_none_h)
|
||||
hi("Folded", dimmed_none_h)
|
||||
hi("SpecialKey", accent_none_h)
|
||||
hi("ColorColumn", dimmed_none_reverse_h)
|
||||
|
||||
-- cursor ----------------------------------------------------------------------
|
||||
|
||||
hi("CursorLine", none_none_reverse_h)
|
||||
hi("CursorLineNr", none_none_reverse_h)
|
||||
hi("CursorLineSign", none_none_reverse_h)
|
||||
hi("CursorLineFold", none_none_reverse_h)
|
||||
hi("CursorColumn", none_none_reverse_h)
|
||||
hi("QuickFixLine", none_none_reverse_h)
|
||||
hi("Cursor", none_none_reverse_h)
|
||||
hi("lCursor", none_none_reverse_h)
|
||||
hi("CursorIM", none_none_reverse_h)
|
||||
hi("TermCursor", none_none_reverse_h)
|
||||
hi("TermCursorNC", none_none_reverse_h)
|
||||
|
||||
-- match -----------------------------------------------------------------------
|
||||
|
||||
hi("Search", bg_orange_h)
|
||||
hi("Substitute", bg_orange_h)
|
||||
hi("IncSearch", bg_accent_h)
|
||||
hi("CurSearch", bg_accent_h)
|
||||
hi("MatchParen", accent_fg_h)
|
||||
|
||||
-- selection -------------------------------------------------------------------
|
||||
|
||||
hi("Visual", bg_dimmed_h)
|
||||
hi("Visualnos", bg_dimmed_h)
|
||||
|
||||
-- diff ------------------------------------------------------------------------
|
||||
|
||||
hi("DiffAdd", green_none_h)
|
||||
hi("DiffChange", orange_none_h)
|
||||
hi("DiffDelete", red_none_h)
|
||||
hi("DiffText", orange_none_underline_h)
|
||||
|
||||
-- spell -----------------------------------------------------------------------
|
||||
|
||||
hi("SpellBad", red_none_underline_h)
|
||||
hi("SpellCap", orange_none_underline_h)
|
||||
hi("SpellLocal", orange_none_underline_h)
|
||||
hi("SpellRare", orange_none_underline_h)
|
||||
|
||||
-- diagnostic ------------------------------------------------------------------
|
||||
|
||||
hi("DiagnosticError", red_none_h)
|
||||
hi("DiagnosticWarn", orange_none_h)
|
||||
hi("DiagnosticInfo", blue_none_h)
|
||||
hi("DiagnosticHint", white_none_h)
|
||||
hi("DiagnosticOk", green_none_h)
|
||||
hi("DiagnosticVirtualError", red_none_h)
|
||||
hi("DiagnosticVirtualWarn", orange_none_h)
|
||||
hi("DiagnosticVirtualInfo", blue_none_h)
|
||||
hi("DiagnosticVirtualHint", white_none_h)
|
||||
hi("DiagnosticVirtualOk", green_none_h)
|
||||
hi("DiagnosticUnderlineError", red_none_underline_h)
|
||||
hi("DiagnosticUnderlineWarn", orange_none_underline_h)
|
||||
hi("DiagnosticUnderlineInfo", blue_none_underline_h)
|
||||
hi("DiagnosticUnderlineHint", white_none_underline_h)
|
||||
hi("DiagnosticUnderlineOk", green_none_underline_h)
|
||||
hi("DiagnosticFloatingError", red_none_h)
|
||||
hi("DiagnosticFloatingWarn", orange_none_h)
|
||||
hi("DiagnosticFloatingInfo", blue_none_h)
|
||||
hi("DiagnosticFloatingHint", white_none_h)
|
||||
hi("DiagnosticFloatingOk", green_none_h)
|
||||
hi("DiagnosticSingError", red_none_h)
|
||||
hi("DiagnosticSingWarn", orange_none_h)
|
||||
hi("DiagnosticSingInfo", blue_none_h)
|
||||
hi("DiagnosticSingHint", white_none_h)
|
||||
hi("DiagnosticSingOk", green_none_h)
|
||||
hi("DiagnosticDeprecated", white_none_underline_h)
|
||||
hi("DiagnosticUnnecessary", white_none_underline_h)
|
||||
|
||||
-- misc ------------------------------------------------------------------------
|
||||
|
||||
hi("Directory", blue_none_h)
|
||||
|
||||
-- syntax ----------------------------------------------------------------------
|
||||
|
||||
hi("Comment", blue_none_h)
|
||||
hi("Constant", red_none_h)
|
||||
hi("String", red_none_h)
|
||||
hi("Character", red_none_h)
|
||||
hi("Number", red_none_h)
|
||||
hi("Boolean", red_none_h)
|
||||
hi("Float", red_none_h)
|
||||
hi("Identifier", none_none_h)
|
||||
hi("Function", none_none_h)
|
||||
hi("Statement", orange_none_h)
|
||||
hi("Conditional", orange_none_h)
|
||||
hi("Repeat", orange_none_h)
|
||||
hi("Label", orange_none_h)
|
||||
hi("Operator", orange_none_h)
|
||||
hi("Keyword", orange_none_h)
|
||||
hi("Exception", orange_none_h)
|
||||
hi("PreProc", magenta_none_h)
|
||||
hi("Include", magenta_none_h)
|
||||
hi("Define", magenta_none_h)
|
||||
hi("Macro", magenta_none_h)
|
||||
hi("PreCondit", magenta_none_h)
|
||||
hi("Type", green_none_h)
|
||||
hi("StorageClass", green_none_h)
|
||||
hi("Structure", green_none_h)
|
||||
hi("Typedef", green_none_h)
|
||||
hi("Special", orange_none_h)
|
||||
hi("SpecialChar", orange_none_h)
|
||||
hi("Tag", orange_none_h)
|
||||
hi("Delimiter", orange_none_h)
|
||||
hi("SpecialComment", orange_none_h)
|
||||
hi("Debug", orange_none_h)
|
||||
hi("Underlined", none_none_underline_h)
|
||||
hi("Ignore", black_none_h)
|
||||
hi("Error", bg_red_h)
|
||||
hi("Todo", bg_orange_h)
|
||||
|
||||
hi("Italic", none_none_italic)
|
||||
hi("Bold", none_none_bold_h)
|
||||
hi("BoldItalic", none_none_bold_italic_h)
|
||||
hi("Strike", none_none_strikethrough_h)
|
||||
|
||||
-- markdown --------------------------------------------------------------------
|
||||
|
||||
hi("markdownLabel", magenta_none_h)
|
||||
hi("markdownHeadingDelimiter", blue_none_h)
|
||||
hi("markdownItalicDelimiter", blue_none_h)
|
||||
hi("markdownBoldDelimiter", blue_none_h)
|
||||
hi("markdownBoldItalicDelimiter", blue_none_h)
|
||||
hi("markdownStrikeDelimiter", blue_none_h)
|
||||
hi("markdownCodeDelimiter", blue_none_h)
|
||||
hi("markdownLinkTextDelimiter", blue_none_h)
|
||||
hi("markdownLinkDelimiter", blue_none_h)
|
||||
hi("markdownUrl", blue_none_h)
|
||||
|
||||
-- yaml ------------------------------------------------------------------------
|
||||
hi("yamlBlockMappingKey", blue_none_h)
|
||||
hi("yamlPlainScalar", red_none_h)
|
|
@ -1,129 +0,0 @@
|
|||
local opt, cmd, api = vim.opt, vim.cmd, vim.api
|
||||
local fn = vim.fn
|
||||
local v, g = vim.v, vim.g
|
||||
|
||||
-- colorscheme -----------------------------------------------------------------
|
||||
|
||||
cmd.colorscheme("basic")
|
||||
|
||||
-- statusline ------------------------------------------------------------------
|
||||
|
||||
function Statusline()
|
||||
local wordcount = fn.wordcount()
|
||||
return table.concat({
|
||||
fn.pathshorten(fn.getcwd()),
|
||||
" %=",
|
||||
" <%b>",
|
||||
" ", wordcount.visual_chars or wordcount.cursor_chars, "/", wordcount.chars,
|
||||
" ", wordcount.visual_words or wordcount.cursor_words, "/", wordcount.words,
|
||||
" %l/%L",
|
||||
" %c"
|
||||
})
|
||||
end
|
||||
|
||||
-- options ---------------------------------------------------------------------
|
||||
|
||||
-- moving around, searching and patterns
|
||||
opt.path = {".", "", "**"}
|
||||
opt.ignorecase = true
|
||||
opt.smartcase = true
|
||||
|
||||
-- displaying text
|
||||
opt.scrolloff = 10
|
||||
opt.breakindent = true
|
||||
opt.showbreak = "+++ "
|
||||
opt.number = true
|
||||
opt.relativenumber = true
|
||||
opt.colorcolumn = "+1"
|
||||
|
||||
-- multiple windows
|
||||
opt.laststatus = 3
|
||||
opt.statusline = "%!v:lua.Statusline()"
|
||||
|
||||
-- multiple tab pages
|
||||
opt.showtabline = 2
|
||||
|
||||
-- terminal
|
||||
opt.title = true
|
||||
|
||||
-- messages and info
|
||||
opt.shortmess:append({ I = true })
|
||||
|
||||
-- selecting text
|
||||
opt.clipboard = "unnamedplus"
|
||||
|
||||
-- editing text
|
||||
opt.undofile = true
|
||||
opt.textwidth = 80
|
||||
opt.completeopt = { "menuone", "preview" }
|
||||
|
||||
-- tabs and indenting
|
||||
opt.tabstop = 4
|
||||
opt.shiftwidth = 4
|
||||
opt.smarttab = true
|
||||
opt.softtabstop = -1
|
||||
opt.expandtab = true
|
||||
opt.smartindent = true
|
||||
|
||||
-- reading and writing files
|
||||
opt.writebackup = false
|
||||
opt.backup = false
|
||||
|
||||
-- command line editing
|
||||
opt.wildmode = "longest:full,full"
|
||||
opt.wildignorecase = true
|
||||
|
||||
-- various
|
||||
opt.signcolumn = "number"
|
||||
opt.winbar = "%f%( %h%m%r%y%)"
|
||||
opt.wildoptions = { "fuzzy" }
|
||||
|
||||
|
||||
-- keymaps ---------------------------------------------------------------------
|
||||
|
||||
local keymap_set = vim.keymap.set
|
||||
|
||||
keymap_set("n", "<esc>", "<cmd>nohlsearch<cr>")
|
||||
keymap_set("c", "<m-h>", "<left>")
|
||||
keymap_set("c", "<m-l>", "<right>")
|
||||
keymap_set("n", "<leader>f", ":find ")
|
||||
keymap_set("n", "<leader>b", ":buffer ")
|
||||
keymap_set("n", "<leader>h", ":help ")
|
||||
keymap_set("n", "<leader>g", ":vimgrep /")
|
||||
keymap_set("n", "<leader>s", "<cmd>set spell!<cr>")
|
||||
keymap_set("n", "<leader>m", "<cmd>make<cr>")
|
||||
keymap_set("n", "<leader>d", "<cmd>bdelete<cr>")
|
||||
keymap_set("n", "]b", "<cmd>bnext<cr>")
|
||||
keymap_set("n", "[b", "<cmd>bprev<cr>")
|
||||
keymap_set("n", "]B", "<cmd>blast<cr>")
|
||||
keymap_set("n", "[B", "<cmd>bfirst<cr>")
|
||||
keymap_set("n", "]t", "<cmd>tabnext<cr>")
|
||||
keymap_set("n", "[t", "<cmd>tabprev<cr>")
|
||||
keymap_set("n", "]T", "<cmd>tablast<cr>")
|
||||
keymap_set("n", "[T", "<cmd>tabfirst<cr>")
|
||||
keymap_set("n", "]q", "<cmd>cnext<cr>zz")
|
||||
keymap_set("n", "[q", "<cmd>cprev<cr>zz")
|
||||
keymap_set("n", "]Q", "<cmd>clast<cr>zz")
|
||||
keymap_set("n", "[Q", "<cmd>cfirst<cr>zz")
|
||||
keymap_set("n", "<leader>co", "<cmd>copen<cr>")
|
||||
keymap_set("n", "<leader>cc", "<cmd>cclose<cr>")
|
||||
keymap_set("n", "<c-h>", "<c-w>h")
|
||||
keymap_set("n", "<c-j>", "<c-w>j")
|
||||
keymap_set("n", "<c-k>", "<c-w>k")
|
||||
keymap_set("n", "<c-l>", "<c-w>l")
|
||||
keymap_set("n", "<leader>.", "<cmd>edit .<cr>")
|
||||
|
||||
-- buffer autocomplete ---------------------------------------------------------
|
||||
|
||||
-- @note disable autocompletion for now
|
||||
-- local bufautocomplete_augroup = api.nvim_create_augroup("Buffer autocompletion", {}),
|
||||
-- api.nvim_create_autocmd("InsertCharPre", {
|
||||
-- group = bufautocomplete_augroup,
|
||||
-- pattern = "*",
|
||||
-- callback = function ()
|
||||
-- if fn.pumvisible() == 0 and v.char:find("%w") then
|
||||
-- api.nvim_input("<c-n>")
|
||||
-- end
|
||||
-- end,
|
||||
-- desc = "Buffer autocomplete on InsertCharPre",
|
||||
-- })
|
|
@ -1,2 +0,0 @@
|
|||
# kratice
|
||||
gl.
|
Loading…
Reference in New Issue