Just for Jer-Bear

master
shnee 2 years ago
commit c87c7e53b0

@ -0,0 +1,11 @@
-- Add a buffer bar at the top.
vim.api.nvim_set_var('airline#extensions#tabline#enabled', true)
-- Change the formatter for the tab/buffer bar.
-- Here's a full list of the different formatters:
-- - default
-- - jsformatter
-- - unique_tail
-- - unique_tail_improved
vim.api.nvim_set_var('airline#extensions#tabline#formatter',
'unique_tail_improved')

@ -0,0 +1,15 @@
-- local chatgpt = require("chatgpt")
-- wk.register({
-- p = {
-- name = "ChatGPT",
-- e = {
-- function()
-- chatgpt.edit_with_instructions()
-- end,
-- "Edit with instructions",
-- },
-- },
-- }, {
-- prefix = "<leader>",
-- mode = "v",
-- })

@ -0,0 +1,156 @@
local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then
return
end
local snip_status_ok, luasnip = pcall(require, "luasnip")
if not snip_status_ok then
return
end
-- Not sure if this just works or needs vscode to be installed. This came from
-- the same place as the snippet below.
require("luasnip/loaders/from_vscode").lazy_load()
-- This function, along with most of the code in this file, was copied from
-- LunarVim/Neovim-from-scratch branch: 05-completion, commit: a0e07fc
-- I'm not 100% sure what it does, it has something to do with "supertab" for
-- snippets, autocomplete, and normal mode.
local check_backspace = function()
local col = vim.fn.col "." - 1
return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
end
--   פּ ﯟ   some other good icons
local kind_icons = {
Text = "",
Method = "m",
Function = "",
Constructor = "",
Field = "",
Variable = "",
Class = "",
Interface = "",
Module = "",
Property = "",
Unit = "",
Value = "",
Enum = "",
Keyword = "",
Snippet = "",
Color = "",
File = "",
Reference = "",
Folder = "",
EnumMember = "",
Constant = "",
Struct = "",
Event = "",
Operator = "",
TypeParameter = "",
Copilot = "",
}
-- find more here: https://www.nerdfonts.com/cheat-sheet
cmp.setup {
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body) -- For `luasnip` users.
end,
},
mapping = {
["<C-k>"] = cmp.mapping.select_prev_item(),
["<C-j>"] = cmp.mapping.select_next_item(),
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
-- Specify `cmp.config.disable` if you want to remove the default `<C-y>`
-- mapping.
["<C-y>"] = cmp.config.disable,
["<C-e>"] = cmp.mapping {
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
},
['<C-x>'] = cmp.mapping(
cmp.mapping.complete({
config = {
sources = cmp.config.sources({
{ name = 'cmp_ai' },
}),
},
}),
{ 'i' }
),
-- Accept currently selected item. If none selected, `select` first item.
-- Set `select` to `false` to only confirm explicitly selected items.
["<CR>"] = cmp.mapping.confirm { select = true },
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expandable() then
luasnip.expand()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
elseif check_backspace() then
fallback()
else
fallback()
end
end, {
"i",
"s",
}),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, {
"i",
"s",
}),
},
formatting = {
fields = { "kind", "abbr", "menu" },
format = function(entry, vim_item)
-- Kind icons
-- TODO Need to make icons toggleable,
vim_item.kind = string.format("%s", kind_icons[vim_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 = ({
copilot = "[Copilot]",
cmp_ai = "[AI]",
nvim_lsp = "[LSP]",
nvim_lua = "[NVIM_LUA]",
luasnip = "[Snippet]",
buffer = "[Buffer]",
path = "[Path]",
})[entry.source.name]
return vim_item
end,
},
sources = {
{ name = "copilot" },
-- Uncomment to run on every keystroke.
-- { name = "cmp_ai" },
{ name = "nvim_lsp" },
{ name = "nvim_lua" },
{ name = "buffer" },
{ name = "path" },
{ name = "luasnip" },
},
confirm_opts = {
behavior = cmp.ConfirmBehavior.Replace,
select = false,
},
window = {
documentation = cmp.config.window.bordered()
},
experimental = {
ghost_text = true,
native_menu = false,
},
}

@ -0,0 +1,58 @@
function ColorMyPencils(color)
color = color or "base16-gruvbox-dark-hard"
-- color = color or "default"
vim.cmd.colorscheme(color)
vim.api.nvim_set_hl(0, "Normal", { ctermbg="none" })
vim.api.nvim_set_hl(0, "NormalFloat", { link="Normal" })
vim.api.nvim_set_hl(0, "NonText", { link="Normal" })
vim.api.nvim_set_hl(0, "LineNr", { link="Normal" })
vim.api.nvim_set_hl(0, "SignColumn", { link="Normal" })
vim.api.nvim_set_hl(0, "Visual", { ctermfg=0, ctermbg=3 })
vim.api.nvim_set_hl(0, "Search", { ctermfg=4, ctermbg=3 })
vim.api.nvim_set_hl(0, "Folded", { ctermfg=2, ctermbg=0 })
-- diff colors
-- The one issue with this is you won't be as easy to tell where the diff
-- sections are if there is no transparency in the terminal.
vim.api.nvim_set_hl(0, "DiffAdd", { ctermfg=2, ctermbg=0 })
vim.api.nvim_set_hl(0, "DiffDelete", { ctermfg=1, ctermbg=0 })
vim.api.nvim_set_hl(0, "DiffChange", { ctermfg=8, ctermbg=0 })
vim.api.nvim_set_hl(0, "DiffText", { ctermfg=3, ctermbg=0 })
-- Popup menu
vim.api.nvim_set_hl(0, "Pmenu", { ctermfg=7, ctermbg=0 })
vim.api.nvim_set_hl(0, "PmenuSel", { ctermfg=0, ctermbg=8 })
-- Current line highlight and line wrap column.
vim.opt.colorcolumn = '-0'
vim.opt.cursorline = true
vim.api.nvim_set_hl(0, "ColorColumn", { ctermbg=0 })
vim.api.nvim_set_hl(0, "CursorLine",
{ ctermbg=0, underline=false })
vim.api.nvim_set_hl(0, "CursorLineNr",
{ ctermbg="none", underline=false })
vim.api.nvim_set_hl(0, "CursorLineSign",
{ ctermbg="none", underline=false })
-- Other stuff
vim.api.nvim_set_hl(0, "WinSeparator",
{ ctermfg = 3, ctermbg = "none" })
vim.api.nvim_set_hl(0, "SpellBad",
{ cterm = { undercurl = true }, ctermfg = 1, ctermbg = 0 })
-- GitSigns colors
--
-- TODO this should be moved to gitsigns.lua
-- It would have been nice to link these to 'DiffAdd', 'DiffChange', and
-- 'DiffDelete', but currently this has a transparent background, while the
-- others don't. This may change though so keep the possibility of linking
-- in mind.
vim.api.nvim_set_hl(0, "GitSignsAdd", { ctermfg=2, ctermbg="none" })
vim.api.nvim_set_hl(0, "GitSignsChange", { ctermfg=3, ctermbg="none" })
vim.api.nvim_set_hl(0, "GitSignsDelete", { ctermfg=1, ctermbg="none" })
end
ColorMyPencils()

@ -0,0 +1,2 @@
vim.api.nvim_set_keymap('n', 'ga', "<Plug>(EasyAlign)", { noremap = true, silent = true });
vim.api.nvim_set_keymap('x', 'ga', "<Plug>(EasyAlign)", { noremap = true, silent = true });

@ -0,0 +1,43 @@
require('gitsigns').setup{
on_attach = function(bufnr)
local gs = package.loaded.gitsigns
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then return ']c' end
vim.schedule(function() gs.next_hunk() end)
return '<Ignore>'
end, {expr=true})
map('n', '[c', function()
if vim.wo.diff then return '[c' end
vim.schedule(function() gs.prev_hunk() end)
return '<Ignore>'
end, {expr=true})
-- Actions
map('n', '<leader>hs', gs.stage_hunk)
map('n', '<leader>hr', gs.reset_hunk)
map('v', '<leader>hs', function() gs.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
map('v', '<leader>hr', function() gs.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
map('n', '<leader>hS', gs.stage_buffer)
map('n', '<leader>hu', gs.undo_stage_hunk)
map('n', '<leader>hR', gs.reset_buffer)
map('n', '<leader>hp', gs.preview_hunk)
map('n', '<leader>hb', function() gs.blame_line{full=true} end)
map('n', '<leader>tb', gs.toggle_current_line_blame)
map('n', '<leader>hd', gs.diffthis)
map('n', '<leader>hD', function() gs.diffthis('~') end)
-- Commented out because we use this binding for trouble.
-- map('n', '<leader>td', gs.toggle_deleted)
-- Text object
map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
end
}

@ -0,0 +1,6 @@
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<C-p>', builtin.git_files, {})
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fs', builtin.lsp_document_symbols, {})

@ -0,0 +1,80 @@
-- TODO Here are some ways to run this plugin just on the current file.
-- :exe ":TodoQuickFix cwd=" .. fnameescape(expand("%:p"))
-- :exe ":TodoTrouble cwd=" .. fnameescape(expand("%:p"))
-- TODO Add a way to add TODO REM.
-- TODO Remove unused keywords.
-- TODO REM Most of this was copied from the default config. Instead we should
-- only override the settings we want to change. Maybe put the whole
-- default config in a comment.
-- All settings in this config are the default values from commit 3094ead,
-- unless noted by CHANGE_FROM_DEFAULT.
require("todo-comments").setup {
signs = true, -- show icons in the signs column
sign_priority = 8, -- sign priority
-- keywords recognized as todo comments
keywords = {
FIX = {
icon = "", -- icon used for the sign, and in search results
color = "error", -- can be a hex color, or a named color (see below)
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
-- signs = false, -- configure signs for some keywords individually
},
TODO = { icon = "", color = "info" },
HACK = { icon = "", color = "warning" },
WARN = { icon = "", color = "warning", alt = { "WARNING", "XXX" } },
PERF = { icon = "", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
NOTE = { icon = "", color = "hint", alt = { "INFO" } },
TEST = { icon = "", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
},
gui_style = {
fg = "NONE", -- The gui style to use for the fg highlight group.
bg = "BOLD", -- The gui style to use for the bg highlight group.
},
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
-- highlighting of the line containing the todo comment
-- * before: highlights before the keyword (typically comment characters)
-- * keyword: highlights of the keyword
-- * after: highlights after the keyword (todo text)
highlight = {
multiline = true, -- enable multine todo comments
multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword
multiline_context = 10, -- extra lines that will be re-evaluated when changing a line
before = "", -- "fg" or "bg" or empty
keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg)
after = "fg", -- "fg" or "bg" or empty
-- CHANGE_FROM_DEFAULT: Changed to make the ':' optional.
-- pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex)
pattern = [[.*<(KEYWORDS)(:| )]], -- pattern or table of patterns, used for highlighting (vim regex)
comments_only = true, -- uses treesitter to match keywords in comments only
max_line_len = 400, -- ignore lines longer than this
exclude = {}, -- list of file types to exclude highlighting
},
-- list of named colors where we try to extract the guifg from the
-- list of highlight groups or use the hex color if hl not found as a fallback
colors = {
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" },
info = { "DiagnosticInfo", "#2563EB" },
hint = { "DiagnosticHint", "#10B981" },
default = { "Identifier", "#7C3AED" },
test = { "Identifier", "#FF00FF" }
},
search = {
command = "rg",
args = {
"--color=never",
"--no-heading",
"--with-filename",
"--line-number",
"--column",
},
-- regex that will be used to match keywords.
-- don't replace the (KEYWORDS) placeholder
-- CHANGE_FROM_DEFAULT: Changed to make the ':' optional.
-- pattern = [[\b(KEYWORDS):]], -- ripgrep regex
pattern = [[\b(KEYWORDS)( |:)]],
},
}

@ -0,0 +1,41 @@
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the five listed parsers should always be installed)
-- ensure_installed = { "bash", "lua", "vim", "vimdoc" },
-- Install parsers synchronously (only applied to `ensure_installed`)
-- sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
-- auto_install = true,
-- List of parsers to ignore installing (for "all")
-- ignore_install = { "javascript" },
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
highlight = {
enable = true,
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- the name of the parser)
-- list of language that will be disabled
-- disable = { "c", "rust" },
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
-- disable = function(lang, buf)
-- local max_filesize = 100 * 1024 -- 100 KB
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
-- if ok and stats and stats.size > max_filesize then
-- return true
-- end
-- end,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}

@ -0,0 +1,7 @@
local opts = { noremap = true, silent = true }
local keymap = function(mode, key, command)
vim.api.nvim_set_keymap(mode, key, command, opts)
end
keymap("n", "<leader>td", ":Trouble document_diagnostics<cr>")
keymap("n", "<leader>tt", ":TroubleToggle<cr>")

@ -0,0 +1 @@
require("shnee")

@ -0,0 +1,5 @@
require("shnee.lsp")
require("shnee.packer")
require("shnee.remap")
require("shnee.set")
require("shnee.splits")

@ -0,0 +1,109 @@
local M = {}
-- TODO Need to make icons toggleable,
-- TODO: backfill this to template
M.setup = function()
local signs = {
{ name = "DiagnosticSignError", text = "" },
{ name = "DiagnosticSignWarn", text = "" },
{ name = "DiagnosticSignHint", text = "" },
{ name = "DiagnosticSignInfo", text = "" },
}
for _, sign in ipairs(signs) do
vim.fn.sign_define(sign.name, { texthl = sign.name,
text = sign.text,
numhl = "" })
end
local config = {
-- "ghost" text in the line where the error is.
virtual_text = true,
-- show signs
signs = {
active = signs,
},
update_in_insert = true,
underline = true,
severity_sort = true,
float = {
focusable = false,
style = "minimal",
border = "rounded",
source = "always",
-- TODO REM LunarVim/Neovim-from-scratch had these set to empty, I want to
-- what happens when they are not cleared.
-- header = "",
-- prefix = "",
},
}
vim.diagnostic.config(config)
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover,
{
border = "rounded",
})
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(
vim.lsp.handlers.signature_help, {
border = "rounded",
})
end
-- TODO REM I think this is for highlighting a symbol everywhere in a file while
-- your cursor is over it.
local function lsp_highlight_document(client)
-- Set autocommands conditional on server_capabilities
if client.server_capabilities.documentHighlight then
vim.api.nvim_exec(
[[
augroup lsp_document_highlight
autocmd! * <buffer>
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
augroup END
]],
false
)
end
end
local function lsp_keymaps(bufnr)
local opts = { noremap = true, silent = true }
vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>f", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", '<cmd>lua vim.diagnostic.goto_prev({ border = "rounded" })<CR>', opts)
vim.api.nvim_buf_set_keymap(
bufnr,
"n",
"gl",
'<cmd>lua vim.diagnostic.open_float()<CR>',
opts
)
vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]]
end
M.on_attach = function(client, bufnr)
if client.name == "tsserver" then
client.server_capabilities.documentFormattingProvider = false
end
lsp_keymaps(bufnr)
lsp_highlight_document(client)
end
local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
if status_ok then
M.capabilities = cmp_nvim_lsp.default_capabilities()
end
return M

@ -0,0 +1,8 @@
local status_ok, _ = pcall(require, "lspconfig")
if not status_ok then
return
end
require "shnee.lsp.mason"
require("shnee.lsp.handlers").setup()
require "shnee.lsp.null-ls"

@ -0,0 +1,51 @@
local servers = {
"bashls",
"lua_ls",
"pyright",
-- TODO Never got this to work
"marksman",
"jsonls",
}
local settings = {
ui = {
border = "none",
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
log_level = vim.log.levels.INFO,
max_concurrent_installers = 4,
}
require("mason").setup(settings)
require("mason-lspconfig").setup({
ensure_installed = servers,
automatic_installation = true,
})
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
if not lspconfig_status_ok then
return
end
local opts = {}
for _, server in pairs(servers) do
opts = {
on_attach = require("shnee.lsp.handlers").on_attach,
capabilities = require("shnee.lsp.handlers").capabilities,
}
server = vim.split(server, "@")[1]
local require_ok, conf_opts = pcall(require, "shnee.lsp.settings." .. server)
if require_ok then
opts = vim.tbl_deep_extend("force", conf_opts, opts)
end
lspconfig[server].setup(opts)
end

@ -0,0 +1,24 @@
local null_ls_status_ok, null_ls = pcall(require, "null-ls")
if not null_ls_status_ok then
print("null-ls not found")
return
end
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
local formatting = null_ls.builtins.formatting
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
local diagnostics = null_ls.builtins.diagnostics
null_ls.setup({
debug = false,
sources = {
formatting.prettier.with({
extra_args = { "--prose-wrap", "always",
"--print-width", "80",
}}),
formatting.black.with({ extra_args = { "--fast" } }),
formatting.stylua,
diagnostics.proselint.with({ filetypes = {} }),
diagnostics.hadolint,
},
})

@ -0,0 +1,192 @@
-- Find more schemas here: https://www.schemastore.org/json/
local schemas = {
{
description = "TypeScript compiler configuration file",
fileMatch = {
"tsconfig.json",
"tsconfig.*.json",
},
url = "https://json.schemastore.org/tsconfig.json",
},
{
description = "Lerna config",
fileMatch = { "lerna.json" },
url = "https://json.schemastore.org/lerna.json",
},
{
description = "Babel configuration",
fileMatch = {
".babelrc.json",
".babelrc",
"babel.config.json",
},
url = "https://json.schemastore.org/babelrc.json",
},
{
description = "ESLint config",
fileMatch = {
".eslintrc.json",
".eslintrc",
},
url = "https://json.schemastore.org/eslintrc.json",
},
{
description = "Bucklescript config",
fileMatch = { "bsconfig.json" },
url = "https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json",
},
{
description = "Prettier config",
fileMatch = {
".prettierrc",
".prettierrc.json",
"prettier.config.json",
},
url = "https://json.schemastore.org/prettierrc",
},
{
description = "Vercel Now config",
fileMatch = { "now.json" },
url = "https://json.schemastore.org/now",
},
{
description = "Stylelint config",
fileMatch = {
".stylelintrc",
".stylelintrc.json",
"stylelint.config.json",
},
url = "https://json.schemastore.org/stylelintrc",
},
{
description = "A JSON schema for the ASP.NET LaunchSettings.json files",
fileMatch = { "launchsettings.json" },
url = "https://json.schemastore.org/launchsettings.json",
},
{
description = "Schema for CMake Presets",
fileMatch = {
"CMakePresets.json",
"CMakeUserPresets.json",
},
url = "https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json",
},
{
description = "Configuration file as an alternative for configuring your repository in the settings page.",
fileMatch = {
".codeclimate.json",
},
url = "https://json.schemastore.org/codeclimate.json",
},
{
description = "LLVM compilation database",
fileMatch = {
"compile_commands.json",
},
url = "https://json.schemastore.org/compile-commands.json",
},
{
description = "Config file for Command Task Runner",
fileMatch = {
"commands.json",
},
url = "https://json.schemastore.org/commands.json",
},
{
description = "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.",
fileMatch = {
"*.cf.json",
"cloudformation.json",
},
url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json",
},
{
description = "The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.",
fileMatch = {
"serverless.template",
"*.sam.json",
"sam.json",
},
url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json",
},
{
description = "Json schema for properties json file for a GitHub Workflow template",
fileMatch = {
".github/workflow-templates/**.properties.json",
},
url = "https://json.schemastore.org/github-workflow-template-properties.json",
},
{
description = "golangci-lint configuration file",
fileMatch = {
".golangci.toml",
".golangci.json",
},
url = "https://json.schemastore.org/golangci-lint.json",
},
{
description = "JSON schema for the JSON Feed format",
fileMatch = {
"feed.json",
},
url = "https://json.schemastore.org/feed.json",
versions = {
["1"] = "https://json.schemastore.org/feed-1.json",
["1.1"] = "https://json.schemastore.org/feed.json",
},
},
{
description = "Packer template JSON configuration",
fileMatch = {
"packer.json",
},
url = "https://json.schemastore.org/packer.json",
},
{
description = "NPM configuration file",
fileMatch = {
"package.json",
},
url = "https://json.schemastore.org/package.json",
},
{
description = "JSON schema for Visual Studio component configuration files",
fileMatch = {
"*.vsconfig",
},
url = "https://json.schemastore.org/vsconfig.json",
},
{
description = "Resume json",
fileMatch = { "resume.json" },
url = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
},
}
-- local function extend(tab1, tab2)
-- for _, value in ipairs(tab2 or {}) do
-- table.insert(tab1, value)
-- end
-- return tab1
-- end
local extended_schemas = extend(schemas, default_schemas)
local opts = {
settings = {
json = {
schemas = schemas,
},
},
setup = {
commands = {
Format = {
function()
vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 })
end,
},
},
},
}
return opts

@ -0,0 +1,15 @@
return {
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
workspace = {
library = {
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
[vim.fn.stdpath("config") .. "/lua"] = true,
},
},
},
},
}

@ -0,0 +1,170 @@
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
use 'chriskempson/base16-vim'
use({
"jackMort/ChatGPT.nvim",
config = function()
require("chatgpt").setup()
end,
requires = {
"MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim"
}
})
-- ansible
-- TODO This didnt work. Commented out and trying the Ansible LSP installed
-- via Mason instead.
-- use 'mfussenegger/nvim-ansible'
-- copilot stuff
use {
"zbirenbaum/copilot.lua",
--cmd = "Copilot",
--event = "InsertEnter",
config = function()
require("copilot").setup({
suggestion = { enabled = false },
panel = { enabled = false },
})
end,
}
use {
"zbirenbaum/copilot-cmp",
after = { "copilot.lua" },
config = function ()
require("copilot_cmp").setup()
end
}
use {
"tzachar/cmp-ai",
config = function ()
require("cmp_ai.config"):setup({
max_lines = 1000,
provider = 'Ollama',
provider_options = {
base_url = 'http://192.168.1.100:11434/api/generate',
model = 'codellama:13b',
prompt = function(lines_before, lines_after)
-- require('notify').notify('lines_before: ' .. lines_before, vim.log.levels.INFO, {
-- title = 'lines_before',
-- })
-- require('notify').notify('lines_after: ' .. lines_after, vim.log.levels.INFO, {
-- title = 'lines_after',
-- })
return '<PRE> ' .. lines_before .. ' <SUF>' .. lines_after .. ' <MID>' -- for codellama
end,
},
notify = true,
notify_callback = function(msg)
-- vim.notify(msg)
require('notify').notify(msg, vim.log.levels.INFO, {
title = 'ollama',
render = 'compact',
})
end,
run_on_every_keystroke = true,
})
end,
}
use 'rcarriga/nvim-notify'
use 'junegunn/vim-easy-align'
-- indent guides
-- TODO Consider using lukas-reineke/indent-blankline.nvim for this.
--
-- It would be nice to have these lines toggleable.
-- This is a generic and configurable sidebar, it's lacking some features that
-- I'm looking for. For now I think we're going to use specific plugins for
-- tags and file exploring, etc.
-- use 'sidebar-nvim/sidebar.nvim'
use {
'nvim-telescope/telescope.nvim', tag = '0.1.2',
-- or , branch = '0.1.x',
requires = { {'nvim-lua/plenary.nvim'} }
}
use('nvim-treesitter/nvim-treesitter', { tag = 'v.0.9.0', run = ':TSUpdate' })
use 'vim-airline/vim-airline'
use 'vim-airline/vim-airline-themes'
-- git
use 'tpope/vim-fugitive'
use 'lewis6991/gitsigns.nvim'
-- tagbar
--
-- I'm not in love with either of these. Symbols-outline has a ton of info but
-- there isn't any kind of sorting or filtering. Aerial is only showing
-- functions for me although it's supposed to show variables too.
use {
'simrat39/symbols-outline.nvim',
config = function() require'symbols-outline'.setup{} end,
}
use {
'stevearc/aerial.nvim',
config = function()
require('aerial').setup({
-- filter_kind = false,
filter_kind = { "Class", "Function", "Method, Variable" },
}) end
}
use {
'folke/todo-comments.nvim',
requires = "nvim-lua/plenary.nvim",
}
use 'folke/trouble.nvim'
-- TODO REM have to make icons optional.
use {
'nvim-tree/nvim-web-devicons',
config = function()
require'nvim-web-devicons'.setup {
color_icons = true;
default = true;
}
end
}
use {
"folke/which-key.nvim",
config = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
require("which-key").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
-- cmp plugins
use "hrsh7th/nvim-cmp" -- The completion plugin
use "hrsh7th/cmp-buffer" -- buffer completions
use "hrsh7th/cmp-path" -- path completions
use "hrsh7th/cmp-cmdline" -- cmdline completions
use "saadparwaiz1/cmp_luasnip" -- snippet completions
use "hrsh7th/cmp-nvim-lsp"
use "hrsh7th/cmp-nvim-lua"
-- snippets
use "L3MON4D3/LuaSnip" --snippet engine
use "rafamadriz/friendly-snippets" -- a bunch of snippets to use
-- lsp
use "neovim/nvim-lspconfig"
use "williamboman/mason.nvim"
use "williamboman/mason-lspconfig.nvim"
use 'jose-elias-alvarez/null-ls.nvim'
end)

@ -0,0 +1,33 @@
local opts = { noremap = true, silent = true }
-- vim.g.mapleader = ','
--remap space as leader key
vim.api.nvim_set_keymap("", "<Space>", "<Nop>", opts)
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-- navigate buffers
vim.api.nvim_set_keymap("n", "<s-l>", ":bnext<cr>", opts)
vim.api.nvim_set_keymap("n", "<S-h>", ":bprevious<CR>", opts)
-- visual --
-- stay in indent mode
vim.api.nvim_set_keymap("v", "<", "<gv", opts)
vim.api.nvim_set_keymap("v", ">", ">gv", opts)
-- move text up and down
vim.api.nvim_set_keymap("v", "<A-j>", ":m .+1<CR>==", opts)
vim.api.nvim_set_keymap("v", "<A-k>", ":m .-2<CR>==", opts)
-- keep yanked text in the register even after you paste in visual mode.
vim.api.nvim_set_keymap("v", "p", '"_dP', opts)
-- visual block --
-- move text up and down
-- TODO not super sure what the difference between these are... Got these from
-- https://github.com/LunarVim/Neovim-from-scratch
-- branch: 02-keymaps, commit: e1ac274
vim.api.nvim_set_keymap("x", "J", ":move '>+1<CR>gv-gv", opts)
vim.api.nvim_set_keymap("x", "K", ":move '<-2<CR>gv-gv", opts)
vim.api.nvim_set_keymap("x", "<A-j>", ":move '>+1<CR>gv-gv", opts)
vim.api.nvim_set_keymap("x", "<A-k>", ":move '<-2<CR>gv-gv", opts)

@ -0,0 +1,58 @@
vim.opt.nu = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.textwidth = 80
vim.opt.wrap = false
vim.opt.spell = true
-- search highlighting
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.opt.mouse = "a"
-- Adds '-' to the list of characters that are considered part of a word.
vim.opt.iskeyword:append("-")
-- This should allow seamless copy/paste between vim and the system clipboard
-- with both ctrl-c/ctrl-v and middle mouse button.
vim.opt.clipboard = { "unnamedplus", "unnamed" }
vim.opt.swapfile = false
-- time to wait for a mapped sequence to complete (in milliseconds)
vim.opt.timeoutlen = 1000
-- enable persistent undo
vim.opt.undofile = true
-- faster completion (4000ms default)
vim.opt.updatetime = 300
vim.opt.scrolloff = 8
-- I don't think we want the sidescroll option. This causes the view to shift to
-- the right when the cursor is near the right edge of the screen, even if there
-- is no text to the right of the cursor. So as long as we obey good line
-- lengths this should not be needed.
-- vim.opt.sidescrolloff = 8
-- spellfiles
--
-- TODO Currently the default 'add' spellfile is in source control. It would
-- probably be better to put those words in a different file and add it in this
-- config.
--
-- In vimscript this would maybe look like:
-- set spellfile+=shnee.utf-8.add
-- or
-- set spelllang+=shnee
--
-- Not sure hot do this in lua yet.

@ -0,0 +1,19 @@
local opts = { noremap = true, silent = true }
-- splits
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.api.nvim_set_keymap('n', '<C-_>', ':split<CR>', opts);
vim.api.nvim_set_keymap('n', '<C-\\>', ':vsplit<CR>', opts);
-- window navigation
vim.api.nvim_set_keymap('n', '<C-J>', '<C-W><C-J>', opts);
vim.api.nvim_set_keymap('n', '<C-K>', '<C-W><C-K>', opts);
vim.api.nvim_set_keymap('n', '<C-L>', '<C-W><C-L>', opts);
vim.api.nvim_set_keymap('n', '<C-H>', '<C-W><C-H>', opts);
-- resize with arrows
vim.api.nvim_set_keymap("n", "<C-Up>", ":resize +2<CR>", opts)
vim.api.nvim_set_keymap("n", "<C-Down>", ":resize -2<CR>", opts)
vim.api.nvim_set_keymap("n", "<C-Left>", ":vertical resize -2<CR>", opts)
vim.api.nvim_set_keymap("n", "<C-Right>", ":vertical resize +2<CR>", opts)

@ -0,0 +1,317 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/shnee/.cache/nvim/packer_hererocks/2.1.1702233742/share/lua/5.1/?.lua;/home/shnee/.cache/nvim/packer_hererocks/2.1.1702233742/share/lua/5.1/?/init.lua;/home/shnee/.cache/nvim/packer_hererocks/2.1.1702233742/lib/luarocks/rocks-5.1/?.lua;/home/shnee/.cache/nvim/packer_hererocks/2.1.1702233742/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/shnee/.cache/nvim/packer_hererocks/2.1.1702233742/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["ChatGPT.nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fchatgpt\frequire\0" },
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/ChatGPT.nvim",
url = "https://github.com/jackMort/ChatGPT.nvim"
},
LuaSnip = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["aerial.nvim"] = {
config = { "\27LJ\2\ns\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\16filter_kind\1\0\0\1\4\0\0\nClass\rFunction\21Method, Variable\nsetup\vaerial\frequire\0" },
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/aerial.nvim",
url = "https://github.com/stevearc/aerial.nvim"
},
["base16-vim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/base16-vim",
url = "https://github.com/chriskempson/base16-vim"
},
["cmp-ai"] = {
config = { "\27LJ\2\n8\0\2\a\0\3\0\a'\2\0\0\18\3\0\0'\4\1\0\18\5\1\0'\6\2\0&\2\6\2L\2\2\0\v <MID>\v <SUF>\v<PRE> y\0\1\6\0\a\0\f6\1\0\0'\3\1\0B\1\2\0029\1\1\1\18\3\0\0006\4\2\0009\4\3\0049\4\4\0049\4\5\0045\5\6\0B\1\4\1K\0\1\0\1\0\2\ntitle\vollama\vrender\fcompact\tINFO\vlevels\blog\bvim\vnotify\frequire<EFBFBD>\2\1\0\6\0\n\0\0146\0\0\0'\2\1\0B\0\2\2\18\2\0\0009\0\2\0005\3\3\0005\4\4\0003\5\5\0=\5\6\4=\4\a\0033\4\b\0=\4\t\3B\0\3\1K\0\1\0\20notify_callback\0\21provider_options\vprompt\0\1\0\2\rbase_url,http://192.168.1.100:11434/api/generate\nmodel\18codellama:13b\1\0\4\14max_lines\3è\a\vnotify\2\rprovider\vOllama\27run_on_every_keystroke\2\nsetup\18cmp_ai.config\frequire\0" },
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp-ai",
url = "https://github.com/tzachar/cmp-ai"
},
["cmp-buffer"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-cmdline"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-nvim-lua"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
url = "https://github.com/hrsh7th/cmp-nvim-lua"
},
["cmp-path"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
cmp_luasnip = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["copilot-cmp"] = {
config = { "\27LJ\2\n9\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\16copilot_cmp\frequire\0" },
load_after = {},
loaded = true,
needs_bufread = false,
path = "/home/shnee/.local/share/nvim/site/pack/packer/opt/copilot-cmp",
url = "https://github.com/zbirenbaum/copilot-cmp"
},
["copilot.lua"] = {
after = { "copilot-cmp" },
config = { "\27LJ\2\nu\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\npanel\1\0\1\fenabled\1\15suggestion\1\0\0\1\0\1\fenabled\1\nsetup\fcopilot\frequire\0" },
loaded = true,
only_config = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/copilot.lua",
url = "https://github.com/zbirenbaum/copilot.lua"
},
["friendly-snippets"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/friendly-snippets",
url = "https://github.com/rafamadriz/friendly-snippets"
},
["gitsigns.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
url = "https://github.com/lewis6991/gitsigns.nvim"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
url = "https://github.com/williamboman/mason-lspconfig.nvim"
},
["mason.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["nui.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/nui.nvim",
url = "https://github.com/MunifTanjim/nui.nvim"
},
["null-ls.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/null-ls.nvim",
url = "https://github.com/jose-elias-alvarez/null-ls.nvim"
},
["nvim-cmp"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-notify"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/nvim-notify",
url = "https://github.com/rcarriga/nvim-notify"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-web-devicons"] = {
config = { "\27LJ\2\n\\\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\2\fdefault\2\16color_icons\2\nsetup\22nvim-web-devicons\frequire\0" },
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/nvim-tree/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["plenary.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["symbols-outline.nvim"] = {
config = { "\27LJ\2\nA\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\20symbols-outline\frequire\0" },
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim",
url = "https://github.com/simrat39/symbols-outline.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["todo-comments.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/todo-comments.nvim",
url = "https://github.com/folke/todo-comments.nvim"
},
["trouble.nvim"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/trouble.nvim",
url = "https://github.com/folke/trouble.nvim"
},
["vim-airline"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/vim-airline",
url = "https://github.com/vim-airline/vim-airline"
},
["vim-airline-themes"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/vim-airline-themes",
url = "https://github.com/vim-airline/vim-airline-themes"
},
["vim-easy-align"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/vim-easy-align",
url = "https://github.com/junegunn/vim-easy-align"
},
["vim-fugitive"] = {
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
["which-key.nvim"] = {
config = { "\27LJ\2\nt\0\0\3\0\a\0\0156\0\0\0009\0\1\0+\1\2\0=\1\2\0006\0\0\0009\0\1\0)\1,\1=\1\3\0006\0\4\0'\2\5\0B\0\2\0029\0\6\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14which-key\frequire\15timeoutlen\ftimeout\6o\bvim\0" },
loaded = true,
path = "/home/shnee/.local/share/nvim/site/pack/packer/start/which-key.nvim",
url = "https://github.com/folke/which-key.nvim"
}
}
time([[Defining packer_plugins]], false)
-- Config for: cmp-ai
time([[Config for cmp-ai]], true)
try_loadstring("\27LJ\2\n8\0\2\a\0\3\0\a'\2\0\0\18\3\0\0'\4\1\0\18\5\1\0'\6\2\0&\2\6\2L\2\2\0\v <MID>\v <SUF>\v<PRE> y\0\1\6\0\a\0\f6\1\0\0'\3\1\0B\1\2\0029\1\1\1\18\3\0\0006\4\2\0009\4\3\0049\4\4\0049\4\5\0045\5\6\0B\1\4\1K\0\1\0\1\0\2\ntitle\vollama\vrender\fcompact\tINFO\vlevels\blog\bvim\vnotify\frequire<EFBFBD>\2\1\0\6\0\n\0\0146\0\0\0'\2\1\0B\0\2\2\18\2\0\0009\0\2\0005\3\3\0005\4\4\0003\5\5\0=\5\6\4=\4\a\0033\4\b\0=\4\t\3B\0\3\1K\0\1\0\20notify_callback\0\21provider_options\vprompt\0\1\0\2\rbase_url,http://192.168.1.100:11434/api/generate\nmodel\18codellama:13b\1\0\4\14max_lines\3è\a\vnotify\2\rprovider\vOllama\27run_on_every_keystroke\2\nsetup\18cmp_ai.config\frequire\0", "config", "cmp-ai")
time([[Config for cmp-ai]], false)
-- Config for: symbols-outline.nvim
time([[Config for symbols-outline.nvim]], true)
try_loadstring("\27LJ\2\nA\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\20symbols-outline\frequire\0", "config", "symbols-outline.nvim")
time([[Config for symbols-outline.nvim]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\27LJ\2\nt\0\0\3\0\a\0\0156\0\0\0009\0\1\0+\1\2\0=\1\2\0006\0\0\0009\0\1\0)\1,\1=\1\3\0006\0\4\0'\2\5\0B\0\2\0029\0\6\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14which-key\frequire\15timeoutlen\ftimeout\6o\bvim\0", "config", "which-key.nvim")
time([[Config for which-key.nvim]], false)
-- Config for: copilot.lua
time([[Config for copilot.lua]], true)
try_loadstring("\27LJ\2\nu\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\npanel\1\0\1\fenabled\1\15suggestion\1\0\0\1\0\1\fenabled\1\nsetup\fcopilot\frequire\0", "config", "copilot.lua")
time([[Config for copilot.lua]], false)
-- Config for: nvim-web-devicons
time([[Config for nvim-web-devicons]], true)
try_loadstring("\27LJ\2\n\\\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\2\fdefault\2\16color_icons\2\nsetup\22nvim-web-devicons\frequire\0", "config", "nvim-web-devicons")
time([[Config for nvim-web-devicons]], false)
-- Config for: aerial.nvim
time([[Config for aerial.nvim]], true)
try_loadstring("\27LJ\2\ns\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\16filter_kind\1\0\0\1\4\0\0\nClass\rFunction\21Method, Variable\nsetup\vaerial\frequire\0", "config", "aerial.nvim")
time([[Config for aerial.nvim]], false)
-- Config for: ChatGPT.nvim
time([[Config for ChatGPT.nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fchatgpt\frequire\0", "config", "ChatGPT.nvim")
time([[Config for ChatGPT.nvim]], false)
-- Load plugins in order defined by `after`
time([[Sequenced loading]], true)
vim.cmd [[ packadd copilot-cmp ]]
-- Config for: copilot-cmp
try_loadstring("\27LJ\2\n9\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\16copilot_cmp\frequire\0", "config", "copilot-cmp")
time([[Sequenced loading]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

@ -0,0 +1,23 @@
AWS
Artifactory
EC2
GitLab
MSS
Peraton
RHEL
VPCs
args
config
gitlab
json
off
popup
stdout
tmp
url
api
auth
params
Dockerfile
Dockerfiles
ANDSAS

Binary file not shown.
Loading…
Cancel
Save