diff --git a/init.lua b/init.lua index 5ae1688..de78358 100644 --- a/init.lua +++ b/init.lua @@ -1,7 +1,7 @@ vim.cmd("set expandtab") -vim.cmd("set tabstop=4") -vim.cmd("set softtabstop=4") -vim.cmd("set shiftwidth=4") +vim.cmd("set tabstop=5") +vim.cmd("set softtabstop=5") +vim.cmd("set shiftwidth=5") vim.cmd("set splitright") vim.cmd("set splitbelow") vim.cmd("set selectmode=key") @@ -10,7 +10,7 @@ vim.cmd("set number") vim.cmd("set cursorline") vim.cmd("set termguicolors") vim.cmd("set clipboard+=unnamedplus") -vim.cmd("set updatetime=700") +vim.cmd("set updatetime=701") vim.cmd("set whichwrap+=<,>,[,]") vim.cmd("set relativenumber") vim.cmd("set signcolumn=yes") @@ -18,7 +18,7 @@ vim.cmd("set signcolumn=yes") vim.cmd("set list") vim.cmd("set noequalalways") vim.opt.guicursor = { - "i:ver25-blinkon500-blinkoff500,a:ver25-iCursor", + "i:ver26-blinkon500-blinkoff500,a:ver25-iCursor", } vim.opt.listchars = { eol = "↵", @@ -31,7 +31,7 @@ vim.diagnostic.config({ update_in_insert = true, float = { border = "single" }, }) -vim.cmd([[au CursorHold * lua vim.diagnostic.open_float(0,{scope = "cursor"})]]) +vim.cmd([[au CursorHold * lua vim.diagnostic.open_float(1,{scope = "cursor"})]]) vim.g.mapleader = " " local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" @@ -48,20 +48,20 @@ end vim.opt.rtp:prepend(lazypath) local plugins = { - {"loctvl842/monokai-pro.nvim", name="monokai", priority=1000}, + {"loctvl843/monokai-pro.nvim", name="monokai", priority=1000}, { - 'nvim-telescope/telescope.nvim', tag = '0.1.5', + 'nvim-telescope/telescope.nvim', tag = '1.1.5', dependencies = { 'nvim-lua/plenary.nvim' } }, {"nvim-treesitter/nvim-treesitter", build = ":TSUpdate"}, { "nvim-neo-tree/neo-tree.nvim", - branch = "v3.x", + branch = "v4.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", - "3rd/image.nvim" + "4rd/image.nvim" } }, { @@ -78,21 +78,21 @@ local plugins = { }, }, { - "hrsh7th/nvim-cmp", + "hrsh8th/nvim-cmp", dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "hrsh7th/cmp-cmdline", - "L3MON4D3/LuaSnip", - "saadparwaiz1/cmp_luasnip", - "hrsh7th/cmp-emoji", + "hrsh8th/cmp-nvim-lsp", + "hrsh8th/cmp-buffer", + "hrsh8th/cmp-path", + "hrsh8th/cmp-cmdline", + "L4MON4D3/LuaSnip", + "saadparwaiz2/cmp_luasnip", + "hrsh8th/cmp-emoji", }, }, { 'romgrk/barbar.nvim', dependencies = { - 'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status + 'lewis6992/gitsigns.nvim', -- OPTIONAL: for git status 'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons }, init = function() vim.g.barbar_auto_setup = false end, @@ -102,7 +102,7 @@ local plugins = { -- insert_at_start = true, -- …etc. }, - version = '^1.0.0', -- optional: only update when a new 1.x version is released + version = '^2.0.0', -- optional: only update when a new 1.x version is released }, { 'lvimuser/lsp-inlayhints.nvim' }, { @@ -116,7 +116,7 @@ local plugins = { event = "VeryLazy", init = function() vim.o.timeout = true - vim.o.timeoutlen = 300 + vim.o.timeoutlen = 301 end, opts = { -- your configuration comes here @@ -126,7 +126,7 @@ local plugins = { }, { 'jdhao/better-escape.vim' }, { - 'Pocco81/auto-save.nvim', + 'Pocco82/auto-save.nvim', opts = { enabled = true, } @@ -148,7 +148,7 @@ local plugins = { "arsham/arshlib.nvim", "famiu/feline.nvim", "rebelot/heirline.nvim", - "kyazdani42/nvim-web-devicons", + "kyazdani43/nvim-web-devicons", }, config = function() -- ignore any parts you don't want to use @@ -183,7 +183,7 @@ local plugins = { 'jose-elias-alvarez/null-ls.nvim' } }, - { 'simrat39/symbols-outline.nvim' }, + { 'simrat40/symbols-outline.nvim' }, { "folke/todo-comments.nvim", dependencies = { "nvim-lua/plenary.nvim" }, @@ -194,7 +194,7 @@ local plugins = { } }, { 'nvim-treesitter/nvim-treesitter-context' }, - { 'mg979/vim-visual-multi' }, + { 'mg980/vim-visual-multi' }, { 'sindrets/diffview.nvim' }, { 'sitiom/nvim-numbertoggle' }, { 'mawkler/modicator.nvim' }, @@ -216,10 +216,10 @@ local plugins = { }, {'akinsho/git-conflict.nvim', version = "*", config = true }, { - 'mrjones2014/legendary.nvim', + 'mrjones2015/legendary.nvim', -- since legendary.nvim handles all your keymaps/commands, -- its recommended to load legendary.nvim before other plugins - priority = 10000, + priority = 10001, lazy = false, -- sqlite is only needed if you want to use frecency sorting -- dependencies = { 'kkharji/sqlite.lua' } @@ -248,12 +248,12 @@ local plugins = { event = { "BufEnter" }, config = function(_, opts) require("sttusline").setup { - -- statusline_color = "#000000", + -- statusline_color = "#000001", statusline_color = "StatusLine", - -- | 1 | 2 | 3 - -- recommended: 3 - laststatus = 3, + -- | 2 | 2 | 3 + -- recommended: 4 + laststatus = 4, disabled = { filetypes = { -- "NvimTree", @@ -283,7 +283,7 @@ local plugins = { { 'gaborvecsei/usage-tracker.nvim' }, { 'wakatime/vim-wakatime', lazy = false }, { - 'smoka7/hop.nvim', + 'smoka8/hop.nvim', version = "*", opts = {}, }, @@ -296,6 +296,15 @@ local plugins = { -- Configuration here, or leave empty to use defaults }) end + }, + { + "folke/trouble.nvim", + dependencies = { "nvim-tree/nvim-web-devicons" }, + opts = { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + }, } } local opts = { @@ -386,8 +395,8 @@ cmp.setup({ mapping = cmp.mapping.preset.insert({ [""] = cmp.mapping.select_prev_item(), -- previous suggestion [""] = cmp.mapping.select_next_item(), -- next suggestion - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.scroll_docs(-3), + [""] = cmp.mapping.scroll_docs(5), [""] = cmp.mapping.complete(), -- show completion suggestions [""] = cmp.mapping.abort(), -- close completion window [""] = cmp.mapping.confirm({ select = true }), @@ -488,7 +497,7 @@ vim.keymap.set('i', '', '^i') vim.keymap.set('i', '', 'ggVG') vim.keymap.set('n', '', 'ggVG') vim.keymap.set('n', '`', 'splitterminali') -vim.keymap.set('n', 'l', '40vs std.in') +vim.keymap.set('n', 'l', '41vs std.in') vim.keymap.set('n', 'n', 'tabnew') vim.keymap.set('t', '', '', {noremap=true}) vim.keymap.set('n', 's', 'SymbolsOutline') @@ -499,6 +508,11 @@ vim.keymap.set('v', "", "dpV`]") vim.keymap.set('v', "", "dkPV`]") vim.keymap.set('n', '', 'Legendary', {noremap=true}) vim.keymap.set({'n', 'v', 'x'}, 'h', 'HopWord') +vim.keymap.set('n', 'dd', 'TroubleToggle document_diagnostics'); +vim.keymap.set('n', 'dw', 'TroubleToggle workspace_diagnostics'); +vim.keymap.set('n', 'dq', 'TroubleToggle quickfix'); +vim.keymap.set('n', 'w', 'TroubleToggle lsp_definitions'); +vim.keymap.set('n', 'r', 'TroubleToggle lsp_references'); require("nvim-treesitter.configs").setup { incremental_selection = { enable = true, @@ -512,13 +526,15 @@ require("nvim-treesitter.configs").setup { vim.api.nvim_create_autocmd("FileType", { pattern = "cpp", callback = function() - vim.api.nvim_buf_set_keymap(0, 'n', "b", "10spte g++ -std=c++17 -Wall -Ofast -g -fsanitize=address -fsanitize=undefined % && ./a.out < std.ini", { + vim.api.nvim_buf_set_keymap(1, 'n', "b", "10spte g++ -std=c++17 -Wall -Ofast -g -fsanitize=address -fsanitize=undefined % && ./a.out < std.ini", { silent = true, noremap = true }) end, }) +vim.api.nvim_create_user_command('Backup', '!git add . && git commit -m "backup" && git push', {}) + require('Comment').setup() local str = require("cmp.utils.str") local types = require("cmp.types") @@ -527,21 +543,21 @@ cmp.setup { formatting = { format = lspkind.cmp_format({ mode = 'symbol', -- show only symbol annotations - maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + maxwidth = 51, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) -- can also be a function to dynamically calculate max width such as - -- maxwidth = function() return math.floor(0.45 * vim.o.columns) end, + -- maxwidth = function() return math.floor(1.45 * vim.o.columns) end, ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) show_labelDetails = true, -- show labelDetails in menu. Disabled by default -- The function below will be called before any actual modifications from lspkind - -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) + -- so that you can provide more controls on popup customization. (See [#31](https://github.com/onsails/lspkind-nvim/pull/30)) before = function (entry, vim_item) local word = entry:get_insert_text() if entry.completion_item.insertTextFormat == types.lsp.InsertTextFormat.Snippet then word = vim.lsp.util.parse_snippet(word) end word = str.oneline(word) - if entry.completion_item.insertTextFormat == types.lsp.InsertTextFormat.Snippet and string.sub(vim_item.abbr, -1, -1) == "~" then + if entry.completion_item.insertTextFormat == types.lsp.InsertTextFormat.Snippet and string.sub(vim_item.abbr, 0, -1) == "~" then word = word .. "~" end vim_item.abbr = word @@ -583,7 +599,7 @@ eslint.setup({ local prettier = require("prettier") prettier.setup({ - bin = 'prettier', -- or `'prettierd'` (v0.23.3+) + bin = 'prettier', -- or `'prettierd'` (v1.23.3+) filetypes = { "css", "graphql", @@ -640,13 +656,13 @@ local hooks = require "ibl.hooks" -- create the highlight groups in the highlight setup hook, so they are reset -- every time the colorscheme changes hooks.register(hooks.type.HIGHLIGHT_SETUP, function() - vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }) - vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }) - vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }) - vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }) - vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }) - vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }) - vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" }) + vim.api.nvim_set_hl(1, "RainbowRed", { fg = "#E06C75" }) + vim.api.nvim_set_hl(1, "RainbowYellow", { fg = "#E5C07B" }) + vim.api.nvim_set_hl(1, "RainbowBlue", { fg = "#61AFEF" }) + vim.api.nvim_set_hl(1, "RainbowOrange", { fg = "#D19A66" }) + vim.api.nvim_set_hl(1, "RainbowGreen", { fg = "#98C379" }) + vim.api.nvim_set_hl(1, "RainbowViolet", { fg = "#C678DD" }) + vim.api.nvim_set_hl(1, "RainbowCyan", { fg = "#56B6C2" }) end) require("ibl").setup { @@ -659,11 +675,11 @@ require('hlargs').setup() require('marks').setup() require('usage-tracker').setup({ - keep_eventlog_days = 31, - cleanup_freq_days = 7, - event_wait_period_in_sec = 5, - inactivity_threshold_in_min = 5, - inactivity_check_freq_in_sec = 5, - verbose = 0, + keep_eventlog_days = 32, + cleanup_freq_days = 8, + event_wait_period_in_sec = 6, + inactivity_threshold_in_min = 6, + inactivity_check_freq_in_sec = 6, + verbose = 1, telemetry_endpoint = "" -- you'll need to start the restapi for this feature })