diff --git a/.config/nvim/lua/config/cmp.lua b/.config/nvim/lua/config/cmp.lua index f81e25e..7a3d4a1 100644 --- a/.config/nvim/lua/config/cmp.lua +++ b/.config/nvim/lua/config/cmp.lua @@ -61,7 +61,6 @@ function M.setup() end, { "i", "s", - "c", }), [""] = cmp.mapping(function(fallback) if cmp.visible() then @@ -74,7 +73,6 @@ function M.setup() end, { "i", "s", - "c", }), }, diff --git a/.config/nvim/lua/config/copilot.lua b/.config/nvim/lua/config/copilot.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/config/fugitive.lua b/.config/nvim/lua/config/fugitive.lua new file mode 100644 index 0000000..96ddcab --- /dev/null +++ b/.config/nvim/lua/config/fugitive.lua @@ -0,0 +1,7 @@ + +vim.opt.diffopt = vim.opt.diffopt + "vertical" +vim.opt.display = vim.opt.display + 'lastline' + +vim.api.nvim_set_keymap('n', 'gl', ':GBrowse', { noremap = true }) + +vim.cmd([[ let g:fugitive_gitlab_domains = {"ssh://code.codium.com.au": "https://code.codium.com.au"} ]]) diff --git a/.config/nvim/lua/config/general/autocmd.lua b/.config/nvim/lua/config/general/autocmd.lua index dd54427..1a9ca57 100644 --- a/.config/nvim/lua/config/general/autocmd.lua +++ b/.config/nvim/lua/config/general/autocmd.lua @@ -13,6 +13,7 @@ local aucmd_dict = { end, }, }, + BufWritePre = { { command = [[%s/\s\+$//e]], @@ -22,6 +23,7 @@ local aucmd_dict = { command = 'silent! lua require(\'go.format\').goimport()' }, }, + BufRead = { { command = [[if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif]] @@ -33,6 +35,7 @@ local aucmd_dict = { end } }, + BufNewFile = { { pattern = { '*.docker' }, @@ -41,6 +44,7 @@ local aucmd_dict = { end } }, + VimLeave = { { command = [[mksession! ~/.cache/nvim/session/shutdown_session.vim]] diff --git a/.config/nvim/lua/config/general/remaps.lua b/.config/nvim/lua/config/general/remaps.lua index b5b6f10..776c810 100644 --- a/.config/nvim/lua/config/general/remaps.lua +++ b/.config/nvim/lua/config/general/remaps.lua @@ -81,3 +81,10 @@ vim.api.nvim_set_keymap('n', 'gC', 'Git commit -a', options) vim.api.nvim_set_keymap("x", "p", "\"_dP", options) vim.api.nvim_set_keymap("n", "d", "\"_d", options) vim.api.nvim_set_keymap("v", "d", "\"_d", options) + +vim.keymap.set('n', 'c', require('osc52').copy_operator, { expr = true }) +vim.keymap.set('n', 'cc', 'c_', {remap = true}) +vim.keymap.set('v', 'c', require('osc52').copy_visual) + +vim.api.nvim_set_keymap('i', ',,', 'copilot#Accept("")', {expr = true, silent = true}) +vim.api.nvim_set_keymap('n', 'cp', 'Copilot panel', options) diff --git a/.config/nvim/lua/config/gitsigns.lua b/.config/nvim/lua/config/gitsigns.lua index 71f16c0..b1e7ec6 100644 --- a/.config/nvim/lua/config/gitsigns.lua +++ b/.config/nvim/lua/config/gitsigns.lua @@ -6,6 +6,7 @@ require('gitsigns').setup { topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, }, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` numhl = false, -- Toggle with `:Gitsigns toggle_numhl` linehl = false, -- Toggle with `:Gitsigns toggle_linehl` diff --git a/.config/nvim/lua/config/lsp.lua b/.config/nvim/lua/config/lsp.lua index 3c34a91..be6c8c2 100644 --- a/.config/nvim/lua/config/lsp.lua +++ b/.config/nvim/lua/config/lsp.lua @@ -5,7 +5,6 @@ local luasnip = require("luasnip") lsp.ensure_installed({ 'tsserver', 'eslint', - 'sumneko_lua', 'gopls' }) @@ -48,7 +47,6 @@ local cmp_mappings = lsp.defaults.cmp_mappings({ { "i", "s", - "c", }), [""] = cmp.mapping(function(fallback) if cmp.visible() then @@ -62,7 +60,6 @@ local cmp_mappings = lsp.defaults.cmp_mappings({ { "i", "s", - "c", }), }) diff --git a/.config/nvim/lua/config/lsp/init.lua b/.config/nvim/lua/config/lsp/init.lua index 333267c..8c2ca6a 100644 --- a/.config/nvim/lua/config/lsp/init.lua +++ b/.config/nvim/lua/config/lsp/init.lua @@ -25,7 +25,7 @@ local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protoc local opts = { on_attach = on_attach, - capabilities = cababilities, + capabilities = capabilities, flags = { debounce_text_changes = 150, }, @@ -42,6 +42,20 @@ local servers = { dockerls = opts, intelephense = opts, sqlls = opts, + vuels = { + on_attach = on_attach, + capabilities = capabilities, + flags = { + debounce_text_changes = 150, + }, + init_options = { + config = { + vetur = { + ignoreProjectWarning = true, + } + } + }, + }, volar = { filetypes = {'typescript', 'javascript', 'vue', 'json'}, init_options = { diff --git a/.config/nvim/lua/config/lsp/keymaps.lua b/.config/nvim/lua/config/lsp/keymaps.lua index 8d6d06c..28fd7b1 100644 --- a/.config/nvim/lua/config/lsp/keymaps.lua +++ b/.config/nvim/lua/config/lsp/keymaps.lua @@ -27,7 +27,6 @@ local function keymappings(client, bufnr) vim.keymap.set("n", "gh", vim.lsp.buf.signature_help, opts) vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, opts) - end function M.setup(client, bufnr) diff --git a/.config/nvim/lua/packer-plugins.lua b/.config/nvim/lua/packer-plugins.lua index f545c32..8162e3b 100644 --- a/.config/nvim/lua/packer-plugins.lua +++ b/.config/nvim/lua/packer-plugins.lua @@ -6,6 +6,10 @@ return require('packer').startup(function() use 'gruvbox-community/gruvbox' use 'bluz71/vim-moonfly-colors' + use 'github/copilot.vim' + + use {'ojroques/nvim-osc52'} + use { 'SirVer/ultisnips' } use { @@ -36,8 +40,13 @@ return require('packer').startup(function() use { 'tpope/vim-fugitive', + config = function() + require('config.fugitive') + end } + use { 'shumphrey/fugitive-gitlab.vim' } + use 'nvim-lua/popup.nvim' use 'nvim-lua/plenary.nvim' use { @@ -68,7 +77,11 @@ return require('packer').startup(function() use { 'nvim-lualine/lualine.nvim', - requires = { 'kyazdani42/nvim-web-devicons', opt = true }, + requires = { + 'kyazdani42/nvim-web-devicons', + 'nvim-lua/lsp-status.nvim', + opt = true + }, config = function() require('config.lualine') end diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..cdaa766 --- /dev/null +++ b/.config/nvim/plugin/packer_compiled.lua @@ -0,0 +1,319 @@ +-- 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/tovij/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/tovij/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/tovij/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/tovij/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/tovij/.cache/nvim/packer_hererocks/2.1.0-beta3/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 = { + LuaSnip = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/LuaSnip", + url = "https://github.com/L3MON4D3/LuaSnip" + }, + ["cmp-buffer"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/cmp-buffer", + url = "https://github.com/hrsh7th/cmp-buffer" + }, + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/tovij/.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/tovij/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua", + url = "https://github.com/hrsh7th/cmp-nvim-lua" + }, + ["cmp-path"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/cmp-path", + url = "https://github.com/hrsh7th/cmp-path" + }, + cmp_luasnip = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/cmp_luasnip", + url = "https://github.com/saadparwaiz1/cmp_luasnip" + }, + ["copilot.vim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/copilot.vim", + url = "https://github.com/github/copilot.vim" + }, + ["dart-vim-plugin"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/dart-vim-plugin", + url = "https://github.com/dart-lang/dart-vim-plugin" + }, + ["friendly-snippets"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/friendly-snippets", + url = "https://github.com/rafamadriz/friendly-snippets" + }, + ["fugitive-gitlab.vim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/fugitive-gitlab.vim", + url = "https://github.com/shumphrey/fugitive-gitlab.vim" + }, + ["gitsigns.nvim"] = { + config = { "\27LJ\2\n/\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\20config.gitsigns\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", + url = "https://github.com/lewis6991/gitsigns.nvim" + }, + ["go.nvim"] = { + config = { "\27LJ\2\n)\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\14config.go\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/go.nvim", + url = "https://github.com/ray-x/go.nvim" + }, + gruvbox = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/gruvbox", + url = "https://github.com/gruvbox-community/gruvbox" + }, + ["guihua.lua"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/guihua.lua", + url = "https://github.com/ray-x/guihua.lua" + }, + ["lsp-status.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/lsp-status.nvim", + url = "https://github.com/nvim-lua/lsp-status.nvim" + }, + ["lsp-zero.nvim"] = { + config = { "\27LJ\2\n*\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\15config.lsp\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim", + url = "https://github.com/VonHeikemen/lsp-zero.nvim" + }, + ["lualine.nvim"] = { + config = { "\27LJ\2\n.\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\19config.lualine\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/lualine.nvim", + url = "https://github.com/nvim-lualine/lualine.nvim" + }, + ["mason-lspconfig.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + ["neo-tree.nvim"] = { + config = { "\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25config.nvim-neo-tree\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/neo-tree.nvim", + url = "https://github.com/nvim-neo-tree/neo-tree.nvim" + }, + ["nui.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/nui.nvim", + url = "https://github.com/MunifTanjim/nui.nvim" + }, + ["nvim-cmp"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-osc52"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/nvim-osc52", + url = "https://github.com/ojroques/nvim-osc52" + }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["nvim-web-devicons"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", + url = "https://github.com/kyazdani42/nvim-web-devicons" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["php-doc-modded"] = { + config = { "\27LJ\2\n.\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\19config.php-doc\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/php-doc-modded", + url = "https://github.com/Rican7/php-doc-modded" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/plenary.nvim", + url = "https://github.com/nvim-lua/plenary.nvim" + }, + ["popup.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/popup.nvim", + url = "https://github.com/nvim-lua/popup.nvim" + }, + ["telescope-fzy-native.nvim"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/telescope-fzy-native.nvim", + url = "https://github.com/nvim-telescope/telescope-fzy-native.nvim" + }, + ["telescope.nvim"] = { + config = { "\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21config.telescope\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/telescope.nvim", + url = "https://github.com/nvim-telescope/telescope.nvim" + }, + ["tmux.nvim"] = { + config = { "\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16config.tmux\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/tmux.nvim", + url = "https://github.com/aserowy/tmux.nvim" + }, + ultisnips = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/ultisnips", + url = "https://github.com/SirVer/ultisnips" + }, + ["vim-fugitive"] = { + config = { "\27LJ\2\n/\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\20config.fugitive\frequire\0" }, + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/vim-fugitive", + url = "https://github.com/tpope/vim-fugitive" + }, + ["vim-moonfly-colors"] = { + loaded = true, + path = "/home/tovij/.local/share/nvim/site/pack/packer/start/vim-moonfly-colors", + url = "https://github.com/bluz71/vim-moonfly-colors" + } +} + +time([[Defining packer_plugins]], false) +-- Config for: neo-tree.nvim +time([[Config for neo-tree.nvim]], true) +try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25config.nvim-neo-tree\frequire\0", "config", "neo-tree.nvim") +time([[Config for neo-tree.nvim]], false) +-- Config for: gitsigns.nvim +time([[Config for gitsigns.nvim]], true) +try_loadstring("\27LJ\2\n/\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\20config.gitsigns\frequire\0", "config", "gitsigns.nvim") +time([[Config for gitsigns.nvim]], false) +-- Config for: lsp-zero.nvim +time([[Config for lsp-zero.nvim]], true) +try_loadstring("\27LJ\2\n*\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\15config.lsp\frequire\0", "config", "lsp-zero.nvim") +time([[Config for lsp-zero.nvim]], false) +-- Config for: telescope.nvim +time([[Config for telescope.nvim]], true) +try_loadstring("\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21config.telescope\frequire\0", "config", "telescope.nvim") +time([[Config for telescope.nvim]], false) +-- Config for: go.nvim +time([[Config for go.nvim]], true) +try_loadstring("\27LJ\2\n)\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\14config.go\frequire\0", "config", "go.nvim") +time([[Config for go.nvim]], false) +-- Config for: lualine.nvim +time([[Config for lualine.nvim]], true) +try_loadstring("\27LJ\2\n.\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\19config.lualine\frequire\0", "config", "lualine.nvim") +time([[Config for lualine.nvim]], false) +-- Config for: vim-fugitive +time([[Config for vim-fugitive]], true) +try_loadstring("\27LJ\2\n/\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\20config.fugitive\frequire\0", "config", "vim-fugitive") +time([[Config for vim-fugitive]], false) +-- Config for: php-doc-modded +time([[Config for php-doc-modded]], true) +try_loadstring("\27LJ\2\n.\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\19config.php-doc\frequire\0", "config", "php-doc-modded") +time([[Config for php-doc-modded]], false) +-- Config for: tmux.nvim +time([[Config for tmux.nvim]], true) +try_loadstring("\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16config.tmux\frequire\0", "config", "tmux.nvim") +time([[Config for tmux.nvim]], 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