feat: add sensible copilot accept and term
parent
94bf4f62c1
commit
75abeb74f7
1
init.lua
1
init.lua
|
@ -10,3 +10,4 @@ require("config.comment")
|
|||
require("config.themery")
|
||||
require("config.theme")
|
||||
require("config.lualine")
|
||||
require("config.fterm")
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
{
|
||||
"FTerm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" },
|
||||
"LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" },
|
||||
"catppuccin": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "31ddbea7c10b6920c9077b66c97951ca8682d5c8" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" },
|
||||
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" },
|
||||
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" },
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
require("FTerm").setup({
|
||||
blend = 25
|
||||
})
|
|
@ -1,9 +1,22 @@
|
|||
local fterm = require('FTerm')
|
||||
local keymap = vim.api.nvim_set_keymap
|
||||
local opts = { noremap = true, silent = true }
|
||||
local api = vim.api
|
||||
|
||||
-- Custom commands
|
||||
api.nvim_create_user_command('FTermToggle', fterm.toggle, { bang = true })
|
||||
api.nvim_create_user_command('FTermClose', fterm.close, { bang = true })
|
||||
|
||||
local mappings = {
|
||||
n = {
|
||||
-- highlighting
|
||||
["<leader>nh"] = ":nohl<CR>",
|
||||
-- move between buffers
|
||||
["<c-h>"] = "<C-w>h",
|
||||
["<c-j>"] = "<C-w>j",
|
||||
["<c-k>"] = "<C-w>k",
|
||||
["<c-l>"] = "<C-w>l",
|
||||
-- open and close buggers
|
||||
["<leader>sv"] = "<C-w>s",
|
||||
["<leader>sh"] = "<C-w>v",
|
||||
["<leader>se"] = "<C-w>=",
|
||||
|
@ -11,39 +24,45 @@ local mappings = {
|
|||
-- nvim-tree
|
||||
["<leader>e"] = ":NvimTreeToggle<CR>",
|
||||
["<leader>cf"] = ":NvimTreeCollapse<CR>",
|
||||
-- lsp
|
||||
-- LSP
|
||||
["<leader>ls"] = ":lspstop<CR>",
|
||||
["<leader>lo"] = ":lspstart<CR>",
|
||||
-- move between buffers
|
||||
["<c-h>"] = "<C-w>h",
|
||||
["<c-j>"] = "<C-w>j",
|
||||
["<c-k>"] = "<C-w>k",
|
||||
["<c-l>"] = "<C-w>l",
|
||||
-- Telescope
|
||||
["<leader>ff"] = "<cmd>Telescope find_files<CR>",
|
||||
["<leader>fw"] = "<cmd>Telescope live_grep<CR>",
|
||||
["<leader>fc"] = "<cmd>Telescope grep_string<CR>",
|
||||
["<leader>th"] = "<cmd>Themery<CR>",
|
||||
["<leader>sm"] = ":MaximizerToggle<CR>"
|
||||
["<leader>sm"] = ":MaximizerToggle<CR>",
|
||||
-- FTerm
|
||||
["<leader>h"] = "<cmd>FTermToggle<CR>"
|
||||
},
|
||||
x = {
|
||||
["J"] = ":move '>+1<CR>gv-gv",
|
||||
["K"] = ":move '<-2<CR>gv-gv",
|
||||
["<A-j>"] = ":move '>+1<CR>gv-gv",
|
||||
["<A-k>"] = ":move '<-2<CR>gv-gv",
|
||||
},
|
||||
i = {
|
||||
["c-j"] = [[<cmd>lua require('copilot').accept()<CR>]],
|
||||
["<m-l>"] = "<esc>",
|
||||
["<C-Space>"] = { 'copilot#Accept("<CR>")', expr = true },
|
||||
["<A-l>"] = "<esc>",
|
||||
},
|
||||
t = {
|
||||
["A-l"] = "<cmd>FTermClose<CR>"
|
||||
}
|
||||
}
|
||||
|
||||
for mode, mode_mappings in pairs(mappings) do
|
||||
for key, mapping in pairs(mode_mappings) do
|
||||
if type(mapping) == "function" then
|
||||
keymap(mode, key, "<cmd>lua " .. mapping() .. "<>", opts)
|
||||
-- For direct Lua function calls; ensure your function returns a string command
|
||||
keymap(mode, key, "<cmd>lua " .. mapping() .. "<CR>", opts)
|
||||
elseif type(mapping) == "table" and mapping.expr then
|
||||
-- For expression mappings, like for copilot
|
||||
local expr_opts = vim.tbl_extend("force", opts, { expr = true })
|
||||
keymap(mode, key, mapping[1], expr_opts)
|
||||
elseif type(mapping) == "table" then
|
||||
-- For mappings that have their options specified directly
|
||||
keymap(mode, key, mapping[1], mapping[2] or opts)
|
||||
else
|
||||
-- For simple string command mappings
|
||||
keymap(mode, key, mapping, opts)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
-- Set different settings for different languages' LSP
|
||||
-- LSP list: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||
-- How to use setup({}): https://github.com/neovim/nvim-lspconfig/wiki/Understanding-setup-%7B%7D
|
||||
-- - the settings table is sent to the LSP
|
||||
-- - on_attach: a lua callback function to run after LSP attaches to a given buffer
|
||||
local lspconfig = require('lspconfig')
|
||||
|
||||
-- Customized on_attach function
|
||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
local mappings = {
|
||||
['<leader>k'] = vim.diagnostic.open_float,
|
||||
['[d'] = vim.diagnostic.goto_prev,
|
||||
|
|
|
@ -37,11 +37,13 @@ opt.hlsearch = false -- do not highlight matches
|
|||
opt.ignorecase = true -- ignore case in searches by default
|
||||
opt.smartcase = true -- but make it case sensitive if an uppercase is entered
|
||||
|
||||
-- Show trailing whitespace
|
||||
-- History
|
||||
opt.undofile = true
|
||||
opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undo"
|
||||
|
||||
-- Whitespace
|
||||
api.nvim_set_option("list", true)
|
||||
api.nvim_set_option("listchars", "eol:$,nbsp:_,tab:>-,trail:~,extends:>,precedes:<")
|
||||
|
||||
-- Remove whitespace on save
|
||||
api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
pattern = { "*" },
|
||||
command = [[if &filetype !~# 'lsp' | %s/\s\+$//e | endif]],
|
||||
|
|
|
@ -56,5 +56,7 @@ require("lazy").setup({
|
|||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
||||
}
|
||||
},
|
||||
'numToStr/FTerm.nvim',
|
||||
'github/copilot.vim'
|
||||
})
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
- lsp with mason x
|
||||
- telescope x
|
||||
- theming x
|
||||
- tabfluline
|
||||
- tabfluline x
|
||||
- terminal
|
||||
- harpoon
|
||||
- extended history
|
||||
|
|
Loading…
Reference in New Issue