Compare commits
1 Commits
main
...
copilot-lu
| Author | SHA1 | Date | |
|---|---|---|---|
|
6bc0b1a0da
|
@@ -1,6 +1,6 @@
|
||||
repos:
|
||||
- repo: https://github.com/JohnnyMorganz/StyLua
|
||||
rev: v2.5.2
|
||||
rev: v2.3.0
|
||||
hooks:
|
||||
- id: stylua-system
|
||||
args: [--check, --respect-ignores]
|
||||
|
||||
@@ -2,4 +2,4 @@ vim.keymap.set("n", "<leader><leader>x", "<cmd>source %<CR>")
|
||||
vim.keymap.set("n", "<leader>x", ":.lua<CR>")
|
||||
vim.keymap.set("v", "<leader>x", ":lua<CR>")
|
||||
|
||||
vim.opt_local.colorcolumn = "81"
|
||||
vim.opt_local.colorcolumn = { 81 }
|
||||
|
||||
@@ -1 +1 @@
|
||||
vim.opt_local.colorcolumn = "80,81,89"
|
||||
vim.opt_local.colorcolumn = { 80, 81, 89 }
|
||||
|
||||
@@ -1 +1 @@
|
||||
vim.opt_local.colorcolumn = "80,100"
|
||||
vim.opt_local.colorcolumn = { 80, 100 }
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
return {
|
||||
init_options = {
|
||||
telemetry = "off",
|
||||
settings = {
|
||||
initializationOptions = {
|
||||
telemetry = "off",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- general
|
||||
vim.o.backup = false
|
||||
vim.o.mouse = ""
|
||||
-- TODO:(janezicmatej) i think mouse scroll is binded to up/down and this
|
||||
-- deosn't always work
|
||||
@@ -13,6 +14,7 @@ vim.o.mousescroll = "ver:0,hor:0"
|
||||
vim.o.writebackup = false
|
||||
vim.o.undofile = true
|
||||
vim.o.updatetime = 250
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
|
||||
-- ui
|
||||
@@ -28,6 +30,7 @@ vim.o.wrap = false
|
||||
vim.o.winborder = "double"
|
||||
|
||||
-- editing
|
||||
vim.o.autoindent = true
|
||||
vim.o.expandtab = true
|
||||
vim.o.ignorecase = true
|
||||
vim.o.smartcase = true
|
||||
@@ -60,14 +63,11 @@ vim.g.clipboard = {
|
||||
|
||||
vim.o.completeopt = "menuone,noselect,fuzzy,nosort"
|
||||
|
||||
-- default plus added dash
|
||||
vim.o.iskeyword = "@,48-57,_,192-255,-"
|
||||
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
desc = "highlight when yanking text",
|
||||
group = vim.api.nvim_create_augroup("CustomHighlightYank", { clear = true }),
|
||||
callback = function() vim.hl.hl_op() end,
|
||||
})
|
||||
|
||||
-- filetype overrides
|
||||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = vim.fn.expand("~") .. "/.config/sway/**/*.conf",
|
||||
callback = function() vim.bo.filetype = "swayconfig" end,
|
||||
callback = function() vim.highlight.on_yank() end,
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- bootstrap 'mini.nvim' manually in a way that it gets managed by 'mini.deps'
|
||||
local mini_path = vim.fn.stdpath("data") .. "/site/pack/deps/start/mini.nvim"
|
||||
if not vim.uv.fs_stat(mini_path) then
|
||||
if not vim.loop.fs_stat(mini_path) then
|
||||
vim.cmd('echo "Installing `mini.nvim`" | redraw')
|
||||
local clone_cmd = {
|
||||
"git",
|
||||
|
||||
@@ -1,28 +1,79 @@
|
||||
local now_if_args = vim.fn.argc(-1) > 0 and MiniDeps.now or MiniDeps.later
|
||||
MiniDeps.later(function()
|
||||
MiniDeps.add("zbirenbaum/copilot.lua")
|
||||
-- TODO:(@janezicmatej) setup lsp nes
|
||||
-- MiniDeps.add("copilotlsp-nvim/copilot-lsp")
|
||||
|
||||
now_if_args(function()
|
||||
MiniDeps.add("github/copilot.vim")
|
||||
|
||||
vim.g.copilot_filetypes = {
|
||||
-- disable all and only allow specific filetyps
|
||||
["*"] = false,
|
||||
--
|
||||
c = true,
|
||||
cpp = true,
|
||||
dockerfile = true,
|
||||
go = true,
|
||||
javascript = true,
|
||||
lua = true,
|
||||
nix = true,
|
||||
python = true,
|
||||
rust = true,
|
||||
typescript = true,
|
||||
}
|
||||
|
||||
-- remap default <M-\> to first close pumenu if open
|
||||
local function suggest()
|
||||
if vim.fn.pumvisible() == 1 then vim.fn.complete(vim.fn.col("."), {}) end
|
||||
return vim.fn["copilot#Suggest"]()
|
||||
local function no_attach_for_env()
|
||||
if string.match(vim.fs.basename(vim.api.nvim_buf_get_name(0)), "^%.env.*") then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
vim.keymap.set("i", "<M-\\>", suggest)
|
||||
|
||||
local opts = {
|
||||
panel = {
|
||||
keymap = {
|
||||
jump_prev = false,
|
||||
jump_next = false,
|
||||
accept = false,
|
||||
refresh = false,
|
||||
open = false,
|
||||
},
|
||||
},
|
||||
suggestion = {
|
||||
-- auto_trigger = true,
|
||||
keymap = {
|
||||
accept = false,
|
||||
accept_word = false,
|
||||
accept_line = false,
|
||||
next = false,
|
||||
prev = false,
|
||||
dismiss = false,
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
-- disable all and only allow specific filetyps
|
||||
["*"] = false,
|
||||
--
|
||||
c = true,
|
||||
cpp = true,
|
||||
dockerfile = true,
|
||||
go = true,
|
||||
javascript = true,
|
||||
lua = true,
|
||||
nix = true,
|
||||
python = true,
|
||||
rust = true,
|
||||
sh = no_attach_for_env,
|
||||
bash = no_attach_for_env,
|
||||
typescript = true,
|
||||
},
|
||||
}
|
||||
require("copilot").setup(opts)
|
||||
|
||||
local suggestion = require("copilot.suggestion")
|
||||
|
||||
local function accept_if_visible()
|
||||
vim.notify("is visible " .. (suggestion.is_visible() or "nil"))
|
||||
if suggestion.is_visible() ~= nil then
|
||||
suggestion.accept()
|
||||
else
|
||||
return "<Tab>"
|
||||
end
|
||||
end
|
||||
|
||||
local function close_pum_if_open(func)
|
||||
return function()
|
||||
if vim.fn.pumvisible() == 1 then vim.fn.complete(vim.fn.col("."), {}) end
|
||||
return func()
|
||||
end
|
||||
end
|
||||
|
||||
-- stylua: ignore start
|
||||
vim.keymap.set({ "i" }, "<Tab>", accept_if_visible, { desc = "copilot: accept suggestion", expr = true })
|
||||
vim.keymap.set({ "n", "i" }, "<M-j>", suggestion.accept_line, { desc = "copilot: accept line" })
|
||||
|
||||
vim.keymap.set({ "n", "i" }, "<M-l>", close_pum_if_open(suggestion.next), { desc = "copilot: next suggestion" })
|
||||
vim.keymap.set({ "n", "i" }, "<M-h>", close_pum_if_open(suggestion.prev), { desc = "copilot: previous suggestion" })
|
||||
-- stylua: ignore start
|
||||
end)
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
MiniDeps.now(function()
|
||||
MiniDeps.add("j-hui/fidget.nvim")
|
||||
|
||||
local opts = {
|
||||
notification = {
|
||||
override_vim_notify = true,
|
||||
},
|
||||
}
|
||||
|
||||
require("fidget").setup(opts)
|
||||
end)
|
||||
@@ -1,8 +1,8 @@
|
||||
MiniDeps.later(function()
|
||||
MiniDeps.add("ibhagwan/fzf-lua")
|
||||
|
||||
local fzf_lua = require("fzf-lua")
|
||||
fzf_lua.setup({
|
||||
local fzf = require("fzf-lua")
|
||||
fzf.setup({
|
||||
files = {
|
||||
no_ignore = true,
|
||||
toggle_ignore_flag = "--no-ignore-vcs",
|
||||
@@ -13,12 +13,11 @@ MiniDeps.later(function()
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>sf", fzf_lua.files)
|
||||
vim.keymap.set("n", "<leader>sg", fzf_lua.live_grep)
|
||||
vim.keymap.set("n", "<leader>sw", fzf_lua.grep_cword)
|
||||
vim.keymap.set("v", "<leader>sg", fzf_lua.grep_visual)
|
||||
vim.keymap.set("n", "<leader>sj", fzf_lua.jumps)
|
||||
vim.keymap.set("n", "<leader>sh", fzf_lua.helptags)
|
||||
vim.keymap.set("n", "<leader>sr", fzf_lua.resume)
|
||||
vim.keymap.set("n", "<leader>sb", fzf_lua.builtin)
|
||||
vim.keymap.set("n", "<leader>sf", fzf.files)
|
||||
vim.keymap.set("n", "<leader>sg", fzf.live_grep)
|
||||
vim.keymap.set("n", "<leader>sw", fzf.grep_cword)
|
||||
vim.keymap.set("v", "<leader>sg", fzf.grep_visual)
|
||||
|
||||
vim.keymap.set("n", "<leader>sr", fzf.resume)
|
||||
vim.keymap.set("n", "<leader>sb", fzf.builtin)
|
||||
end)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
MiniDeps.later(function()
|
||||
MiniDeps.add({
|
||||
source = "ruifm/gitlinker.nvim",
|
||||
depends = { "nvim-lua/plenary.nvim" },
|
||||
})
|
||||
MiniDeps.add("nvim-lua/plenary.nvim")
|
||||
MiniDeps.add("ruifm/gitlinker.nvim")
|
||||
require("gitlinker").setup({
|
||||
callbacks = {
|
||||
["git.aflabs.org"] = require("gitlinker.hosts").get_gitlab_type_url,
|
||||
|
||||
@@ -11,10 +11,10 @@ MiniDeps.later(function()
|
||||
})
|
||||
|
||||
-- blame
|
||||
vim.keymap.set({ "n", "v" }, "<leader>gb", ":Gitsigns blame<CR>")
|
||||
vim.keymap.set({ "n", "v" }, "<leader>gt", ":Gitsigns blame_line<CR>")
|
||||
vim.keymap.set({"n", "v"}, "<leader>gb", ":Gitsigns blame<CR>")
|
||||
vim.keymap.set({"n", "v"}, "<leader>gt", ":Gitsigns blame_line<CR>")
|
||||
|
||||
-- hunks
|
||||
vim.keymap.set({ "n", "v" }, "<leader>ga", ":Gitsigns stage_hunk<CR>")
|
||||
vim.keymap.set({ "n", "v" }, "<leader>gr", ":Gitsigns reset_hunk<CR>")
|
||||
vim.keymap.set({"n", "v"}, "<leader>ga", ":Gitsigns stage_hunk<CR>")
|
||||
vim.keymap.set({"n", "v"}, "<leader>gr", ":Gitsigns reset_hunk<CR>")
|
||||
end)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
MiniDeps.now(function()
|
||||
require("mini.icons").setup()
|
||||
MiniIcons.mock_nvim_web_devicons()
|
||||
MiniIcons.tweak_lsp_kind()
|
||||
end)
|
||||
|
||||
4
lua/plugins/mini_notify.lua
Normal file
4
lua/plugins/mini_notify.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
MiniDeps.now(function()
|
||||
require("mini.notify").setup()
|
||||
vim.notify = MiniNotify.make_notify()
|
||||
end)
|
||||
1
lua/plugins/mini_pairs.lua
Normal file
1
lua/plugins/mini_pairs.lua
Normal file
@@ -0,0 +1 @@
|
||||
MiniDeps.later(function() require("mini.pairs").setup() end)
|
||||
@@ -1 +1,13 @@
|
||||
MiniDeps.later(function() require("mini.snippets").setup() end)
|
||||
MiniDeps.later(function()
|
||||
local gen_loader = require("mini.snippets").gen_loader
|
||||
require("mini.snippets").setup({
|
||||
snippets = {
|
||||
-- Load custom file with global snippets first (adjust for Windows)
|
||||
gen_loader.from_file("~/.config/nvim/snippets/global.json"),
|
||||
|
||||
-- Load snippets based on current language by reading files from
|
||||
-- "snippets/" subdirectories from 'runtimepath' directories.
|
||||
gen_loader.from_lang(),
|
||||
},
|
||||
})
|
||||
end)
|
||||
|
||||
@@ -2,7 +2,7 @@ local function default_header()
|
||||
local hour = tonumber(vim.fn.strftime("%H"))
|
||||
local part_id = math.floor((hour + 4) / 8) + 1
|
||||
local day_part = ({ "evening", "morning", "afternoon", "evening" })[part_id]
|
||||
local username = vim.uv.os_get_passwd()["username"] or "USERNAME"
|
||||
local username = vim.loop.os_get_passwd()["username"] or "USERNAME"
|
||||
|
||||
return ("good %s, %s"):format(day_part, username)
|
||||
end
|
||||
@@ -12,60 +12,25 @@ local function reinstall_treesitter()
|
||||
ts.install(ts.get_installed(), { force = true })
|
||||
end
|
||||
|
||||
local function deps_section()
|
||||
local mini_deps = require("mini.deps")
|
||||
local nr_deps = #vim.iter(mini_deps):enumerate():totable()
|
||||
|
||||
local items = {
|
||||
{
|
||||
name = "number of dependencies " .. nr_deps,
|
||||
action = "",
|
||||
section = "dependencies",
|
||||
},
|
||||
}
|
||||
|
||||
local function mk_dep_item(name, action)
|
||||
return { name = name, action = action, section = "dependencies" }
|
||||
end
|
||||
|
||||
local deps_actions = {
|
||||
mk_dep_item("update dependencies", "DepsUpdate"),
|
||||
mk_dep_item("snap dependencies", "DepsSnapSave"),
|
||||
mk_dep_item("load dependencies", "DepsSnapLoad"),
|
||||
mk_dep_item("clean dependencies", "DepsClean"),
|
||||
}
|
||||
|
||||
if vim.fn.getcwd() == vim.fn.stdpath("config") then
|
||||
for _, item in ipairs(deps_actions) do
|
||||
table.insert(items, item)
|
||||
end
|
||||
end
|
||||
|
||||
return items
|
||||
end
|
||||
|
||||
MiniDeps.now(function()
|
||||
local builtins = {
|
||||
{ name = "edit new buffer", action = "enew", section = "builtin actions" },
|
||||
{ name = "quit neovim", action = "qall", section = "builtin actions" },
|
||||
}
|
||||
|
||||
require("mini.starter").setup({
|
||||
query_updaters = "abcdefghijklmnopqrstuvwxyz0123456789_.",
|
||||
evaluate_single = true,
|
||||
header = default_header,
|
||||
footer = "",
|
||||
items = {
|
||||
--stylua: ignore start
|
||||
-- builtins
|
||||
builtins,
|
||||
{ name = "edit new buffer", action = "enew", section = "builtin actions" },
|
||||
{ name = "quit neovim", action = "qall", section = "builtin actions" },
|
||||
-- dependencies
|
||||
deps_section,
|
||||
{ name = "update dependencies", action = "DepsUpdate", section = "dependencies" },
|
||||
{ name = "snap dependencies", action = "DepsSnapSave", section = "dependencies" },
|
||||
{ name = "load dependencies", action = "DepsSnapLoad", section = "dependencies" },
|
||||
{ name = "clean dependencies", action = "DepsClean", section = "dependencies" },
|
||||
-- debug
|
||||
{
|
||||
name = "reinstall treesitter parsers",
|
||||
action = reinstall_treesitter,
|
||||
section = "debug",
|
||||
},
|
||||
{ name = "reinstall treesitter parsers", action = reinstall_treesitter, section = "debug" },
|
||||
--stylua: ignore end
|
||||
},
|
||||
})
|
||||
end)
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
MiniDeps.later(function()
|
||||
MiniDeps.add("windwp/nvim-autopairs")
|
||||
require("nvim-autopairs").setup()
|
||||
end)
|
||||
@@ -1,7 +1,5 @@
|
||||
MiniDeps.now(function()
|
||||
MiniDeps.add({
|
||||
source = "folke/todo-comments.nvim",
|
||||
depends = { "nvim-lua/plenary.nvim" },
|
||||
})
|
||||
MiniDeps.add("folke/todo-comments.nvim")
|
||||
MiniDeps.add("nvim-lua/plenary.nvim")
|
||||
require("todo-comments").setup()
|
||||
end)
|
||||
|
||||
@@ -3,6 +3,7 @@ local now_if_args = vim.fn.argc(-1) > 0 and MiniDeps.now or MiniDeps.later
|
||||
now_if_args(function()
|
||||
MiniDeps.add({
|
||||
source = "nvim-treesitter/nvim-treesitter",
|
||||
checkout = "main",
|
||||
hooks = { post_checkout = function() vim.cmd("TSUpdate") end },
|
||||
})
|
||||
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
return {
|
||||
["copilot.vim"] = "a12fd5672110c8aa7e3c8419e28c96943ca179be",
|
||||
["fidget.nvim"] = "9e0201673e08e997e7cf52afca5565c70bd117f3",
|
||||
["fzf-lua"] = "13bb178a299f7493dd64427a58e61904c4b58ecb",
|
||||
["copilot.lua"] = "3123983d00ae6859f8bc987d14ebb524bb41b618",
|
||||
["fzf-lua"] = "db3ccffe79480543d8e0f7b0cac0d9b220f9486e",
|
||||
["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25",
|
||||
["gitsigns.nvim"] = "8d79f2410c76e62b92e51c28c82e28c1c5a3daeb",
|
||||
["gruvbox-material"] = "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79",
|
||||
["gitsigns.nvim"] = "1ee5c1fd068c81f9dd06483e639c2aa4587dc197",
|
||||
["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7",
|
||||
["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f",
|
||||
["mini.nvim"] = "4389a4f31f854ce066949ea89c72dc71564f5c20",
|
||||
["nvim-autopairs"] = "430522f95fe4fb7c511ec64f8c1a90cc6a66c05c",
|
||||
["nvim-lspconfig"] = "ffd261c09c3dabd0bf1a438f47a8ae3b22f3c3ff",
|
||||
["nvim-treesitter"] = "f603a2f4da48728f80257fb5fbb90145fd1dc173",
|
||||
["oil.nvim"] = "b73018b75affd13fa38e2fc94ef753b465f770d7",
|
||||
["plenary.nvim"] = "74b06c6c75e4eeb3108ec01852001636d85a932b",
|
||||
["rainbow-delimiters.nvim"] = "3a0fc08dd39e8bf034a4cfef3f2845bd5f565a2e",
|
||||
["todo-comments.nvim"] = "31e3c38ce9b29781e4422fc0322eb0a21f4e8668"
|
||||
["mini.nvim"] = "5e1dd6e3d5f758eccf6c51461559da785dba688c",
|
||||
["nvim-lspconfig"] = "ac98db2f9f06a56498ec890a96928774eae412c3",
|
||||
["nvim-treesitter"] = "0606c7a9dcaa5c5beee0b0f09043e9fdd1ba0a68",
|
||||
["oil.nvim"] = "919e155fdf38e9148cdb5304faaaf53c20d703ea",
|
||||
["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||
["rainbow-delimiters.nvim"] = "3277ad5f96eb03c9d618c88e24f683e4364e578c",
|
||||
["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user