aboutsummaryrefslogtreecommitdiff
path: root/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim')
-rw-r--r--nvim/.config/nvim/init.lua42
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/autopairs.lua7
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/comment.lua10
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/gruber-darker.lua9
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/nvim-tree.lua60
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/nvim-treesitter.lua14
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/telescope.lua73
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/tmux-navigator.lua17
-rw-r--r--nvim/.config/nvim/lua/bard/plugins/which-key.lua13
-rw-r--r--nvim/.config/nvim/lualine.lua10
10 files changed, 255 insertions, 0 deletions
diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua
new file mode 100644
index 0000000..caaa1b0
--- /dev/null
+++ b/nvim/.config/nvim/init.lua
@@ -0,0 +1,42 @@
+vim.g.mapleader = ' '
+
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not (vim.uv or vim.loop).fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup("bard.plugins")
+
+vim.cmd.colorscheme("gruber-darker")
+
+vim.opt.clipboard = 'unnamedplus'
+vim.opt.number = true
+vim.opt.relativenumber = true
+vim.opt.expandtab = true
+vim.opt.shiftwidth = 4
+vim.opt.tabstop = 4
+vim.opt.expandtab = true
+vim.opt.shiftwidth = 4
+vim.opt.tabstop = 4
+
+-- nvim-tree binds
+vim.api.nvim_set_keymap('n', '<leader>e', ':NvimTreeToggle<CR>', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', { noremap = true, silent = true })
+vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', { noremap = true, silent = true })
+
+-- telescope binds
+local builtin = require('telescope.builtin')
+vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
+vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
+vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
+vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
diff --git a/nvim/.config/nvim/lua/bard/plugins/autopairs.lua b/nvim/.config/nvim/lua/bard/plugins/autopairs.lua
new file mode 100644
index 0000000..596e844
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/autopairs.lua
@@ -0,0 +1,7 @@
+return {
+ 'windwp/nvim-autopairs',
+ event = "InsertEnter",
+ config = true
+ -- use opts = {} for passing setup options
+ -- this is equalent to setup({}) function
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/comment.lua b/nvim/.config/nvim/lua/bard/plugins/comment.lua
new file mode 100644
index 0000000..b954dea
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/comment.lua
@@ -0,0 +1,10 @@
+return {
+ 'numToStr/Comment.nvim',
+ opts = {
+ -- add any options here
+ },
+ lazy = false,
+ config = function()
+ require('Comment').setup()
+ end
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/gruber-darker.lua b/nvim/.config/nvim/lua/bard/plugins/gruber-darker.lua
new file mode 100644
index 0000000..1008b05
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/gruber-darker.lua
@@ -0,0 +1,9 @@
+return {
+ "blazkowolf/gruber-darker.nvim",
+ opts = {
+ bold = false,
+ italic = {
+ strings = false,
+ },
+ },
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/nvim-tree.lua b/nvim/.config/nvim/lua/bard/plugins/nvim-tree.lua
new file mode 100644
index 0000000..ff002fa
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/nvim-tree.lua
@@ -0,0 +1,60 @@
+return {
+ "nvim-tree/nvim-tree.lua",
+ dependencies = {
+ "nvim-tree/nvim-web-devicons"
+ },
+ config = function()
+ vim.g.loaded_netrw = 1
+ vim.g.loaded_netrwPlugin = 1
+
+ -- optionally enable 24-bit colour
+ vim.opt.termguicolors = true
+
+ -- empty setup using defaults
+ require("nvim-tree").setup()
+
+ -- OR setup with some options
+ require("nvim-tree").setup({
+ sort = {
+ sorter = "case_sensitive",
+ },
+ view = {
+ width = 30,
+ },
+ renderer = {
+ group_empty = true,
+ },
+ filters = {
+ dotfiles = true,
+ },
+ })
+
+ require("nvim-tree").setup({
+ renderer = {
+ icons = {
+ show = {
+ git = true,
+ file = false,
+ folder = false,
+ folder_arrow = true,
+ },
+ glyphs = {
+ folder = {
+ arrow_closed = "⏵",
+ arrow_open = "⏷",
+ },
+ git = {
+ unstaged = "✗",
+ staged = "✓",
+ unmerged = "⌥",
+ renamed = "➜",
+ untracked = "★",
+ deleted = "⊖",
+ ignored = "◌",
+ },
+ },
+ },
+ },
+ })
+ end
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/nvim-treesitter.lua b/nvim/.config/nvim/lua/bard/plugins/nvim-treesitter.lua
new file mode 100644
index 0000000..ef16a7d
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/nvim-treesitter.lua
@@ -0,0 +1,14 @@
+return {
+ "nvim-treesitter/nvim-treesitter",
+ build = ":TSUpdate",
+ config = function ()
+ local configs = require("nvim-treesitter.configs")
+
+ configs.setup({
+ ensure_installed = { "c", "lua", "vim", "vimdoc", "cpp", "html", "haskell" },
+ sync_install = false,
+ highlight = { enable = true },
+ indent = { enable = true },
+ })
+ end
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/telescope.lua b/nvim/.config/nvim/lua/bard/plugins/telescope.lua
new file mode 100644
index 0000000..2394408
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/telescope.lua
@@ -0,0 +1,73 @@
+return {
+ {
+ 'nvim-telescope/telescope.nvim',
+ dependencies = {
+ { 'BurntSushi/ripgrep', 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }
+ },
+ config = function(lazy, opts)
+ local telescope = require('telescope')
+ telescope.load_extension('fzf')
+ telescope.setup({
+ defaults = {
+ wrap_result = true,
+ mappings = {
+ i = {
+ ["<esc>"] = require("telescope.actions").close,
+ -- search history
+ ["<C-Down>"] = require('telescope.actions').cycle_history_next,
+ ["<C-Up>"] = require('telescope.actions').cycle_history_prev,
+ },
+ },
+ layout_strategy = "vertical",
+ layout_config = {
+ vertical = {
+ width = 0.9,
+ preview_cutoff = 10,
+ }
+ }
+ },
+ pickers = {
+ -- note: remove the 'builtin.' prefix.
+ ["lsp_references"] = { wrap_results = true, },
+ ["lsp_definitions"] = { wrap_results = true, },
+ ["diagnostics"] = { wrap_results = true, },
+ ["find_files"] = { wrap_results = true, },
+ ["buffers"] = { sort_mru = true, ignore_current_buffer = true },
+ }
+ })
+ end,
+
+ keys = {
+ -- See :help telescope.builtin
+ { '<leader>fo', function()
+ require("telescope.builtin").oldfiles {
+ prompt_title = 'Recent files',
+ sort_mru= true
+ } end,
+ desc = "Old (recent) files"},
+ {'<leader><space>', '<cmd>Telescope buffers<cr>', desc = "Buffers"},
+ {'<leader>b', '<cmd>Telescope buffers<cr>', desc = "Buffers"},
+ {'<leader>p', '<cmd>Telescope buffers<cr>', desc = "Buffers"},
+
+ {'<leader>ff', '<cmd>Telescope find_files<cr>', desc = "Find filenames"},
+ {'<leader>fm', '<cmd>Telescope marks<cr>', desc = "Marks"},
+ {'<leader>fw', '<cmd>Telescope live_grep<cr>', desc = "Grep files"},
+ {'<leader>ld', '<cmd>Telescope diagnostics<cr>', desc = "diagnostics"},
+ {"<leader>fb", function()
+ require("telescope.builtin").live_grep {
+ prompt_title = 'grep open files',
+ grep_open_files = true }
+ end, desc = "Grep open files"},
+ {"<leader>fc", function() require("telescope.builtin").current_buffer_fuzzy_find() end, desc = "Grep this file"},
+ {"<leader>:", function() require("telescope.builtin").command_history { prompt_title = 'Command history' } end, desc = "cmd history"},
+ { "<leader>ls", function()
+ local aerial_avail, _ = pcall(require, "aerial")
+ if aerial_avail then
+ require("telescope").extensions.aerial.aerial()
+ else
+ require("telescope.builtin").lsp_document_symbols()
+ end
+ end, desc = "Search symbols" },
+ }
+ }
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/tmux-navigator.lua b/nvim/.config/nvim/lua/bard/plugins/tmux-navigator.lua
new file mode 100644
index 0000000..4421fed
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/tmux-navigator.lua
@@ -0,0 +1,17 @@
+return {
+ "christoomey/vim-tmux-navigator",
+ cmd = {
+ "TmuxNavigateLeft",
+ "TmuxNavigateDown",
+ "TmuxNavigateUp",
+ "TmuxNavigateRight",
+ "TmuxNavigatePrevious",
+ },
+ keys = {
+ { "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
+ { "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
+ { "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
+ { "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
+ { "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
+ },
+}
diff --git a/nvim/.config/nvim/lua/bard/plugins/which-key.lua b/nvim/.config/nvim/lua/bard/plugins/which-key.lua
new file mode 100644
index 0000000..6f820e0
--- /dev/null
+++ b/nvim/.config/nvim/lua/bard/plugins/which-key.lua
@@ -0,0 +1,13 @@
+return {
+ "folke/which-key.nvim",
+ event = "VeryLazy",
+ init = function()
+ vim.o.timeout = true
+ vim.o.timeoutlen = 300
+ end,
+ opts = {
+ -- your configuration comes here
+ -- or leave it empty to use the default settings
+ -- refer to the configuration section below
+ }
+}
diff --git a/nvim/.config/nvim/lualine.lua b/nvim/.config/nvim/lualine.lua
new file mode 100644
index 0000000..7ce8332
--- /dev/null
+++ b/nvim/.config/nvim/lualine.lua
@@ -0,0 +1,10 @@
+-- return {
+-- 'nvim-lualine/lualine.nvim',
+-- dependencies = { 'nvim-tree/nvim-web-devicons' },
+-- config = function()
+-- require('lualine').setup {
+-- options = { theme = 'gruvbox_dark' }
+-- }
+-- end
+-- }
+