Compare commits
1 Commits
main
...
copilot-lu
Author | SHA1 | Date | |
---|---|---|---|
6bc0b1a0da
|
@@ -1,29 +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()
|
local function no_attach_for_env()
|
||||||
MiniDeps.add("github/copilot.vim")
|
if string.match(vim.fs.basename(vim.api.nvim_buf_get_name(0)), "^%.env.*") then
|
||||||
|
return false
|
||||||
vim.g.copilot_filetypes = {
|
end
|
||||||
-- disable all and only allow specific filetyps
|
return true
|
||||||
["*"] = false,
|
|
||||||
--
|
|
||||||
c = true,
|
|
||||||
cpp = true,
|
|
||||||
dockerfile = true,
|
|
||||||
go = true,
|
|
||||||
javascript = true,
|
|
||||||
lua = true,
|
|
||||||
nix = true,
|
|
||||||
python = true,
|
|
||||||
rust = true,
|
|
||||||
sh = 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"]()
|
|
||||||
end
|
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)
|
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,4 +0,0 @@
|
|||||||
MiniDeps.later(function()
|
|
||||||
MiniDeps.add("windwp/nvim-autopairs")
|
|
||||||
require("nvim-autopairs").setup()
|
|
||||||
end)
|
|
@@ -1,15 +1,14 @@
|
|||||||
return {
|
return {
|
||||||
["copilot.vim"] = "da369d90cfd6c396b1d0ec259836a1c7222fb2ea",
|
["copilot.lua"] = "3123983d00ae6859f8bc987d14ebb524bb41b618",
|
||||||
["fzf-lua"] = "c102a4eeb10a04ed7e69ce80918923c4175c19d8",
|
["fzf-lua"] = "db3ccffe79480543d8e0f7b0cac0d9b220f9486e",
|
||||||
["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25",
|
["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25",
|
||||||
["gitsigns.nvim"] = "20ad4419564d6e22b189f6738116b38871082332",
|
["gitsigns.nvim"] = "1ee5c1fd068c81f9dd06483e639c2aa4587dc197",
|
||||||
["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7",
|
["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7",
|
||||||
["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f",
|
["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f",
|
||||||
["mini.nvim"] = "e04b5c69e43a6387cb3d54b75635ee432f9b853a",
|
["mini.nvim"] = "5e1dd6e3d5f758eccf6c51461559da785dba688c",
|
||||||
["nvim-autopairs"] = "7a2c97cccd60abc559344042fefb1d5a85b3e33b",
|
|
||||||
["nvim-lspconfig"] = "ac98db2f9f06a56498ec890a96928774eae412c3",
|
["nvim-lspconfig"] = "ac98db2f9f06a56498ec890a96928774eae412c3",
|
||||||
["nvim-treesitter"] = "71bf1665f804d46f7e4b24ad7ffc11f6ea5b271a",
|
["nvim-treesitter"] = "0606c7a9dcaa5c5beee0b0f09043e9fdd1ba0a68",
|
||||||
["oil.nvim"] = "7e1cd7703ff2924d7038476dcbc04b950203b902",
|
["oil.nvim"] = "919e155fdf38e9148cdb5304faaaf53c20d703ea",
|
||||||
["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||||
["rainbow-delimiters.nvim"] = "3277ad5f96eb03c9d618c88e24f683e4364e578c",
|
["rainbow-delimiters.nvim"] = "3277ad5f96eb03c9d618c88e24f683e4364e578c",
|
||||||
["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6"
|
["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6"
|
||||||
|
Reference in New Issue
Block a user