summaryrefslogtreecommitdiff
path: root/config/essentials/nvim/lua/user
diff options
context:
space:
mode:
Diffstat (limited to 'config/essentials/nvim/lua/user')
-rw-r--r--config/essentials/nvim/lua/user/init.lua3
-rw-r--r--config/essentials/nvim/lua/user/lazy.lua98
-rw-r--r--config/essentials/nvim/lua/user/packer.lua49
-rw-r--r--config/essentials/nvim/lua/user/remap.lua9
-rw-r--r--config/essentials/nvim/lua/user/treesitter.lua44
5 files changed, 171 insertions, 32 deletions
diff --git a/config/essentials/nvim/lua/user/init.lua b/config/essentials/nvim/lua/user/init.lua
index 2f29b87..f195e4f 100644
--- a/config/essentials/nvim/lua/user/init.lua
+++ b/config/essentials/nvim/lua/user/init.lua
@@ -1,5 +1,6 @@
-require("user.packer")
+require("user.lazy")
require("user.remap")
+require("user.treesitter")
require("user.set")
require("user.cmp")
require("user.zk")
diff --git a/config/essentials/nvim/lua/user/lazy.lua b/config/essentials/nvim/lua/user/lazy.lua
new file mode 100644
index 0000000..5c3148c
--- /dev/null
+++ b/config/essentials/nvim/lua/user/lazy.lua
@@ -0,0 +1,98 @@
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not 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({
+ -- Example using a list of specs with the default options
+ "folke/which-key.nvim",
+
+ -- telescope
+ {
+ 'nvim-telescope/telescope.nvim',
+ tag = '0.1.4',
+ dependencies = { 'nvim-lua/plenary.nvim' }
+ },
+ "nvim-telescope/telescope-ui-select.nvim",
+ "nvim-telescope/telescope-media-files.nvim",
+
+ "nvim-telescope/telescope-symbols.nvim",
+ "theprimeagen/harpoon",
+
+ -- colors
+ "shaunsingh/nord.nvim",
+ { 'uZer/pywal16.nvim', name = 'pywal16' },
+ "norcalli/nvim-colorizer.lua",
+
+ { 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate' },
+ "nvim-treesitter/playground",
+
+ -- syntax
+ "sheerun/vim-polyglot",
+ "theRealCarneiro/hyprland-vim-syntax",
+
+ "mbbill/undotree",
+
+ "tpope/vim-capslock",
+ "tpope/vim-commentary",
+ -- "tpope/vim-endwise",
+ "tpope/vim-fugitive",
+ "lewis6991/gitsigns.nvim",
+ "tpope/vim-repeat",
+ "tpope/vim-surround",
+ "tpope/vim-vinegar",
+ "m4xshen/autoclose.nvim",
+
+ "christoomey/vim-tmux-navigator",
+
+ -- utils
+ "godlygeek/tabular",
+ "renerocksai/calendar-vim",
+ "ojroques/vim-oscyank",
+ "potamides/pantran.nvim",
+ "alx741/vinfo",
+
+ -- "github/copilot.vim",
+ --
+ {
+ 'https://gitlab.com/itaranto/plantuml.nvim',
+ config = function() require('plantuml').setup() end
+ },
+
+ -- objects
+ "michaeljsmith/vim-indent-object",
+
+ -- completion
+ "neovim/nvim-lspconfig",
+ "hrsh7th/nvim-cmp",
+ "hrsh7th/cmp-nvim-lua",
+ "hrsh7th/cmp-nvim-lsp",
+ "hrsh7th/cmp-buffer",
+ "hrsh7th/cmp-path",
+ "hrsh7th/cmp-cmdline",
+ "hrsh7th/cmp-nvim-lsp-signature-help",
+ "alvan/vim-closetag",
+
+ -- debugging
+ "mfussenegger/nvim-dap",
+ { "rcarriga/nvim-dap-ui", dependencies = { "mfussenegger/nvim-dap" } },
+
+ -- java
+ "mfussenegger/nvim-jdtls",
+
+ -- snippets
+ "L3MON4D3/LuaSnip",
+ "saadparwaiz1/cmp_luasnip",
+
+ -- notes
+ "renerocksai/telekasten.nvim",
+
+})
diff --git a/config/essentials/nvim/lua/user/packer.lua b/config/essentials/nvim/lua/user/packer.lua
index ed2bbf1..8091d85 100644
--- a/config/essentials/nvim/lua/user/packer.lua
+++ b/config/essentials/nvim/lua/user/packer.lua
@@ -4,11 +4,11 @@ return require('packer').startup(function(use)
-- files
use {
'nvim-telescope/telescope.nvim', tag = '0.1.2',
- requires = { {'nvim-lua/plenary.nvim'} }
+ requires = { { 'nvim-lua/plenary.nvim' } }
}
- use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
- use {'nvim-telescope/telescope-ui-select.nvim' }
- use {'nvim-telescope/telescope-media-files.nvim'}
+ use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
+ use { 'nvim-telescope/telescope-ui-select.nvim' }
+ use { 'nvim-telescope/telescope-media-files.nvim' }
use('nvim-telescope/telescope-symbols.nvim')
use('theprimeagen/harpoon')
@@ -18,20 +18,11 @@ return require('packer').startup(function(use)
use { 'uZer/pywal16.nvim', as = 'pywal16' }
use('norcalli/nvim-colorizer.lua')
- use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'})
+ use('nvim-treesitter/nvim-treesitter', { run = ':TSUpdate' })
use('nvim-treesitter/playground')
use('theRealCarneiro/hyprland-vim-syntax')
use('mbbill/undotree')
- use {
- "nvim-neo-tree/neo-tree.nvim",
- branch = "v3.x",
- requires = {
- "nvim-lua/plenary.nvim",
- "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
- "MunifTanjim/nui.nvim",
- }
- }
use('tpope/vim-capslock')
use('tpope/vim-commentary')
@@ -45,20 +36,20 @@ return require('packer').startup(function(use)
use('christoomey/vim-tmux-navigator')
- -- utils
- use('godlygeek/tabular')
- use('renerocksai/calendar-vim')
- use('ojroques/vim-oscyank', {branch = "main"})
- use("potamides/pantran.nvim")
- use('alx741/vinfo')
- use('sheerun/vim-polyglot')
- -- use('github/copilot.vim')
- --
- use {
- 'https://gitlab.com/itaranto/plantuml.nvim',
- tag = '*',
- config = function() require('plantuml').setup() end
- }
+ -- utils
+ use('godlygeek/tabular')
+ use('renerocksai/calendar-vim')
+ use('ojroques/vim-oscyank', { branch = "main" })
+ use("potamides/pantran.nvim")
+ use('alx741/vinfo')
+ use('sheerun/vim-polyglot')
+ -- use('github/copilot.vim')
+ --
+ use {
+ 'https://gitlab.com/itaranto/plantuml.nvim',
+ tag = '*',
+ config = function() require('plantuml').setup() end
+ }
-- objects
use('michaeljsmith/vim-indent-object')
@@ -76,7 +67,7 @@ return require('packer').startup(function(use)
-- debugging
use('mfussenegger/nvim-dap')
- use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"} }
+ use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } }
-- java
use('mfussenegger/nvim-jdtls')
diff --git a/config/essentials/nvim/lua/user/remap.lua b/config/essentials/nvim/lua/user/remap.lua
index fadca21..0c3d9a6 100644
--- a/config/essentials/nvim/lua/user/remap.lua
+++ b/config/essentials/nvim/lua/user/remap.lua
@@ -54,9 +54,14 @@ end, { noremap = true })
-- utils
vim.keymap.set("i", "<LocalLeader>r", "<cmd>r!echo -n $RANDOM<cr><esc>kJA", { noremap = true })
+
+-- FORMATTING
-- ordered list
vim.keymap.set("n", "<LocalLeader>n", "<C-v>I0. <esc>gvg<C-a>", { noremap = true })
vim.keymap.set("v", "<Leader>u", "<cmd>'<,'>s/^[0-9]\\+\\. //<cr><esc>", { noremap = true })
+-- table
+vim.keymap.set("v", "<LocalLeader>t", "!column -t -s '|' -o '|'<cr>", { noremap = true })
+
-- scripts
vim.keymap.set("n", "<Leader>x", "<cmd>!chmod +x %<cr>", { noremap = true, silent = true})
-- replace
@@ -73,8 +78,8 @@ vim.keymap.set("n", "<LocalLeader>s", function ()
print("sourced.")
end, { noremap = true })
--- Packer
-vim.keymap.set("n", "<Leader>P", "<cmd>PackerSync<cr>", { noremap = true })
+-- Lazy
+vim.keymap.set("n", "<Leader>P", "<cmd>Lazy<cr>", { noremap = true })
-- spelling
vim.keymap.set("n", "<C-s>s", "<cmd>setlocal spell!<cr>", { noremap = true })
diff --git a/config/essentials/nvim/lua/user/treesitter.lua b/config/essentials/nvim/lua/user/treesitter.lua
new file mode 100644
index 0000000..5b1fc5e
--- /dev/null
+++ b/config/essentials/nvim/lua/user/treesitter.lua
@@ -0,0 +1,44 @@
+require'nvim-treesitter.configs'.setup {
+ -- A list of parser names, or "all" (the five listed parsers should always be installed)
+ ensure_installed = { "c", "lua", "vim", "vimdoc", "query" },
+
+ -- Install parsers synchronously (only applied to `ensure_installed`)
+ sync_install = false,
+
+ -- Automatically install missing parsers when entering buffer
+ -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
+ auto_install = true,
+
+ -- List of parsers to ignore installing (or "all")
+ ignore_install = { "javascript" },
+
+ ---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
+ -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
+ indent = {
+ enable = on
+ },
+
+ highlight = {
+ enable = true,
+
+ -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
+ -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
+ -- the name of the parser)
+ -- list of language that will be disabled
+ disable = { "c", "rust" },
+ -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
+ disable = function(lang, buf)
+ local max_filesize = 100 * 1024 -- 100 KB
+ local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
+ if ok and stats and stats.size > max_filesize then
+ return true
+ end
+ end,
+
+ -- Setting this to true will run `:h syntax` and tree-sitter at the same time.
+ -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
+ -- Using this option may slow down your editor, and you may see some duplicate highlights.
+ -- Instead of true it can also be a list of languages
+ additional_vim_regex_highlighting = false,
+ },
+}