Added init.lua

This commit is contained in:
Thomas Naderer
2024-12-18 17:27:10 +01:00
parent 8a84959bdd
commit 2815909a25

View File

@@ -1,132 +1,100 @@
-- Initialize packer -- Initalize packer
vim.cmd [[packadd packer.nvim]] vim.cmd [[packadd packer.nvim]]
vim.g.mapleader = " " -- Set the leader key to space vim.g.mapleader = " " -- Set the leader key to space
vim.cmd [[colorscheme tokyonight]] vim.cmd [[colorscheme tokyonight]]
require('packer').startup(function(use) require('packer').startup(function(use)
use 'wbthomason/packer.nvim' -- Packer manages itself use 'wbthomason/packer.nvim' -- Packer manages itself
-- VIM AutoSave -- VIM AutoSave
use({ use({
"okuuva/auto-save.nvim", "okuuva/auto-save.nvim",
tag = 'v1*', tag = 'v1*',
config = function() config = function()
require("auto-save").setup({ require("auto-save").setup({
-- your config goes here -- your config goes here
-- or just leave it empty :) -- or just leave it empty :)
}) })
end, end,
}) })
-- Headlines for Markdown and TeX -- Headlines for Markdown and TeX
use { use {
"lukas-reineke/headlines.nvim", "lukas-reineke/headlines.nvim",
after = "nvim-treesitter", after = "nvim-treesitter",
config = function() config = function()
require("headlines").setup() require("headlines").setup()
end, end,
} }
-- Nvim-Tree -- Nvim-Tree
use { use {
'nvim-tree/nvim-tree.lua', 'nvim-tree/nvim-tree.lua',
config = function() config = function()
require("nvim-tree").setup() require("nvim-tree").setup()
end end
} }
-- Themes -- Themes
use 'gruvbox-community/gruvbox' -- Gruvbox theme use 'gruvbox-community/gruvbox' -- Gruvbox theme
use 'folke/tokyonight.nvim' -- Tokyo Night theme use 'folke/tokyonight.nvim' -- Tokyo Night theme
-- Treesitter -- Treesitter
use { use {
'nvim-treesitter/nvim-treesitter', 'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate' -- Keep parsers up to date run = ':TSUpdate' -- Keep parsers up to date
} }
use 'HiPhish/rainbow-delimiters.nvim' require('plugins.treesitter')
-- Git Integration -- Rainbow Delimiters
use 'lewis6991/gitsigns.nvim' -- Git decorations in the gutter use 'HiPhish/rainbow-delimiters.nvim'
use 'tpope/vim-fugitive' -- Git commands in Neovim require('plugins.rainbow_delimiters')
-- Status Line -- Git Integration
use { use 'lewis6991/gitsigns.nvim' -- Git decorations in the gutter
'nvim-lualine/lualine.nvim', use 'tpope/vim-fugitive' -- Git commands in Neovim
requires = { 'kyazdani42/nvim-web-devicons', opt = true } -- Optional icons
}
-- FZF
use {
'junegunn/fzf',
run = function() vim.fn['fzf#install']() end
}
use 'junegunn/fzf.vim'
-- Cool Startup Dashboard -- Status Line
use { use {
'glepnir/dashboard-nvim', 'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons' } requires = { 'kyazdani42/nvim-web-devicons', opt = true } -- Optional icons
} }
require('plugins.lualine')
-- Productivity -- FZF
use 'numToStr/Comment.nvim' -- Easy commenting use {
use 'windwp/nvim-autopairs' -- Auto-close brackets, quotes, etc. 'junegunn/fzf',
use 'tpope/vim-surround' -- Surround text objects with quotes, brackets, etc. run = function() vim.fn['fzf#install']() end
}
use 'junegunn/fzf.vim'
--LaTeX -- Cool Startup Dashboard
use {
'glepnir/dashboard-nvim',
requires = { 'kyazdani42/nvim-web-devicons' }
}
-- Productivity
use 'numToStr/Comment.nvim' -- Easy commenting
use 'windwp/nvim-autopairs' -- Auto-close brackets, quotes, etc.
use 'tpope/vim-surround' -- Surround text objects with quotes, brackets, etc.
--LaTeX
use 'lervag/vimtex' use 'lervag/vimtex'
require('plugins.vimtex') require('plugins.vimtex')
-- Telescope -- Telescope
use { use {
'nvim-telescope/telescope.nvim', 'nvim-telescope/telescope.nvim',
requires = { {'nvim-lua/plenary.nvim'} }, requires = { {'nvim-lua/plenary.nvim'} },
config = function() config = function()
-- Leader key mappings for Telescope -- Leader key mappings for Telescope
vim.api.nvim_set_keymap('n', '<leader>ff', ':Telescope find_files<CR>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '<leader>ff', ':Telescope find_files<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>fg', ':Telescope live_grep<CR>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '<leader>fg', ':Telescope live_grep<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>fb', ':Telescope buffers<CR>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '<leader>fb', ':Telescope buffers<CR>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>fh', ':Telescope help_tags<CR>', { noremap = true, silent = true }) vim.api.nvim_set_keymap('n', '<leader>fh', ':Telescope help_tags<CR>', { noremap = true, silent = true })
end end
}
use {
'hedyhli/outline.nvim',
config = function()
require('plugins.outline').setup()
end
} }
-- This module contains a number of default definitions
local rainbow_delimiters = require 'rainbow-delimiters'
---@type rainbow_delimiters.config
vim.g.rainbow_delimiters = {
strategy = {
[''] = rainbow_delimiters.strategy['global'],
vim = rainbow_delimiters.strategy['local'],
},
query = {
[''] = 'rainbow-delimiters',
lua = 'rainbow-blocks',
},
priority = {
[''] = 110,
lua = 210,
},
highlight = {
'RainbowDelimiterRed',
'RainbowDelimiterYellow',
'RainbowDelimiterBlue',
'RainbowDelimiterOrange',
'RainbowDelimiterGreen',
'RainbowDelimiterViolet',
'RainbowDelimiterCyan',
},
}
use {
'hedyhli/outline.nvim',
config = function()
require('outline').setup({
-- You can customize the plugin options here
show_guides = true, -- Show outline guides
auto_close = false, -- Do not auto-close the outline
auto_open = true, -- Automatically open the outline
preview_lines = 10, -- Number of preview lines
keymaps = { -- Custom key mappings for the outline
jump = 'o', -- Jump to the selected item
expand_collapse = 'u', -- Expand or collapse an item
},
})
end
}
end end
) )