summaryrefslogtreecommitdiff
path: root/nvim/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/init.lua')
-rw-r--r--nvim/init.lua105
1 files changed, 105 insertions, 0 deletions
diff --git a/nvim/init.lua b/nvim/init.lua
new file mode 100644
index 0000000..d690307
--- /dev/null
+++ b/nvim/init.lua
@@ -0,0 +1,105 @@
+-- plugins --
+vim.pack.add({
+ 'https://github.com/AlphaTechnolog/pywal.nvim',
+ 'https://github.com/stevearc/oil.nvim',
+ 'https://github.com/nvim-mini/mini.move',
+ 'https://github.com/nvim-mini/mini.icons',
+ 'https://github.com/nvim-mini/mini.surround',
+ 'https://github.com/ibhagwan/fzf-lua',
+ 'https://github.com/nvim-treesitter/nvim-treesitter',
+ { src = 'https://github.com/Saghen/blink.cmp', version = 'v1.10.2' },
+})
+
+require("pywal").setup()
+require("oil").setup()
+require("mini.move").setup()
+require("mini.icons").setup()
+--[[ require("mini.surround").setup({
+ -- Module mappings. Use `''` (empty string) to disable one.
+ mappings = {
+ add = '<S-sa>', -- Add surrounding in Normal and Visual modes
+ delete = '<S-sd>', -- Delete surrounding
+ find = '<S-sf>', -- Find surrounding (to the right)
+ find_left = '<S-sF>', -- Find surrounding (to the left)
+ highlight = '<S-sh>', -- Highlight surrounding
+ replace = '<S-sr>', -- Replace surrounding
+
+ suffix_last = 'l', -- Suffix to search with "prev" method
+ suffix_next = 'n', -- Suffix to search with "next" method
+ },
+})
+--]]
+require("fzf-lua").setup()
+require("blink.cmp").setup()
+require("nvim-treesitter").setup()
+
+vim.loader.enable() -- speed up launch!
+
+
+-- treesitter - dynamically determine language
+vim.api.nvim_create_autocmd("FileType", {
+ group = vim.api.nvim_create_augroup("tree-sitter-enable", { clear = true }),
+ callback = function(args)
+ local lang = vim.treesitter.language.get_lang(args.match)
+ if not lang then
+ return
+ end
+ if vim.treesitter.query.get(lang, "highlights") then
+ vim.treesitter.start(args.buf)
+ end
+ if vim.treesitter.query.get(lang, "indents") then
+ vim.opt_local.indentexpr = 'v:lua.require("nvim-treesitter").indentexpr()'
+ end
+
+ -- from treesitter docs for folding
+ vim.opt.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
+ vim.opt.foldmethod = 'expr'
+ end,
+})
+
+-- blink completion stuff
+
+
+
+-- normal mode
+vim.api.nvim_set_keymap('i','jk','<Esc>',{noremap=true,silent=true})
+vim.api.nvim_set_keymap('i','kj','<Esc>',{noremap=true,silent=true})
+
+-- ui
+vim.opt.foldlevelstart = 99
+vim.o.scrolloff = 10
+vim.o.number = true
+vim.o.relativenumber = true
+vim.o.showmode = false
+vim.o.signcolumn = "yes"
+vim.o.pumheight = 15
+vim.o.shortmess = "CFOSWaco"
+
+-- completion
+vim.o.autocomplete = true
+vim.o.completeopt = "menuone,noinsert,popup,fuzzy,nearest"
+vim.o.pumheight = 15
+vim.o.pummaxwidth = 40
+
+-- indents
+vim.o.tabstop = 2
+vim.o.shiftwidth = 2
+
+-- search
+vim.o.imsearch = 0
+vim.o.hlsearch = true
+vim.o.incsearch = true
+vim.o.ignorecase = true
+vim.o.smartcase = true
+
+local map = vim.keymap.set
+
+-- KEYMAPS - for plugins
+map("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
+
+
+-- KEYMAPS - movement
+map("n", "<C-d>", "<C-d>zz")
+map("n", "<C-u>", "<C-u>zz")
+map("n", "<C-f>", "<C-f>zz")
+map("n", "<C-b>", "<C-b>zz")