diff options
Diffstat (limited to '.config/nvim/lua')
| -rw-r--r-- | .config/nvim/lua/options.lua | 62 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/alpha.lua | 51 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/catppuccin.lua | 9 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/lsp.lua | 52 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/lualine.lua | 10 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/neotree.lua | 13 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/none-ls.lua | 13 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/telescope.lua | 33 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/tokyonight.lua | 8 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/treesitter.lua | 12 |
11 files changed, 265 insertions, 0 deletions
diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua new file mode 100644 index 0000000..4093897 --- /dev/null +++ b/.config/nvim/lua/options.lua @@ -0,0 +1,62 @@ +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +vim.g.have_nerd_font = true + +vim.opt.number = true +vim.opt.relativenumber = true + +vim.opt.expandtab = true +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 + +vim.opt.mouse = 'a' +vim.opt.clipboard = 'unnamedplus' + +vim.opt.undofile = true + +vim.opt.ignorecase = true +vim.opt.smartcase = true + +vim.opt.signcolumn = 'auto' + +vim.opt.updatetime = 250 + +-- Displays which-key sooner, once that's setupped +vim.opt.timeoutlen = 300 + +vim.opt.splitright = true +vim.opt.splitbelow = true + +-- vim.opt.list = true +-- vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } + +vim.opt.cursorline = true + +vim.opt.scrolloff = 8 + +vim.opt.hlsearch = true +vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>') + +vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' }) +vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' }) +vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' }) +vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' }) + +vim.api.nvim_create_autocmd('TextYankPost', { + desc = 'Highlight when yanking (copying) text', + group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), + callback = function() + vim.highlight.on_yank() + end, +}) + + + + + + + + + diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua new file mode 100644 index 0000000..a2b4f84 --- /dev/null +++ b/.config/nvim/lua/plugins.lua @@ -0,0 +1,2 @@ +return {} + diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/plugins/alpha.lua new file mode 100644 index 0000000..9799e77 --- /dev/null +++ b/.config/nvim/lua/plugins/alpha.lua @@ -0,0 +1,51 @@ +return { + "goolord/alpha-nvim", + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + + config = function() + local alpha = require("alpha") + local dashboard = require("alpha.themes.startify") + + dashboard.section.header.val = { + [[ ]], + [[ ]], + [[ ]], + [[ ]], + [[ ]], + [[ ████ ██████ █████ ██ ██ ]], + [[ ███████████ █████ ███ ]], + [[ █████████ ███████████████████ ███ ███████████ ]], + [[ █████████ ███ █████████████ █████ ██████████████ ]], + [[ █████████ ██████████ █████████ █████ █████ ████ █████ ]], + [[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]], + [[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]], + [[ ]], + [[ ]], + [[ ]], + } + + --[=[ + dashboard.section.header.val = { + [[ ]], + [[ ]], + [[ ]], + [[ ]], + [[ ]], + [[ ████ ███ ]], + [[ █████████ ]], + [[ ██████████ ████████ ████████ ]], + [[ ██████████ ███ ███ ███ ]], + [[ ████████ ████████ ███ ███ ]], + [[ █████████ ███ ███ ███ ]], + [[ ██████ ███ █████████ ███ ███ ]], + [[ ]], + [[ ]], + [[ ]], + } + ]=] + + alpha.setup(dashboard.opts) + end, +} diff --git a/.config/nvim/lua/plugins/catppuccin.lua b/.config/nvim/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..0b2ad91 --- /dev/null +++ b/.config/nvim/lua/plugins/catppuccin.lua @@ -0,0 +1,9 @@ +return { + "catppuccin/nvim", + lazy = false, + name = "catppuccin", + priority = 1000, + config = function() + -- vim.cmd.colorscheme "tokyonight-night" + end +} diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua new file mode 100644 index 0000000..beeaf0a --- /dev/null +++ b/.config/nvim/lua/plugins/lsp.lua @@ -0,0 +1,52 @@ +return { + { + "williamboman/mason.nvim", + config = function() + require("mason").setup() + end + }, + + { + "williamboman/mason-lspconfig.nvim", + config = function() + require("mason-lspconfig").setup({ + ensure_installed = { + "lua_ls", + "clangd", + "gradle_ls", + "jdtls", + "kotlin_language_server", + "pyright", + "rust_analyzer", + "taplo", + "bashls", + "lemminx", + "yamlls" + } + }) + end + }, + + { + "neovim/nvim-lspconfig", + config = function() + local lspconfig = require("lspconfig") + lspconfig.lua_ls.setup({}) + lspconfig.clangd.setup({}) + lspconfig.gradle_ls.setup({}) + lspconfig.jdtls.setup({}) + lspconfig.kotlin_language_server.setup({}) + lspconfig.pyright.setup({}) + lspconfig.rust_analyzer.setup({}) + lspconfig.taplo.setup({}) + lspconfig.bashls.setup({}) + lspconfig.lemminx.setup({}) + lspconfig.yamlls.setup({}) + + vim.keymap.set('n', 'gh', vim.lsp.buf.hover, { desc = "[G]oto [H]over" }) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { desc = "[G]oto [D]efinition" }) + vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, { desc = "[C]ode [A]ction" }) + vim.keymap.set('n', '<M-Enter>', vim.lsp.buf.code_action, { desc = "Code Actions" }) + end + } +} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..67c517c --- /dev/null +++ b/.config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,10 @@ +return { + "nvim-lualine/lualine.nvim", + config = function() + require("lualine").setup({ + options = { + theme = "dracula" + } + }) + end +} diff --git a/.config/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/plugins/neotree.lua new file mode 100644 index 0000000..50a7b5c --- /dev/null +++ b/.config/nvim/lua/plugins/neotree.lua @@ -0,0 +1,13 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + vim.keymap.set('n', 'gp', ':Neotree filesystem reveal left<cr>', { desc = '[F]ind Recent Files ("." for repeat)' }) + end +} + diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua new file mode 100644 index 0000000..0389275 --- /dev/null +++ b/.config/nvim/lua/plugins/none-ls.lua @@ -0,0 +1,13 @@ +return { + 'nvimtools/none-ls.nvim', + config = function() + local null_ls = require 'null-ls' + null_ls.setup { + sources = { + null_ls.builtins.formatting.stylua, + }, + } + + vim.keymap.set('n', '=', vim.lsp.buf.format, { desc = 'Format File' }) + end, +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..18daf0a --- /dev/null +++ b/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,33 @@ +return { + { + 'nvim-telescope/telescope.nvim', + tag = '0.1.5', + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + local builtin = require("telescope.builtin") + vim.keymap.set('n', '<leader>th', builtin.colorscheme, { desc = "List [Th]eme" }) + vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = '[F]ind [F]iles' }) + vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = '[F]ind [H]elp' }) + vim.keymap.set('n', '<leader>fk', builtin.keymaps, { desc = '[F]ind [K]eymaps' }) + vim.keymap.set('n', '<leader>fs', builtin.builtin, { desc = '[F]ind [S]elect Telescope' }) + vim.keymap.set('n', '<leader>fw', builtin.grep_string, { desc = '[F]ind current [W]ord' }) + vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = '[F]ind by [G]rep' }) + vim.keymap.set('n', '<leader>f.', builtin.oldfiles, { desc = '[F]ind Recent Files ("." for repeat)' }) + end + }, + { + "nvim-telescope/telescope-ui-select.nvim", + config = function() + local telescope = require("telescope") + telescope.setup({ + extensions = { + ["ui_select"] = { + require("telescope.themes").get_dropdown {} + } + } + }) + telescope.load_extension("ui-select") + end + } +} + diff --git a/.config/nvim/lua/plugins/tokyonight.lua b/.config/nvim/lua/plugins/tokyonight.lua new file mode 100644 index 0000000..21a772e --- /dev/null +++ b/.config/nvim/lua/plugins/tokyonight.lua @@ -0,0 +1,8 @@ +return { + 'folke/tokyonight.nvim', + priority = 1000, + config = function() + vim.cmd.colorscheme "tokyonight-night" + end +} + diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..44c98c0 --- /dev/null +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,12 @@ +return { + 'nvim-treesitter/nvim-treesitter', + build = ":TSUpdate" , + config = function() + local config = require("nvim-treesitter.configs") + config.setup({ + auto_install = true, + highlight = { enable = true }, + indent = { enable = true } + }) + end +} |
