summaryrefslogtreecommitdiff
path: root/.config/nvim/lua
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-06-19 17:56:44 +0300
committerKyren223 <ulmliad223@gmail.com>2024-06-19 17:56:44 +0300
commit5f74606a528fbb47944621cc85f13e73d564feff (patch)
tree3437b02e749e66c77098da9a352bd34e7162a3e4 /.config/nvim/lua
parentaca090f8145460d8c32c6342909db315a8110b8e (diff)
Added nvim config
Diffstat (limited to '.config/nvim/lua')
-rw-r--r--.config/nvim/lua/options.lua62
-rw-r--r--.config/nvim/lua/plugins.lua2
-rw-r--r--.config/nvim/lua/plugins/alpha.lua51
-rw-r--r--.config/nvim/lua/plugins/catppuccin.lua9
-rw-r--r--.config/nvim/lua/plugins/lsp.lua52
-rw-r--r--.config/nvim/lua/plugins/lualine.lua10
-rw-r--r--.config/nvim/lua/plugins/neotree.lua13
-rw-r--r--.config/nvim/lua/plugins/none-ls.lua13
-rw-r--r--.config/nvim/lua/plugins/telescope.lua33
-rw-r--r--.config/nvim/lua/plugins/tokyonight.lua8
-rw-r--r--.config/nvim/lua/plugins/treesitter.lua12
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
+}