2 Commits

4 changed files with 34 additions and 80 deletions

View File

@@ -1,79 +1,29 @@
MiniDeps.later(function() local now_if_args = vim.fn.argc(-1) > 0 and MiniDeps.now or MiniDeps.later
MiniDeps.add("zbirenbaum/copilot.lua")
-- TODO:(@janezicmatej) setup lsp nes
-- MiniDeps.add("copilotlsp-nvim/copilot-lsp")
local function no_attach_for_env() now_if_args(function()
if string.match(vim.fs.basename(vim.api.nvim_buf_get_name(0)), "^%.env.*") then MiniDeps.add("github/copilot.vim")
return false
end
return true
end
local opts = { vim.g.copilot_filetypes = {
panel = { -- disable all and only allow specific filetyps
keymap = { ["*"] = false,
jump_prev = false, --
jump_next = false, c = true,
accept = false, cpp = true,
refresh = false, dockerfile = true,
open = false, go = true,
}, javascript = true,
}, lua = true,
suggestion = { nix = true,
-- auto_trigger = true, python = true,
keymap = { rust = true,
accept = false, sh = true,
accept_word = false, typescript = true,
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") -- remap default <M-\> to first close pumenu if open
local function suggest()
local function accept_if_visible() if vim.fn.pumvisible() == 1 then vim.fn.complete(vim.fn.col("."), {}) end
vim.notify("is visible " .. (suggestion.is_visible() or "nil")) return vim.fn["copilot#Suggest"]()
if suggestion.is_visible() ~= nil then
suggestion.accept()
else
return "<Tab>"
end
end end
vim.keymap.set("i", "<M-\\>", suggest)
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) end)

View File

@@ -1 +0,0 @@
MiniDeps.later(function() require("mini.pairs").setup() end)

View File

@@ -0,0 +1,4 @@
MiniDeps.later(function()
MiniDeps.add("windwp/nvim-autopairs")
require("nvim-autopairs").setup()
end)

View File

@@ -1,14 +1,15 @@
return { return {
["copilot.lua"] = "3123983d00ae6859f8bc987d14ebb524bb41b618", ["copilot.vim"] = "da369d90cfd6c396b1d0ec259836a1c7222fb2ea",
["fzf-lua"] = "db3ccffe79480543d8e0f7b0cac0d9b220f9486e", ["fzf-lua"] = "c102a4eeb10a04ed7e69ce80918923c4175c19d8",
["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25", ["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25",
["gitsigns.nvim"] = "1ee5c1fd068c81f9dd06483e639c2aa4587dc197", ["gitsigns.nvim"] = "20ad4419564d6e22b189f6738116b38871082332",
["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7", ["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7",
["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f", ["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f",
["mini.nvim"] = "5e1dd6e3d5f758eccf6c51461559da785dba688c", ["mini.nvim"] = "e04b5c69e43a6387cb3d54b75635ee432f9b853a",
["nvim-autopairs"] = "7a2c97cccd60abc559344042fefb1d5a85b3e33b",
["nvim-lspconfig"] = "ac98db2f9f06a56498ec890a96928774eae412c3", ["nvim-lspconfig"] = "ac98db2f9f06a56498ec890a96928774eae412c3",
["nvim-treesitter"] = "0606c7a9dcaa5c5beee0b0f09043e9fdd1ba0a68", ["nvim-treesitter"] = "71bf1665f804d46f7e4b24ad7ffc11f6ea5b271a",
["oil.nvim"] = "919e155fdf38e9148cdb5304faaaf53c20d703ea", ["oil.nvim"] = "7e1cd7703ff2924d7038476dcbc04b950203b902",
["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509", ["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
["rainbow-delimiters.nvim"] = "3277ad5f96eb03c9d618c88e24f683e4364e578c", ["rainbow-delimiters.nvim"] = "3277ad5f96eb03c9d618c88e24f683e4364e578c",
["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6" ["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6"