about summary refs log tree commit diff
path: root/alpine-river/config/nvim/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'alpine-river/config/nvim/init.lua')
-rw-r--r--alpine-river/config/nvim/init.lua134
1 files changed, 134 insertions, 0 deletions
diff --git a/alpine-river/config/nvim/init.lua b/alpine-river/config/nvim/init.lua
new file mode 100644
index 0000000..e1870d1
--- /dev/null
+++ b/alpine-river/config/nvim/init.lua
@@ -0,0 +1,134 @@
+-- Setup Lazy Plugin Manager
+require("config.lazy")
+
+-- Setup Config
+vim.cmd.colorscheme("rose-pine")
+vim.opt.termguicolors = true
+
+vim.opt.nu = true
+vim.opt.rnu = true
+
+vim.opt.tabstop = 2
+vim.opt.softtabstop = 2
+vim.opt.shiftwidth = 2
+vim.opt.expandtab = true
+vim.opt.autoindent = true
+
+vim.opt.smartindent = true
+
+vim.opt.wrap = false
+
+vim.opt.swapfile = false
+vim.opt.backup = false
+vim.opt.undodir = os.getenv("HOME") .. "/.nvim/undodir"
+vim.opt.undofile = true
+
+vim.opt.hlsearch = false
+vim.opt.incsearch = true
+
+vim.opt.termguicolors = true
+
+vim.opt.scrolloff = 12
+
+vim.opt.updatetime = 50
+
+vim.opt.splitbelow = true
+vim.opt.splitright = true
+
+vim.opt.encoding = "utf-8"
+
+vim.opt.shell = "fish"
+
+vim.opt.ignorecase = true
+vim.opt.smartcase = true
+vim.opt.incsearch = true
+
+vim.opt.cursorline = true
+
+vim.opt.title = true
+
+vim.opt.clipboard = "unnamedplus"
+
+vim.opt.colorcolumn = "80"
+
+vim.cmd "set showtabline=0 | set laststatus=0"
+
+vim.wo.fillchars='eob: '
+
+vim.g.codeium_enabled = false
+
+vim.g.mapleader = " "
+vim.keymap.set("n", "<leader>bk", vim.cmd.bdelete, 
+  { desc = "Kill Buffer" })
+vim.keymap.set("n", "<leader>bn", vim.cmd.bnext, 
+  { desc = "Next Buffer" })
+vim.keymap.set("n", "<leader>bp", vim.cmd.bprev, 
+  { desc = "Previous Buffer" })
+
+vim.keymap.set("n", "K", vim.lsp.buf.hover)
+vim.keymap.set("n", "gd", vim.lsp.buf.definition)
+vim.keymap.set("n", "gt", vim.lsp.buf.type_definition)
+vim.keymap.set("n", "gi", vim.lsp.buf.implementation)
+vim.keymap.set("n", "ge", vim.diagnostic.goto_next)
+
+vim.keymap.set("n", "<leader>wh", vim.cmd.split,
+  { desc = "Split Window Horizontally" })
+vim.keymap.set("n", "<leader>wv", vim.cmd.vsplit,
+  { desc = "Split Window Vertically" })
+vim.keymap.set("n", "<leader>wc", "<C-w>q", 
+  { desc = "Close Window" })
+vim.keymap.set("n", "<leader>ww", "<C-w>w", 
+  { desc = "Next Window" })
+
+
+local tscope = require('telescope.builtin')
+vim.keymap.set('n', '<leader>ff', tscope.find_files, 
+  { desc = "Find File" })
+vim.keymap.set('n', '<leader>fb', tscope.buffers, 
+  { desc = "Find Buffer" })
+vim.keymap.set('n', '<leader>fh', tscope.help_tags, 
+  { desc = "Find Help" })
+vim.keymap.set('n', '<leader>fg', function()
+  tscope.grep_string(
+    { search = vim.fn.input("Grep > "), 
+    desc = "Find by Grep" });
+end)
+
+-- Setup Plugins
+require("telescope").setup({})
+require("nvim-autopairs").setup({
+  disable_filetype = { "TelescopePrompt" , "vim" }
+})
+require("nvim-highlight-colors").setup({})
+require("statuscol").setup({relculright = true})
+require("lualine").setup({
+  options = {
+    icons_enabled = false,
+    component_separators = { left = '|', right = '|'},
+    section_separators = { left = '', right = ''},
+  },
+  sections = {
+    lualine_a = {"mode","filename"},
+    lualine_b = {},
+    lualine_c = {},
+    lualine_x = {"diagnostics"},
+    lualine_y = {},
+    lualine_z = {}
+  }
+})
+require('leap').create_default_mappings()
+require('leap').opts.equivalence_classes = {
+  ' \t\r\n', '([{', ')]}', '\'"`' }
+require("nvim-treesitter.configs").setup({
+  ensure_installed = {"c", "vimdoc", "markdown", "jsonc"},
+  sync_install = false,
+  highlight = { enable = true },
+  indent = { enable = true },
+})
+-- require("config.cmp")
+local capabilities = require('cmp_nvim_lsp').default_capabilities()
+require("lspconfig").clangd.setup({capabilities = capabilities})
+require("lspconfig").rust_analyzer.setup({})
+
+-- Use Colemak Bindings
+require("config.colemak")