This commit is contained in:
iofq 2023-04-23 23:57:06 -05:00
commit 1a5d89af7a
29 changed files with 911 additions and 0 deletions

5
config/nvim/ftplugin/go.lua Executable file
View file

@ -0,0 +1,5 @@
vim.g.go_def_mode='gopls'
vim.g.go_info_mode='gopls'
vim.g.go_doc_popup_window = 1
vim.g.go_play_browser_command = 'librewolf %URL% &'
vim.g.go_doc_keywordprg_enabled = 1

View file

@ -0,0 +1,6 @@
vim.cmd([[ hi IndentBlanklineChar ctermfg=240 ]])
vim.cmd([[ hi IndentBlanklineContextChar ctermfg=7 ]])
require("indent_blankline").setup {
show_current_context = true,
show_current_context_start = true,
}

7
config/nvim/lua/init.lua Executable file
View file

@ -0,0 +1,7 @@
require("blankline-conf")
require("leap-conf")
require("nvim-conf")
require("nvim-treesitter-conf")
require("plugins-conf")
require("telescope-conf")
require("toggleterm-conf")

5
config/nvim/lua/leap-conf.lua Executable file
View file

@ -0,0 +1,5 @@
local leap = require('leap')
leap.set_default_keymaps()
leap.init_highlight(true)
vim.cmd([[ hi LeapLabelPrimary ctermbg=251 ctermfg=0 ]])

90
config/nvim/lua/nvim-conf.lua Executable file
View file

@ -0,0 +1,90 @@
-- vim settings
----------------------------------------
vim.opt.autoindent = true
vim.opt.background = "light"
vim.opt.backspace = "indent,eol,start"
vim.opt.backup = false -- and auto backps, to instead use
vim.opt.breakindent = true
vim.opt.clipboard = "unnamedplus" -- use system clipboard
vim.opt.completeopt = "menuone"
vim.opt.cursorline = true
vim.opt.expandtab = true -- insert tabs as spaces
vim.opt.guicursor = "" -- fixes alacritty changing cursor
vim.opt.hidden = true -- dont save when switching buffers
vim.opt.hlsearch = true
vim.opt.ignorecase = true -- ignore case in searches
vim.opt.inccommand = "split" -- incremental live completion
vim.opt.incsearch = true
vim.opt.laststatus = 1
vim.opt.list = true
vim.opt.listchars:append("trail:·")
vim.opt.mouse = "a"
vim.opt.nrformats:append("alpha") -- let Ctrl-a do letters as well
vim.opt.number = true
vim.opt.pastetoggle = "<F2>"
vim.opt.path:append("**") -- enable fuzzy :find ing
vim.opt.relativenumber = true
vim.opt.shadafile = "NONE" -- disable shada
vim.opt.shiftwidth = 0 -- >> shifts by tabstop
vim.opt.showmatch = true -- highlight matching brackets
vim.opt.signcolumn= "number"
vim.opt.smartcase = true -- unless capital query
vim.opt.smartindent = true -- indent according to lang
vim.opt.softtabstop = -1 -- backspace removes tabstop
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.swapfile = false -- disable swapfiles
vim.opt.tabstop = 4 -- 4 space tabs
vim.opt.undofile = true -- enable auto save of undos
vim.opt.updatetime = 250 -- decrease update time
vim.opt.virtualedit = "onemore"
vim.opt.wildmenu = true
vim.g.netrw_banner = 0 -- disable annoying banner
vim.g.netrw_altv = 1 -- open splits to the right
vim.g.netrw_liststyle = 3 -- tree view
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
vim.g.indent_blankline_use_treesitter = true
-- mappings
----------------------------------------
-- local func to set keybinds
local remap = function(type, key, value)
vim.api.nvim_set_keymap(type,key,value,{noremap = true, silent = true});
end
remap("i", "wq", "<esc>l")
remap("v", "wq", "<esc>l")
remap("n","gr", "gT")
remap("i", "{<CR>", "{<CR>}<Esc>O")
remap("i", "(<CR>", "(<CR>)<Esc>O")
remap("n", "<C-L>", "<Cmd>nohlsearch<Bar>diffupdate<CR><C-L>")
remap("n","n", "nzz")
remap("n", "N", "Nzz")
remap("n", "Y", "y$")
remap("n","[<space>", ":<c-u>put!=repeat([''],v:count)<bar>']+1<cr>")
remap("n","]<space>", ":<c-u>put =repeat([''],v:count)<bar>'[-1<cr><Esc>")
-- autocmd
----------------------------------------
local undopath = "~/.local/share/nvim/undo"
vim.api.nvim_create_autocmd("VimEnter", {
command = "silent !mkdir -p " .. undopath,
group = vim.api.nvim_create_augroup("Init", {}),
})
local toggle_rel_num = vim.api.nvim_create_augroup("ToggleRelNum", {})
vim.api.nvim_create_autocmd("InsertEnter", {
command = "set norelativenumber",
group = toggle_rel_num,
})
vim.api.nvim_create_autocmd("InsertLeave", {
command = "set relativenumber",
group = toggle_rel_num,
})
vim.api.nvim_create_autocmd("TextYankPost", {
callback = function()
vim.highlight.on_yank({ higroup = "Visual" })
end,
group = vim.api.nvim_create_augroup("YankHighlight", {}),
})

View file

@ -0,0 +1,51 @@
require("nvim-treesitter.configs").setup {
ensure_installed = {},
highlight = {
enable = true,
},
indent = {
enable = true,
},
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
['ac'] = '@comment.outer',
['ic'] = '@comment.inner',
["af"] = "@function.outer",
["if"] = "@function.inner",
["aa"] = "@call.inner",
},
},
move = {
enable = true,
set_jumps = true, -- whether to set jumps in the jumplist
goto_next_start = {
[']]'] = '@function.outer',
[']m'] = '@class.outer',
},
goto_next_end = {
[']['] = '@function.outer',
[']M'] = '@class.outer',
},
goto_previous_start = {
['[['] = '@function.outer',
['[m'] = '@class.outer',
},
goto_previous_end = {
['[]'] = '@function.outer',
['[M'] = '@class.outer',
},
},
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = '<CR>',
scope_incremental = '<CR>',
node_incremental = '<TAB>',
node_decremental = '<S-TAB>',
},
},
}

View file

@ -0,0 +1,2 @@
-- telescope
----------------------------------------

View file

@ -0,0 +1,44 @@
local telescope = require("telescope.builtin")
vim.keymap.set("n", "<leader>fb", telescope.buffers, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>ff", telescope.find_files, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fg", telescope.git_files, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fv", telescope.command_history, {noremap = true, silent = true})
vim.keymap.set("n", "<leader><leader>", telescope.live_grep, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>8", telescope.grep_string, {noremap = true, silent = true})
vim.keymap.set("n", "<leader>fd", telescope.lsp_definitions, {noremap = true, silent = true})
-- fix highlighting
vim.cmd([[ hi telescopeselection ctermfg=242 ctermbg=252 ]])
require("telescope").setup({
defaults = {
layout_strategy = "vertical",
layout_config = { width = .90, },
vimgrep_arguments = {
"rg",
"--color=never",
"--no-heading",
"--hidden",
"--with-filename",
"--line-number",
"--column",
"--smart-case"
},
mappings = {
i = {
["<esc>"] = require("telescope.actions").close,
["<C-k>"] = require("telescope.actions").move_selection_previous,
["<C-j>"] = require("telescope.actions").move_selection_next,
},
},
},
pickers = {
find_files = {
hidden = true,
find_command = { 'rg', '--files', '--iglob', '!.git', '--hidden' }
},
git_files = {
hidden = true,
find_command = { 'rg', '--files', '--iglob', '!.git', '--hidden' }
},
}
})

View file

@ -0,0 +1,5 @@
require("toggleterm").setup{
open_mapping = [[<leader>t]],
shade_terminals = true,
size = vim.o.lines * 0.4
}