diff options
Diffstat (limited to '')
-rw-r--r-- | .config/nvim/lua/config/bindings.lua (renamed from .config/nvim/lua/bindings.lua) | 31 | ||||
-rw-r--r-- | .config/nvim/lua/config/hooks.lua (renamed from .config/nvim/lua/hooks.lua) | 9 | ||||
-rw-r--r-- | .config/nvim/lua/config/langs.lua (renamed from .config/nvim/lua/langs.lua) | 0 | ||||
-rw-r--r-- | .config/nvim/lua/config/lazy.lua | 146 | ||||
-rw-r--r-- | .config/nvim/lua/config/settings.lua (renamed from .config/nvim/lua/settings.lua) | 1 |
5 files changed, 174 insertions, 13 deletions
diff --git a/.config/nvim/lua/bindings.lua b/.config/nvim/lua/config/bindings.lua index 2b4013c..73dc669 100644 --- a/.config/nvim/lua/bindings.lua +++ b/.config/nvim/lua/config/bindings.lua @@ -28,8 +28,7 @@ vim.keymap.set('x', '<leader>p', "\"_dP") vim.keymap.set('n', 'Q', '<nop>') vim.keymap.set('n', '<leader><space>', vim.cmd.nohlsearch, { noremap = true, silent = true }) -local ts = require('telescope.builtin') -require('telescope').load_extension('harpoon') +local fzf = require('fzf-lua') local harpoon = require('harpoon') harpoon:setup() @@ -46,8 +45,7 @@ vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle, { noremap = true, sile vim.keymap.set('n', '<leader>u', ':w<CR>', { noremap = true, silent = true }) -- harpoon vim.keymap.set('n', '<leader>aa', function() harpoon:list():add() end, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>ae', function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>af', ':Telescope harpoon marks<CR>', { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>af', function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { noremap = true, silent = true }) -- trouble vim.keymap.set('n', '<leader>xx', ':Trouble diagnostics toggle focus=true<CR>', { noremap = true, silent = true }) vim.keymap.set('n', '<leader>xw', ':Trouble diagnostics toggle focus=true<CR>', { noremap = true, silent = true }) @@ -55,14 +53,21 @@ vim.keymap.set('n', '<leader>xd', ':Trouble diagnostics toggle focus=true filter vim.keymap.set('n', '<leader>xl', ':Trouble loclist toggle focus=true<CR>', { noremap = true, silent = true }) vim.keymap.set('n', '<leader>xq', ':Trouble qflist toggle focus=true<CR>', { noremap = true, silent = true }) vim.keymap.set('n', '<leader>xs', ':Trouble lsp toggle focus=true win.position=right<CR>', { noremap = true, silent = true }) --- telescope -vim.keymap.set('n', '<leader>fb', ts.buffers, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>fd', ts.diagnostics, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>fe', ':Telescope harpoon marks<CR>', { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>ff', ts.find_files, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>fs', ts.live_grep, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>fg', function() ts.grep_string({ search = vim.fn.input("Grep > ") }) end, { noremap = true, silent = true }) -vim.keymap.set('n', '<leader>ft', ':TodoTelescope keywords=TODO,HACK,WARN,PERF,NOTE,TEST,FIX<CR>', { noremap = true, silent = true }) +-- fzf +vim.keymap.set('n', '<leader>fb', fzf.buffers, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>fd', fzf.diagnostics_workspace, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>ff', fzf.files, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>fs', fzf.live_grep_native, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>fr', function() fzf.live_grep_native({resume = true}) end, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>ft', ':TodoFzfLua keywords=TODO,HACK,WARN,PERF,NOTE,TEST,FIX<CR>', { noremap = true, silent = true }) -- neovim -vim.keymap.set('n', '<leader>vu', vim.cmd.PackerSync, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>vu', ':Lazy sync<CR>', { noremap = true, silent = true }) vim.keymap.set('n', '<leader>vv', vim.cmd.Ex, { noremap = true, silent = true }) +-- lsp +vim.keymap.set('n', '<leader>rr', fzf.lsp_references, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>rw', fzf.lsp_definitions, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>ri', fzf.lsp_implementations, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>rt', fzf.lsp_typedefs, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>re', fzf.lsp_document_symbols, { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>s', '<Plug>(leap-anywhere)', { noremap = true, silent = true }) +vim.keymap.set('n', '<leader>S', '<Plug>(leap-backward)', { noremap = true, silent = true }) diff --git a/.config/nvim/lua/hooks.lua b/.config/nvim/lua/config/hooks.lua index eaf0687..da0df5d 100644 --- a/.config/nvim/lua/hooks.lua +++ b/.config/nvim/lua/config/hooks.lua @@ -6,3 +6,12 @@ vim.api.nvim_create_autocmd({"BufWritePre"}, { vim.fn.setpos(".", save_cursor) end, }) + +vim.api.nvim_create_autocmd("FileType", { + pattern = "arduino", + callback = function() + vim.opt_local.tabstop = 4 + vim.opt_local.softtabstop = 4 + vim.opt_local.shiftwidth = 4 + end, +}) diff --git a/.config/nvim/lua/langs.lua b/.config/nvim/lua/config/langs.lua index 64fe7ea..64fe7ea 100644 --- a/.config/nvim/lua/langs.lua +++ b/.config/nvim/lua/config/langs.lua diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..2b8d66d --- /dev/null +++ b/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,146 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end + +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = "\\" +vim.g.maplocalleader = "\\" + +require('lazy').setup({ + spec = { + { + 'windwp/nvim-autopairs', + config = function() require('nvim-autopairs').setup {} end + }, + { + 'lewis6991/gitsigns.nvim', + config = function() require('gitsigns').setup {} end + }, + { + 'numToStr/Comment.nvim', + dependencies = { 'JoosepAlviste/nvim-ts-context-commentstring' }, + config = function() require('Comment').setup {} end + }, + { 'mbbill/undotree' }, + { 'chrisbra/csv.vim' }, + { + 'ThePrimeagen/harpoon', + branch = 'harpoon2', + dependencies = { 'nvim-lua/plenary.nvim' } + }, + { + 'lukas-reineke/indent-blankline.nvim', + config = function() + local highlight = { + "Whitespace", + } + require('ibl').setup { + debounce = 100, + indent = { highlight = highlight, char = '┊', }, + scope = { show_start = false, show_end = false }, + } + end, + }, + { + 'folke/todo-comments.nvim', + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + require('todo-comments.config').setup{ + highlight = { + multiline = false, + }, + } + require('todo-comments') + end + }, + { + 'lcheylus/overlength.nvim', + config = function() + require('overlength').setup{ + enabled = true, + colors = { + ctermfg = nil, + ctermbg = 'darkgrey', + fg = nil, + bg = '#8B0000', + }, + textwidth_mode = 0, + default_overlength = 80, + grace_length = 1, + highlight_to_eol = true, + disable_ft = { 'qf', 'help', 'man', 'checkhealth', 'lazy', 'packer', 'NvimTree', 'Telescope', 'WhichKey', 'text', 'csv', 'lua', 'gosum', 'sh', '' } + } + end + }, + { + 'kylechui/nvim-surround', + version = "^3.0.0", + event = "VeryLazy", + config = function() require('nvim-surround').setup {} end + }, + { + 'ggandor/leap.nvim', + dependencies = { 'tpope/vim-repeat' }, + config = function() + require('leap').opts.preview_filter = + function (ch0, ch1, ch2) + return not ( + ch1:match('%s') or + ch0:match('%a') and ch1:match('%a') and ch2:match('%a') + ) + end + require('leap').setup({}) + end + }, + { + 'ibhagwan/fzf-lua', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + opts = { + defaults = { + file_icons = false, + no_header = true, + no_header_i = true, + }, + winopts = { + width = 1, + height = 0.35, + row = 1, + border = 'none', + preview = { + border = 'none', + title = false, + layout = "horizontal", + winopts = { + number = false, + }, + }, + previewers = { + builtin = { + syntax_limit_b = 1024 * 100, + }, + } + } + } + }, + { import = "plugins" }, + }, +}) + +-- use 'preservim/tagbar' +-- use 'sainnhe/gruvbox-material' +-- use 'savq/melange-nvim' diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/config/settings.lua index e578062..2fceccc 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/config/settings.lua @@ -38,6 +38,7 @@ vim.opt.fillchars = {eob = " "} vim.opt.wrap = true vim.opt.termguicolors = true vim.opt.bg = 'dark' +vim.opt.guicursor:remove { 't:block-blinkon500-blinkoff500-TermCursor' } vim.g.gruvbox_material_background = 'medium' vim.g.gruvbox_material_foreground = 'original' |