New Taskbar, Window Manager & Neovim config

This commit is contained in:
2024-06-04 23:04:34 +02:00
parent 5535757e4f
commit 7158963529
42 changed files with 2501 additions and 1956 deletions

View File

@@ -0,0 +1,8 @@
return {
"AckslD/nvim-FeMaco.lua",
config = function()
local femaco = require("femaco")
femaco.setup({})
end,
}

View File

@@ -24,7 +24,7 @@ return {
mason_tool_installer.setup({
ensure_installed = {
"mypy",
"ruff",
"ruff_lsp",
"black",
"clang-format",
"stylua",

View File

@@ -2,6 +2,7 @@ return {
"nvimtools/none-ls.nvim",
dependencies = {
"jay-babu/mason-null-ls.nvim",
"nvimtools/none-ls-extras.nvim",
},
config = function()
local mason_null_ls = require("mason-null-ls")
@@ -25,7 +26,7 @@ return {
return { "--python-executable", virtual .. "/bin/python3" }
end,
}),
diagnostics.ruff,
-- diagnostics.ruff_lsp,
diagnostics.vale,
},
on_attach = function(current_client, bufnr)

View File

@@ -1,29 +0,0 @@
return {
"nvim-neorg/neorg",
build = ":Neorg sync-parsers",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
local neorg = require("neorg")
neorg.setup({
load = {
["core.defaults"] = {},
["core.completion"] = {
config = {
engine = "nvim-cmp",
},
},
["core.integrations.treesitter"] = {},
["core.concealer"] = {},
["core.dirman"] = {
config = {
workspaces = {
code = "~/Projects/Private/neorg_code",
edu = "~/Projects/Private/neorg_edu",
},
},
},
},
})
end,
}

View File

@@ -7,6 +7,10 @@ return {
config = function()
local noice = require("noice")
noice.setup()
noice.setup({
presets = {
long_message_to_split = true,
},
})
end,
}

View File

@@ -4,9 +4,9 @@ return {
dependencies = {
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
"L3MON4D3/LuaSnip", -- snippet engine
"saadparwaiz1/cmp_luasnip", -- for autocompletion
"rafamadriz/friendly-snippets", -- useful snippets
"onsails/lspkind.nvim",
},
config = function()
@@ -15,6 +15,9 @@ return {
local lspkind = require("lspkind")
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets/" })
luasnip.filetype_extend("vimwiki", { "markdown" })
cmp.setup({
completion = {
@@ -31,12 +34,16 @@ return {
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), -- show completion suggestions
["<C-e>"] = cmp.mapping.abort(), -- close completion window
["<C-s>"] = cmp.mapping.abort(), -- close completion window
["<CR>"] = cmp.mapping.confirm({ select = false }),
["<C-n>"] = cmp.config.disable,
["<C-p>"] = cmp.config.disable,
["<C-h>"] = cmp.config.disable,
["<C-e>"] = cmp.config.disable,
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" }, -- snippets
{ name = "nvim_lsp" }, -- LSP
{ name = "buffer" }, -- text within current buffer
{ name = "path" }, -- file system paths
}),
@@ -47,5 +54,26 @@ return {
}),
},
})
luasnip.config.set_config({
history = true,
updateevents = "TextChanged, TextChangedI",
enable_autosnippets = true,
})
vim.keymap.set({ "i" }, "<C-e>", function()
luasnip.expand()
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-l>", function()
luasnip.jump(1)
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-h>", function()
luasnip.jump(-1)
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-n>", function()
luasnip.change_choice(1)
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-p>", function()
luasnip.change_choice(-1)
end, { silent = true })
end,
}

View File

@@ -5,6 +5,7 @@ return {
"nvim-lua/plenary.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
"nvim-tree/nvim-web-devicons",
"nvim-telescope/telescope-live-grep-args.nvim",
},
config = function()
local telescope = require("telescope")

View File

@@ -7,6 +7,34 @@ return {
select = {
enable = true,
lookahead = true,
keymaps = {
["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" },
["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" },
["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" },
["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" },
["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" },
["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" },
["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" },
["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" },
["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" },
["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" },
["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" },
["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" },
["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" },
["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" },
["af"] = { query = "@call.outer", desc = "Select outer part of a function call" },
["if"] = { query = "@call.inner", desc = "Select inner part of a function call" },
["am"] = {
query = "@function.outer",
desc = "Select outer part of a method or function definition",
},
["im"] = {
query = "@function.inner",
desc = "Select inner part of a method or function definition",
},
["ac"] = { query = "@class.outer", desc = "Select outer part of a class" },
["ic"] = { query = "@class.inner", desc = "Select inner part of a class" },
},
},
},
})

View File

@@ -1,11 +1,40 @@
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"nvim-treesitter/nvim-treesitter-textobjects",
},
config = function()
local treesitter = require("nvim-treesitter.configs")
treesitter.setup({})
treesitter.setup({
highlight = {
enable = true,
additional_vim_regex_highlighting = { "latex" },
},
indent = {
enable = true,
},
ensure_installed = {
"python",
"cpp",
"lua",
"markdown_inline",
"html",
"css",
"bash",
"latex",
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
})
end,
}

View File

@@ -1,3 +1,23 @@
return {
"lervag/vimtex",
config = function()
local wk = require("which-key")
vim.g.tex_flavor = "latex"
vim.g.vimtex_view_method = "zathura"
vim.g.vimtex_quickfix_mode = 0
vim.g.vimtex_compiler_latexmk = {
options = {
"-pdf",
},
}
wk.register({
v = {
name = "vimtex",
c = { ":VimtexCompile", "Compile LaTex File" },
v = { ":!zathura main.pdf &>/dev/null &", "Open compiled PDF in Zathura" },
},
}, { prefix = "<leader>" })
end,
}

View File

@@ -0,0 +1,9 @@
return {
"vimwiki/vimwiki",
init = function()
vim.g.vimwiki_list = {
{ path = "/Users/jirayu/Projects/Private/vimwiki_code/", syntax = "markdown", ext = ".md" },
{ path = "/Users/jirayu/Projects/Private/vimwiki_edu/", syntax = "markdown", ext = ".md" },
}
end,
}

View File

@@ -8,13 +8,6 @@ return {
config = function()
local wk = require("which-key")
wk.setup({
opts = {
defaults = {
["<leader>t"] = { name = "+vimtex" },
},
},
})
wk.register({
n = {
name = "vim",