added packer script. made plugin configs not error out when no plugin
This commit is contained in:
parent
571effe737
commit
e6577b4106
|
@ -1,41 +1,44 @@
|
|||
require("image").setup({
|
||||
backend = "kitty",
|
||||
processor = "magick_cli", -- or "magick_rock"
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = false,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
floating_windows = false, -- if true, images will be rendered in floating markdown windows
|
||||
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
|
||||
local ok, image = pcall(require, 'image')
|
||||
if ok then
|
||||
image.setup({
|
||||
backend = "kitty",
|
||||
processor = "magick_cli", -- or "magick_rock"
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = false,
|
||||
only_render_image_at_cursor = true,
|
||||
only_render_image_at_cursor_mode = "popup",
|
||||
floating_windows = false, -- if true, images will be rendered in floating markdown windows
|
||||
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
|
||||
},
|
||||
neorg = {
|
||||
enabled = true,
|
||||
filetypes = { "norg" },
|
||||
},
|
||||
typst = {
|
||||
enabled = true,
|
||||
filetypes = { "typst" },
|
||||
},
|
||||
html = {
|
||||
enabled = false,
|
||||
},
|
||||
css = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
neorg = {
|
||||
enabled = true,
|
||||
filetypes = { "norg" },
|
||||
},
|
||||
typst = {
|
||||
enabled = true,
|
||||
filetypes = { "typst" },
|
||||
},
|
||||
html = {
|
||||
enabled = false,
|
||||
},
|
||||
css = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
max_width = nil,
|
||||
max_height = nil,
|
||||
max_width_window_percentage = nil,
|
||||
max_height_window_percentage = 50,
|
||||
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
|
||||
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
|
||||
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
|
||||
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
|
||||
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
|
||||
})
|
||||
max_width = nil,
|
||||
max_height = nil,
|
||||
max_width_window_percentage = nil,
|
||||
max_height_window_percentage = 50,
|
||||
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
|
||||
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
|
||||
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
|
||||
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
|
||||
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
|
||||
})
|
||||
end
|
||||
|
||||
-- require("image").enable() -- enable the plugin
|
||||
-- print(require("image").is_enabled()) -- bool
|
||||
|
|
|
@ -1,31 +1,34 @@
|
|||
require('yourmom/cloak').setup({
|
||||
enabled = true,
|
||||
cloak_character = '*',
|
||||
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||
highlight_group = 'Comment',
|
||||
-- Applies the length of the replacement characters for all matched
|
||||
-- patterns, defaults to the length of the matched pattern.
|
||||
cloak_length = nil, -- Provide a number if you want to hide the true length of the value.
|
||||
-- Whether it should try every pattern to find the best fit or stop after the first.
|
||||
try_all_patterns = true,
|
||||
-- Set to true to cloak Telescope preview buffers. (Required feature not in 0.1.x)
|
||||
cloak_telescope = true,
|
||||
-- Re-enable cloak when a matched buffer leaves the window.
|
||||
cloak_on_leave = false,
|
||||
patterns = {
|
||||
{
|
||||
-- Match any file starting with '.env'.
|
||||
-- This can be a table to match multiple file patterns.
|
||||
file_pattern = '.env*',
|
||||
-- Match an equals sign and any character after it.
|
||||
-- This can also be a table of patterns to cloak,
|
||||
-- example: cloak_pattern = { ':.+', '-.+' } for yaml files.
|
||||
cloak_pattern = '=.+',
|
||||
-- A function, table or string to generate the replacement.
|
||||
-- The actual replacement will contain the 'cloak_character'
|
||||
-- where it doesn't cover the original text.
|
||||
-- If left empty the legacy behavior of keeping the first character is retained.
|
||||
replace = nil,
|
||||
}
|
||||
},
|
||||
})
|
||||
local ok, cloak = pcall(require, 'yourmom/cloak')
|
||||
if ok then
|
||||
cloak.setup({
|
||||
enabled = true,
|
||||
cloak_character = '*',
|
||||
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||
highlight_group = 'Comment',
|
||||
-- Applies the length of the replacement characters for all matched
|
||||
-- patterns, defaults to the length of the matched pattern.
|
||||
cloak_length = nil, -- Provide a number if you want to hide the true length of the value.
|
||||
-- Whether it should try every pattern to find the best fit or stop after the first.
|
||||
try_all_patterns = true,
|
||||
-- Set to true to cloak Telescope preview buffers. (Required feature not in 0.1.x)
|
||||
cloak_telescope = true,
|
||||
-- Re-enable cloak when a matched buffer leaves the window.
|
||||
cloak_on_leave = false,
|
||||
patterns = {
|
||||
{
|
||||
-- Match any file starting with '.env'.
|
||||
-- This can be a table to match multiple file patterns.
|
||||
file_pattern = '.env*',
|
||||
-- Match an equals sign and any character after it.
|
||||
-- This can also be a table of patterns to cloak,
|
||||
-- example: cloak_pattern = { ':.+', '-.+' } for yaml files.
|
||||
cloak_pattern = '=.+',
|
||||
-- A function, table or string to generate the replacement.
|
||||
-- The actual replacement will contain the 'cloak_character'
|
||||
-- where it doesn't cover the original text.
|
||||
-- If left empty the legacy behavior of keeping the first character is retained.
|
||||
replace = nil,
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
|
|
|
@ -1 +1,4 @@
|
|||
require("colorizer").setup()
|
||||
local ok, colorizer = pcall(require, 'colorizer')
|
||||
if ok then
|
||||
colorizer.setup()
|
||||
end
|
||||
|
|
|
@ -1 +1,4 @@
|
|||
require("hardtime").setup()
|
||||
local ok, hardtime = pcall(require, 'hardtime')
|
||||
if ok then
|
||||
hardtime.setup()
|
||||
end
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
local mark = require("harpoon.mark")
|
||||
local ui = require("harpoon.ui")
|
||||
local ok, _ = pcall(require, 'harpoon.mark')
|
||||
if ok then
|
||||
local mark = require("harpoon.mark")
|
||||
local ui = require("harpoon.ui")
|
||||
|
||||
vim.keymap.set("n","<leader>a", mark.add_file)
|
||||
vim.keymap.set("n","<C-e>", ui.toggle_quick_menu)
|
||||
vim.keymap.set("n","<leader>a", mark.add_file)
|
||||
vim.keymap.set("n","<C-e>", ui.toggle_quick_menu)
|
||||
|
||||
|
||||
vim.keymap.set("n","<C-y>", function() ui.nav_file(1) end)
|
||||
vim.keymap.set("n","<C-t>", function() ui.nav_file(2) end)
|
||||
vim.keymap.set("n","<C-n>", function() ui.nav_file(3) end)
|
||||
vim.keymap.set("n","<C-s>", function() ui.nav_file(4) end)
|
||||
vim.keymap.set("n","<C-y>", function() ui.nav_file(1) end)
|
||||
vim.keymap.set("n","<C-t>", function() ui.nav_file(2) end)
|
||||
vim.keymap.set("n","<C-n>", function() ui.nav_file(3) end)
|
||||
vim.keymap.set("n","<C-s>", function() ui.nav_file(4) end)
|
||||
end
|
||||
|
|
|
@ -1,30 +1,33 @@
|
|||
local highlight = {
|
||||
"RainbowRed",
|
||||
}
|
||||
local ok, _ = pcall(require, 'ibl')
|
||||
if ok then
|
||||
local highlight = {
|
||||
"RainbowRed",
|
||||
}
|
||||
|
||||
local hooks = require "ibl.hooks"
|
||||
-- create the highlight groups in the highlight setup hook, so they are reset
|
||||
-- every time the colorscheme changes
|
||||
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
|
||||
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#702ec0" })
|
||||
end)
|
||||
local hooks = require "ibl.hooks"
|
||||
-- create the highlight groups in the highlight setup hook, so they are reset
|
||||
-- every time the colorscheme changes
|
||||
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
|
||||
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#702ec0" })
|
||||
end)
|
||||
|
||||
require('ibl').setup {
|
||||
indent = {
|
||||
char = '|',
|
||||
highlight = highlight,
|
||||
},
|
||||
scope = {
|
||||
show_start = false,
|
||||
show_end = false,
|
||||
show_exact_scope = false,
|
||||
},
|
||||
exclude = {
|
||||
filetypes = {
|
||||
'help',
|
||||
'packer',
|
||||
'undotree',
|
||||
'diff',
|
||||
require('ibl').setup {
|
||||
indent = {
|
||||
char = '|',
|
||||
highlight = highlight,
|
||||
},
|
||||
},
|
||||
}
|
||||
scope = {
|
||||
show_start = false,
|
||||
show_end = false,
|
||||
show_exact_scope = false,
|
||||
},
|
||||
exclude = {
|
||||
filetypes = {
|
||||
'help',
|
||||
'packer',
|
||||
'undotree',
|
||||
'diff',
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
|
|
@ -1,75 +1,78 @@
|
|||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "src",
|
||||
callback = function()
|
||||
print("LSP should now be active for src files")
|
||||
end,
|
||||
})
|
||||
local ok, _ = pcall(require, 'lsp-zero')
|
||||
if ok then
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "src",
|
||||
callback = function()
|
||||
print("LSP should now be active for src files")
|
||||
end,
|
||||
})
|
||||
|
||||
local lsp = require("lsp-zero")
|
||||
local lsp = require("lsp-zero")
|
||||
|
||||
lsp.preset("recommended")
|
||||
lsp.preset("recommended")
|
||||
|
||||
|
||||
local cmp = require('cmp')
|
||||
local cmp = require('cmp')
|
||||
|
||||
local cmp_select = {behavior = cmp.SelectBehavior.Select}
|
||||
local cmp_mappings = cmp.mapping.preset.insert({
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
})
|
||||
local cmp_select = {behavior = cmp.SelectBehavior.Select}
|
||||
local cmp_mappings = cmp.mapping.preset.insert({
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
})
|
||||
|
||||
cmp.setup({
|
||||
mapping = cmp_mappings,
|
||||
})
|
||||
cmp.setup({
|
||||
mapping = cmp_mappings,
|
||||
})
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_text = true,
|
||||
})
|
||||
vim.diagnostic.config({
|
||||
virtual_text = true,
|
||||
})
|
||||
|
||||
lsp.on_attach(function(client, bufnr)
|
||||
local opts = {buffer = bufnr, remap = false}
|
||||
lsp.on_attach(function(client, bufnr)
|
||||
local opts = {buffer = bufnr, remap = false}
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
end)
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
end)
|
||||
|
||||
|
||||
local lsp_configurations = require('lspconfig.configs')
|
||||
local lsp_configurations = require('lspconfig.configs')
|
||||
|
||||
if not lsp_configurations.greybel then
|
||||
lsp_configurations.greybel = {
|
||||
default_config = {
|
||||
cmd = { "/bin/greybel-languageserver", "--stdio" },
|
||||
filetypes = { "greyscript" },
|
||||
root_dir = require('lspconfig.util').root_pattern(".git", vim.fn.getcwd()),
|
||||
settings = {},
|
||||
}
|
||||
}
|
||||
if not lsp_configurations.greybel then
|
||||
lsp_configurations.greybel = {
|
||||
default_config = {
|
||||
cmd = { "/bin/greybel-languageserver", "--stdio" },
|
||||
filetypes = { "greyscript" },
|
||||
root_dir = require('lspconfig.util').root_pattern(".git", vim.fn.getcwd()),
|
||||
settings = {},
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
-- to learn how to use mason.nvim with lsp-zero
|
||||
-- read this: https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guides/integrate-with-mason-nvim.md
|
||||
require('mason').setup({
|
||||
registries = {
|
||||
"github:mason-org/mason-registry",
|
||||
},
|
||||
})
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = { },
|
||||
handlers = {
|
||||
lsp.default_setup,
|
||||
},
|
||||
})
|
||||
require('lspconfig').greybel.setup({})
|
||||
|
||||
lsp.setup()
|
||||
end
|
||||
|
||||
-- to learn how to use mason.nvim with lsp-zero
|
||||
-- read this: https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guides/integrate-with-mason-nvim.md
|
||||
require('mason').setup({
|
||||
registries = {
|
||||
"github:mason-org/mason-registry",
|
||||
},
|
||||
})
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = { },
|
||||
handlers = {
|
||||
lsp.default_setup,
|
||||
},
|
||||
})
|
||||
require('lspconfig').greybel.setup({})
|
||||
|
||||
lsp.setup()
|
||||
|
|
|
@ -1,46 +1,49 @@
|
|||
require('lualine').setup()
|
||||
local ok, lualine = pcall(require, 'lualine')
|
||||
if ok then
|
||||
-- require('lualine').setup()
|
||||
|
||||
local custom_gruvbox = require'lualine.themes.base16'
|
||||
local custom_gruvbox = require'lualine.themes.base16'
|
||||
|
||||
-- Change the background of lualine_c section for normal mode
|
||||
custom_gruvbox.normal.c.bg = '#222222'
|
||||
-- Change the background of lualine_c section for normal mode
|
||||
custom_gruvbox.normal.c.bg = '#222222'
|
||||
|
||||
local hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end
|
||||
local hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end
|
||||
|
||||
local diagnostics = {
|
||||
'diagnostics',
|
||||
sources = { 'nvim_diagnostic' },
|
||||
sections = { 'error' , 'warn' },
|
||||
symbols = { error = ' ', warn = ' ', info = ' ', hint = ' ' },
|
||||
update_in_insert = false,
|
||||
allways_visible = false,
|
||||
cond = hide_in_width,
|
||||
}
|
||||
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
theme = custom_gruvbox,
|
||||
icons_enabled = true,
|
||||
disabled_filetypes = {'undotree', 'diff'},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {{
|
||||
'mode',
|
||||
fmt = function(str)
|
||||
return ' ' .. str
|
||||
end,
|
||||
}},
|
||||
lualine_b = {'branch', 'diff', diagnostics},
|
||||
lualine_c = {{
|
||||
'filename',
|
||||
file_status = true,
|
||||
path = 0,
|
||||
}},
|
||||
--lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_x = {{'encoding', cond=hide_in_width}, {'filetype',cond=hide_in_width}},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
local diagnostics = {
|
||||
'diagnostics',
|
||||
sources = { 'nvim_diagnostic' },
|
||||
sections = { 'error' , 'warn' },
|
||||
symbols = { error = ' ', warn = ' ', info = ' ', hint = ' ' },
|
||||
update_in_insert = false,
|
||||
allways_visible = false,
|
||||
cond = hide_in_width,
|
||||
}
|
||||
}
|
||||
|
||||
lualine.setup {
|
||||
options = {
|
||||
theme = custom_gruvbox,
|
||||
icons_enabled = true,
|
||||
disabled_filetypes = {'undotree', 'diff'},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {{
|
||||
'mode',
|
||||
fmt = function(str)
|
||||
return ' ' .. str
|
||||
end,
|
||||
}},
|
||||
lualine_b = {'branch', 'diff', diagnostics},
|
||||
lualine_c = {{
|
||||
'filename',
|
||||
file_status = true,
|
||||
path = 0,
|
||||
}},
|
||||
--lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_x = {{'encoding', cond=hide_in_width}, {'filetype',cond=hide_in_width}},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
vim.notify = require("notify")
|
||||
require("notify").setup({
|
||||
background_colour="#000000"
|
||||
})
|
||||
local ok, notify = pcall(require, 'notify')
|
||||
if ok then
|
||||
vim.notify = notify
|
||||
notify.setup({
|
||||
background_colour="#000000"
|
||||
})
|
||||
end
|
||||
|
|
|
@ -1,19 +1,22 @@
|
|||
local telescope = require('telescope')
|
||||
local builtin = require('telescope.builtin')
|
||||
if string.find(vim.loop.cwd(),"iceys%-linux%-stuffs") then
|
||||
telescope.setup{
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden=true
|
||||
local ok, _ = pcall(require, 'telescope')
|
||||
if ok then
|
||||
local telescope = require('telescope')
|
||||
local builtin = require('telescope.builtin')
|
||||
if string.find(vim.loop.cwd(),"iceys%-linux%-stuffs") then
|
||||
telescope.setup{
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden=true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
vim.keymap.set('n', '<leader>pf', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>pg', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>pb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>ph', builtin.help_tags, {})
|
||||
vim.keymap.set('n', '<leader>ps', function()
|
||||
builtin.grep_string({ search = vim.fn.input("Grep > ") });
|
||||
end)
|
||||
--vim.keymap.set('n', '<C-p>', builtin.git_files, {})
|
||||
end
|
||||
vim.keymap.set('n', '<leader>pf', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>pg', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>pb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>ph', builtin.help_tags, {})
|
||||
vim.keymap.set('n', '<leader>ps', function()
|
||||
builtin.grep_string({ search = vim.fn.input("Grep > ") });
|
||||
end)
|
||||
--vim.keymap.set('n', '<C-p>', builtin.git_files, {})
|
||||
|
|
|
@ -1 +1,4 @@
|
|||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||
local ok, _ = pcall(require, 'undotree')
|
||||
if ok then
|
||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||
end
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo DOWNLOADING PACKER FOR NVIM
|
||||
|
||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim \
|
||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||
|
||||
echo ----------
|
Loading…
Reference in New Issue