mirror of
https://github.com/pojokcodeid/nvim-lazy.git
synced 2025-06-23 17:28:50 +02:00
add: reconfig
This commit is contained in:
parent
3af64d720d
commit
1d2a590c80
66 changed files with 1547 additions and 5121 deletions
|
@ -2,7 +2,6 @@
|
|||
"Comment.nvim": { "branch": "master", "commit": "e51f2b142d88bb666dcaa77d93a07f4b419aca70" },
|
||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
|
||||
"bufdelete.nvim": { "branch": "master", "commit": "f6bcea78afb3060b198125256f897040538bcb81" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "73540cb95f8d95aa1af3ed57713c6720c78af915" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
|
@ -15,7 +14,7 @@
|
|||
"friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" },
|
||||
"github-nvim-theme": { "branch": "main", "commit": "66dcec1bd3d12f8b0bf3c885069888551a650049" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "76927d14d3fbd4ba06ccb5246e79d93b5442c188" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "ece00d5fb44d196680a81fd2761062d2fa44663b" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" },
|
||||
"lsp-progress.nvim": { "branch": "main", "commit": "07ca8eadf7d02ca33ff4d1e9e500910fe17aa14d" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
||||
|
@ -24,7 +23,8 @@
|
|||
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
|
||||
"mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" },
|
||||
"noice.nvim": { "branch": "main", "commit": "2c49d4a7fdeaca930bb08a8239bdf5bccc26507b" },
|
||||
"neoscroll.nvim": { "branch": "master", "commit": "e78657719485c5663b88e5d96ffcfb6a2fe3eec0" },
|
||||
"noice.nvim": { "branch": "main", "commit": "9f6f6ba74f8bfbf7e43d6302cf86b070362f6203" },
|
||||
"none-ls-extras.nvim": { "branch": "main", "commit": "336e84b9e43c0effb735b08798ffac382920053b" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "37671797d6e5f9bd0ee3ab965ab2e6de251e1930" },
|
||||
"nui.nvim": { "branch": "main", "commit": "a0fd35fcbb4cb479366f1dc5f20145fd718a3733" },
|
||||
|
@ -37,12 +37,12 @@
|
|||
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
|
||||
"nvim-scrollview": { "branch": "main", "commit": "c29c5f69d37040a1fac88cbea7f5e6f06f0aff4d" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "2bc725a3ebc23f0172fb0ab4d1134b81bcc13812" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "f197a15b0d1e8d555263af20add51450e5aaa1f0" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "1eabe69bfa8f78e14fcf5d42a2b3881babaca30a" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5f9bf4b1ead7707e4e74e5319ee56bdc81fb73db" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "aeb7090098722ffce16597bd0331105495640153" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" },
|
||||
"onedarkpro.nvim": { "branch": "main", "commit": "ec07364f3cfa9cc6467bf067a490cfd74011efcd" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" },
|
||||
"promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" },
|
||||
"smart-splits.nvim": { "branch": "master", "commit": "2179ec0d26aacd4f40c766c79f6ebc83b7001e48" },
|
||||
|
|
|
@ -70,11 +70,11 @@ return {
|
|||
-- ["@operator.html"] = { fg = "#faa356" },
|
||||
-- ["@tag.html"] = { fg = "#fa7970" },
|
||||
-- ["@tag.delimiter.html"] = { fg = "#faa356" },
|
||||
-- ["@tag.javascript"] = { fg = "#faa356" },
|
||||
["@tag.javascript"] = { fg = "#faa356" },
|
||||
-- ["@tag.javascript"] = { fg = "#8ddb8c" },
|
||||
-- ["@tag.tsx"] = { fg = "#8ddb8c" },
|
||||
-- ["@tag.delimiter.javascript"] = { fg = "fg1" },
|
||||
-- ["@tag.tsx"] = { fg = "#faa356" },
|
||||
["@tag.delimiter.javascript"] = { fg = "fg1" },
|
||||
["@tag.tsx"] = { fg = "#faa356" },
|
||||
["@lsp.type.parameter"] = { fg = "#faa356" },
|
||||
["@property.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" },
|
||||
["@lsp.type.property.lua"] = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
|
||||
|
|
|
@ -43,13 +43,13 @@ return {
|
|||
"hrsh7th/cmp-nvim-lua",
|
||||
enabled = false,
|
||||
},
|
||||
{
|
||||
"gbprod/yanky.nvim",
|
||||
event = "BufReadPre",
|
||||
config = function()
|
||||
require("user.yanky")
|
||||
end,
|
||||
},
|
||||
-- {
|
||||
-- "gbprod/yanky.nvim",
|
||||
-- event = "BufReadPre",
|
||||
-- config = function()
|
||||
-- require("user.yanky")
|
||||
-- end,
|
||||
-- },
|
||||
-- {
|
||||
-- "is0n/jaq-nvim",
|
||||
-- event = "BufRead",
|
||||
|
|
|
@ -47,7 +47,10 @@ return {
|
|||
|
||||
local linter_list_registered = function(filetype)
|
||||
local registered_providers = list_registered_providers_names(filetype)
|
||||
local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m)
|
||||
-- local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m)
|
||||
-- return registered_providers[m] or {}
|
||||
-- end, alternative_methods))
|
||||
local providers_for_methods = vim.iter(vim.tbl_map(function(m)
|
||||
return registered_providers[m] or {}
|
||||
end, alternative_methods))
|
||||
|
||||
|
@ -59,9 +62,8 @@ return {
|
|||
function()
|
||||
local msg = "LS Inactive"
|
||||
local buf_ft = vim.bo.filetype
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
-- start register
|
||||
local buf_clients = vim.lsp.buf_get_clients()
|
||||
local buf_clients = vim.lsp.get_clients()
|
||||
local buf_client_names = {}
|
||||
if next(buf_clients) == nil then
|
||||
-- TODO: clean up this if statement
|
||||
|
@ -120,7 +122,7 @@ return {
|
|||
|
||||
local spaces = function()
|
||||
-- return " " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||
return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||
return icons.ui.Tab .. " " .. vim.api.nvim_get_option_value(0, "shiftwidth")
|
||||
end
|
||||
|
||||
local mode = {
|
||||
|
@ -151,7 +153,8 @@ return {
|
|||
lsp_progress = lspprogress.progress
|
||||
end
|
||||
-- stylua: ignore
|
||||
local github=vim.fn.fnamemodify("auto", ":t")
|
||||
-- local github=vim.fn.fnamemodify("auto", ":t")
|
||||
local github={}
|
||||
local status_ok, _ = pcall(require, "github-theme")
|
||||
if status_ok then
|
||||
local C = require("github-theme.lib.color")
|
||||
|
@ -192,7 +195,7 @@ return {
|
|||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = github,
|
||||
theme = github or "auto",
|
||||
-- theme = "auto",
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
|
|
|
@ -47,7 +47,7 @@ return {
|
|||
--
|
||||
-- local linter_list_registered = function(filetype)
|
||||
-- local registered_providers = list_registered_providers_names(filetype)
|
||||
-- local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m)
|
||||
-- local providers_for_methods = vim.iter(vim.tbl_map(function(m)
|
||||
-- return registered_providers[m] or {}
|
||||
-- end, alternative_methods))
|
||||
--
|
||||
|
@ -59,9 +59,8 @@ return {
|
|||
-- function()
|
||||
-- local msg = "LS Inactive"
|
||||
-- local buf_ft = vim.bo.filetype
|
||||
-- local clients = vim.lsp.get_active_clients()
|
||||
-- -- start register
|
||||
-- local buf_clients = vim.lsp.buf_get_clients()
|
||||
-- local buf_clients = vim.lsp.get_clients()
|
||||
-- local buf_client_names = {}
|
||||
-- if next(buf_clients) == nil then
|
||||
-- -- TODO: clean up this if statement
|
||||
|
@ -120,7 +119,7 @@ return {
|
|||
--
|
||||
-- local spaces = function()
|
||||
-- -- return " " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||
-- return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||
-- return icons.ui.Tab .. " " .. vim.api.nvim_get_option_value(0, "shiftwidth")
|
||||
-- end
|
||||
--
|
||||
-- local mode = {
|
||||
|
@ -151,7 +150,8 @@ return {
|
|||
-- lsp_progress = lspprogress.progress
|
||||
-- end
|
||||
-- -- stylua: ignore
|
||||
-- local onedark=vim.fn.fnamemodify("auto", ":t")
|
||||
-- -- local onedark=vim.fn.fnamemodify("auto", ":t")
|
||||
-- local onedark={}
|
||||
-- local is_transparat = true
|
||||
-- local status_ok, onedarkpro = pcall(require, "onedarkpro.helpers")
|
||||
-- if status_ok then
|
||||
|
|
|
@ -1,279 +1,279 @@
|
|||
return {
|
||||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
lazy = true,
|
||||
event = "VeryLazy",
|
||||
cmd = { "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" },
|
||||
-- dependencies = "kyazdani42/nvim-web-devicons",
|
||||
config = function()
|
||||
local data_exists, treeconfig = pcall(require, "core.config")
|
||||
if data_exists then
|
||||
if treeconfig.loadnvimtree_lazy then
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- set termguicolors to enable highlight groups
|
||||
vim.opt.termguicolors = true
|
||||
local status_ok, nvim_tree = pcall(require, "nvim-tree")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local HEIGHT_RATIO = 0.9 -- You can change this
|
||||
local WIDTH_RATIO = 0.5 -- You can change this too
|
||||
|
||||
local icons = require("user.icons")
|
||||
nvim_tree.setup({
|
||||
auto_reload_on_write = false,
|
||||
disable_netrw = false,
|
||||
hijack_cursor = false,
|
||||
hijack_netrw = true,
|
||||
hijack_unnamed_buffer_when_opening = false,
|
||||
sort_by = "name",
|
||||
root_dirs = {},
|
||||
prefer_startup_root = false,
|
||||
sync_root_with_cwd = true,
|
||||
reload_on_bufenter = false,
|
||||
respect_buf_cwd = false,
|
||||
on_attach = "default",
|
||||
select_prompts = false,
|
||||
view = {
|
||||
adaptive_size = false,
|
||||
centralize_selection = true,
|
||||
-- width = 30,
|
||||
side = "left",
|
||||
preserve_window_proportions = false,
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "yes",
|
||||
-- {
|
||||
-- "kyazdani42/nvim-tree.lua",
|
||||
-- lazy = true,
|
||||
-- event = "VeryLazy",
|
||||
-- cmd = { "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" },
|
||||
-- -- dependencies = "kyazdani42/nvim-web-devicons",
|
||||
-- config = function()
|
||||
-- local data_exists, treeconfig = pcall(require, "core.config")
|
||||
-- if data_exists then
|
||||
-- if treeconfig.loadnvimtree_lazy then
|
||||
-- vim.g.loaded_netrw = 1
|
||||
-- vim.g.loaded_netrwPlugin = 1
|
||||
--
|
||||
-- -- set termguicolors to enable highlight groups
|
||||
-- vim.opt.termguicolors = true
|
||||
-- local status_ok, nvim_tree = pcall(require, "nvim-tree")
|
||||
-- if not status_ok then
|
||||
-- return
|
||||
-- end
|
||||
--
|
||||
-- local HEIGHT_RATIO = 0.9 -- You can change this
|
||||
-- local WIDTH_RATIO = 0.5 -- You can change this too
|
||||
--
|
||||
-- local icons = require("user.icons")
|
||||
-- nvim_tree.setup({
|
||||
-- auto_reload_on_write = false,
|
||||
-- disable_netrw = false,
|
||||
-- hijack_cursor = false,
|
||||
-- hijack_netrw = true,
|
||||
-- hijack_unnamed_buffer_when_opening = false,
|
||||
-- sort_by = "name",
|
||||
-- root_dirs = {},
|
||||
-- prefer_startup_root = false,
|
||||
-- sync_root_with_cwd = true,
|
||||
-- reload_on_bufenter = false,
|
||||
-- respect_buf_cwd = false,
|
||||
-- on_attach = "default",
|
||||
-- select_prompts = false,
|
||||
-- view = {
|
||||
-- adaptive_size = false,
|
||||
-- centralize_selection = true,
|
||||
-- -- width = 30,
|
||||
-- side = "left",
|
||||
-- preserve_window_proportions = false,
|
||||
-- number = false,
|
||||
-- relativenumber = false,
|
||||
-- signcolumn = "yes",
|
||||
-- -- float = {
|
||||
-- -- enable = true,
|
||||
-- -- quit_on_focus_loss = true,
|
||||
-- -- open_win_config = {
|
||||
-- -- relative = "editor",
|
||||
-- -- border = "rounded",
|
||||
-- -- width = 30,
|
||||
-- -- height = 30,
|
||||
-- -- row = 1,
|
||||
-- -- col = 1,
|
||||
-- -- },
|
||||
-- -- },
|
||||
-- float = {
|
||||
-- enable = true,
|
||||
-- quit_on_focus_loss = true,
|
||||
-- open_win_config = {
|
||||
-- relative = "editor",
|
||||
-- open_win_config = function()
|
||||
-- local screen_w = vim.opt.columns:get()
|
||||
-- local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get()
|
||||
-- local window_w = screen_w * WIDTH_RATIO
|
||||
-- local window_h = screen_h * HEIGHT_RATIO
|
||||
-- local window_w_int = math.floor(window_w)
|
||||
-- local window_h_int = math.floor(window_h)
|
||||
-- local center_x = (screen_w - window_w) / 2
|
||||
-- local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get()
|
||||
-- return {
|
||||
-- border = "rounded",
|
||||
-- width = 30,
|
||||
-- height = 30,
|
||||
-- row = 1,
|
||||
-- relative = "editor",
|
||||
-- row = center_y,
|
||||
-- col = center_x,
|
||||
-- width = window_w_int,
|
||||
-- height = window_h_int,
|
||||
-- }
|
||||
-- end,
|
||||
-- },
|
||||
-- width = function()
|
||||
-- return math.floor(vim.opt.columns:get() * WIDTH_RATIO)
|
||||
-- end,
|
||||
-- },
|
||||
-- renderer = {
|
||||
-- add_trailing = false,
|
||||
-- group_empty = false,
|
||||
-- highlight_git = true,
|
||||
-- full_name = false,
|
||||
-- highlight_opened_files = "none",
|
||||
-- root_folder_label = ":t",
|
||||
-- -- root_folder_label = false,
|
||||
-- indent_width = 2,
|
||||
-- indent_markers = {
|
||||
-- enable = true,
|
||||
-- inline_arrows = true,
|
||||
-- icons = {
|
||||
-- corner = "└",
|
||||
-- edge = "│",
|
||||
-- item = "│",
|
||||
-- none = " ",
|
||||
-- },
|
||||
-- },
|
||||
-- icons = {
|
||||
-- webdev_colors = true,
|
||||
-- git_placement = "before",
|
||||
-- padding = " ",
|
||||
-- symlink_arrow = " ➛ ",
|
||||
-- show = {
|
||||
-- file = true,
|
||||
-- folder = true,
|
||||
-- folder_arrow = true,
|
||||
-- git = true,
|
||||
-- },
|
||||
-- glyphs = {
|
||||
-- default = icons.ui.Text,
|
||||
-- symlink = icons.ui.FileSymlink,
|
||||
-- bookmark = icons.ui.BookMark,
|
||||
-- folder = {
|
||||
-- -- arrow_closed = icons.ui.TriangleShortArrowRight,
|
||||
-- arrow_closed = icons.ui.ChevronShortRight,
|
||||
-- -- arrow_open = icons.ui.TriangleShortArrowDown,
|
||||
-- arrow_open = icons.ui.ChevronShortDown,
|
||||
-- default = icons.ui.Folder,
|
||||
-- open = icons.ui.FolderOpen,
|
||||
-- empty = icons.ui.EmptyFolder,
|
||||
-- empty_open = icons.ui.EmptyFolderOpen,
|
||||
-- symlink = icons.ui.FolderSymlink,
|
||||
-- symlink_open = icons.ui.FolderOpen,
|
||||
-- },
|
||||
-- git = {
|
||||
-- unstaged = icons.git.FileUnstaged,
|
||||
-- staged = icons.git.FileStaged,
|
||||
-- unmerged = icons.git.FileUnmerged,
|
||||
-- renamed = icons.git.FileRenamed,
|
||||
-- untracked = icons.git.FileUntracked,
|
||||
-- deleted = icons.git.FileDeleted,
|
||||
-- ignored = icons.git.FileIgnored,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
|
||||
-- symlink_destination = true,
|
||||
-- },
|
||||
-- hijack_directories = {
|
||||
-- enable = false,
|
||||
-- auto_open = true,
|
||||
-- },
|
||||
-- update_focused_file = {
|
||||
-- enable = true,
|
||||
-- debounce_delay = 15,
|
||||
-- update_root = true,
|
||||
-- ignore_list = {},
|
||||
-- },
|
||||
-- diagnostics = {
|
||||
-- enable = true,
|
||||
-- show_on_dirs = false,
|
||||
-- show_on_open_dirs = true,
|
||||
-- debounce_delay = 50,
|
||||
-- severity = {
|
||||
-- min = vim.diagnostic.severity.HINT,
|
||||
-- max = vim.diagnostic.severity.ERROR,
|
||||
-- },
|
||||
-- icons = {
|
||||
-- hint = icons.diagnostics.BoldHint,
|
||||
-- info = icons.diagnostics.BoldInformation,
|
||||
-- warning = icons.diagnostics.BoldWarning,
|
||||
-- error = icons.diagnostics.BoldError,
|
||||
-- },
|
||||
-- },
|
||||
-- filters = {
|
||||
-- dotfiles = false,
|
||||
-- git_clean = false,
|
||||
-- no_buffer = false,
|
||||
-- custom = { "node_modules", "\\.cache", "\\.git" },
|
||||
-- exclude = {
|
||||
-- ".gitignore",
|
||||
-- ".prettierignore",
|
||||
-- },
|
||||
-- },
|
||||
-- filesystem_watchers = {
|
||||
-- enable = true,
|
||||
-- debounce_delay = 50,
|
||||
-- ignore_dirs = {},
|
||||
-- },
|
||||
-- git = {
|
||||
-- enable = true,
|
||||
-- ignore = false,
|
||||
-- show_on_dirs = true,
|
||||
-- show_on_open_dirs = true,
|
||||
-- disable_for_dirs = {},
|
||||
-- timeout = 400,
|
||||
-- },
|
||||
-- actions = {
|
||||
-- use_system_clipboard = true,
|
||||
-- change_dir = {
|
||||
-- enable = true,
|
||||
-- global = false,
|
||||
-- restrict_above_cwd = false,
|
||||
-- },
|
||||
-- expand_all = {
|
||||
-- max_folder_discovery = 300,
|
||||
-- exclude = {},
|
||||
-- },
|
||||
-- file_popup = {
|
||||
-- open_win_config = {
|
||||
-- col = 1,
|
||||
-- row = 1,
|
||||
-- relative = "cursor",
|
||||
-- border = "shadow",
|
||||
-- style = "minimal",
|
||||
-- },
|
||||
-- },
|
||||
float = {
|
||||
enable = true,
|
||||
open_win_config = function()
|
||||
local screen_w = vim.opt.columns:get()
|
||||
local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get()
|
||||
local window_w = screen_w * WIDTH_RATIO
|
||||
local window_h = screen_h * HEIGHT_RATIO
|
||||
local window_w_int = math.floor(window_w)
|
||||
local window_h_int = math.floor(window_h)
|
||||
local center_x = (screen_w - window_w) / 2
|
||||
local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get()
|
||||
return {
|
||||
border = "rounded",
|
||||
relative = "editor",
|
||||
row = center_y,
|
||||
col = center_x,
|
||||
width = window_w_int,
|
||||
height = window_h_int,
|
||||
}
|
||||
end,
|
||||
},
|
||||
width = function()
|
||||
return math.floor(vim.opt.columns:get() * WIDTH_RATIO)
|
||||
end,
|
||||
},
|
||||
renderer = {
|
||||
add_trailing = false,
|
||||
group_empty = false,
|
||||
highlight_git = true,
|
||||
full_name = false,
|
||||
highlight_opened_files = "none",
|
||||
root_folder_label = ":t",
|
||||
-- root_folder_label = false,
|
||||
indent_width = 2,
|
||||
indent_markers = {
|
||||
enable = true,
|
||||
inline_arrows = true,
|
||||
icons = {
|
||||
corner = "└",
|
||||
edge = "│",
|
||||
item = "│",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
webdev_colors = true,
|
||||
git_placement = "before",
|
||||
padding = " ",
|
||||
symlink_arrow = " ➛ ",
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
folder_arrow = true,
|
||||
git = true,
|
||||
},
|
||||
glyphs = {
|
||||
default = icons.ui.Text,
|
||||
symlink = icons.ui.FileSymlink,
|
||||
bookmark = icons.ui.BookMark,
|
||||
folder = {
|
||||
-- arrow_closed = icons.ui.TriangleShortArrowRight,
|
||||
arrow_closed = icons.ui.ChevronShortRight,
|
||||
-- arrow_open = icons.ui.TriangleShortArrowDown,
|
||||
arrow_open = icons.ui.ChevronShortDown,
|
||||
default = icons.ui.Folder,
|
||||
open = icons.ui.FolderOpen,
|
||||
empty = icons.ui.EmptyFolder,
|
||||
empty_open = icons.ui.EmptyFolderOpen,
|
||||
symlink = icons.ui.FolderSymlink,
|
||||
symlink_open = icons.ui.FolderOpen,
|
||||
},
|
||||
git = {
|
||||
unstaged = icons.git.FileUnstaged,
|
||||
staged = icons.git.FileStaged,
|
||||
unmerged = icons.git.FileUnmerged,
|
||||
renamed = icons.git.FileRenamed,
|
||||
untracked = icons.git.FileUntracked,
|
||||
deleted = icons.git.FileDeleted,
|
||||
ignored = icons.git.FileIgnored,
|
||||
},
|
||||
},
|
||||
},
|
||||
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
|
||||
symlink_destination = true,
|
||||
},
|
||||
hijack_directories = {
|
||||
enable = false,
|
||||
auto_open = true,
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
debounce_delay = 15,
|
||||
update_root = true,
|
||||
ignore_list = {},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = false,
|
||||
show_on_open_dirs = true,
|
||||
debounce_delay = 50,
|
||||
severity = {
|
||||
min = vim.diagnostic.severity.HINT,
|
||||
max = vim.diagnostic.severity.ERROR,
|
||||
},
|
||||
icons = {
|
||||
hint = icons.diagnostics.BoldHint,
|
||||
info = icons.diagnostics.BoldInformation,
|
||||
warning = icons.diagnostics.BoldWarning,
|
||||
error = icons.diagnostics.BoldError,
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
git_clean = false,
|
||||
no_buffer = false,
|
||||
custom = { "node_modules", "\\.cache", "\\.git" },
|
||||
exclude = {
|
||||
".gitignore",
|
||||
".prettierignore",
|
||||
},
|
||||
},
|
||||
filesystem_watchers = {
|
||||
enable = true,
|
||||
debounce_delay = 50,
|
||||
ignore_dirs = {},
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = false,
|
||||
show_on_dirs = true,
|
||||
show_on_open_dirs = true,
|
||||
disable_for_dirs = {},
|
||||
timeout = 400,
|
||||
},
|
||||
actions = {
|
||||
use_system_clipboard = true,
|
||||
change_dir = {
|
||||
enable = true,
|
||||
global = false,
|
||||
restrict_above_cwd = false,
|
||||
},
|
||||
expand_all = {
|
||||
max_folder_discovery = 300,
|
||||
exclude = {},
|
||||
},
|
||||
file_popup = {
|
||||
open_win_config = {
|
||||
col = 1,
|
||||
row = 1,
|
||||
relative = "cursor",
|
||||
border = "shadow",
|
||||
style = "minimal",
|
||||
},
|
||||
},
|
||||
open_file = {
|
||||
quit_on_open = false,
|
||||
resize_window = false,
|
||||
window_picker = {
|
||||
enable = true,
|
||||
picker = "default",
|
||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||
exclude = {
|
||||
filetype = { "notify", "lazy", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||
buftype = { "nofile", "terminal", "help" },
|
||||
},
|
||||
},
|
||||
},
|
||||
remove_file = {
|
||||
close_window = true,
|
||||
},
|
||||
},
|
||||
trash = {
|
||||
cmd = "trash",
|
||||
require_confirm = true,
|
||||
},
|
||||
live_filter = {
|
||||
prefix = "[FILTER]: ",
|
||||
always_show_folders = true,
|
||||
},
|
||||
tab = {
|
||||
sync = {
|
||||
open = false,
|
||||
close = false,
|
||||
ignore = {},
|
||||
},
|
||||
},
|
||||
notify = {
|
||||
threshold = vim.log.levels.INFO,
|
||||
-- threshold = vim.log.levels.ERROR,
|
||||
},
|
||||
log = {
|
||||
enable = false,
|
||||
truncate = false,
|
||||
types = {
|
||||
all = false,
|
||||
config = false,
|
||||
copy_paste = false,
|
||||
dev = false,
|
||||
diagnostics = false,
|
||||
git = false,
|
||||
profile = false,
|
||||
watcher = false,
|
||||
},
|
||||
},
|
||||
system_open = {
|
||||
cmd = nil,
|
||||
args = {},
|
||||
},
|
||||
})
|
||||
end
|
||||
end
|
||||
-- auto open file if creation
|
||||
local api = require("nvim-tree.api")
|
||||
api.events.subscribe(api.events.Event.FileCreated, function(file)
|
||||
vim.cmd("edit " .. file.fname)
|
||||
end)
|
||||
end,
|
||||
},
|
||||
-- open_file = {
|
||||
-- quit_on_open = false,
|
||||
-- resize_window = false,
|
||||
-- window_picker = {
|
||||
-- enable = true,
|
||||
-- picker = "default",
|
||||
-- chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||
-- exclude = {
|
||||
-- filetype = { "notify", "lazy", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||
-- buftype = { "nofile", "terminal", "help" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- remove_file = {
|
||||
-- close_window = true,
|
||||
-- },
|
||||
-- },
|
||||
-- trash = {
|
||||
-- cmd = "trash",
|
||||
-- require_confirm = true,
|
||||
-- },
|
||||
-- live_filter = {
|
||||
-- prefix = "[FILTER]: ",
|
||||
-- always_show_folders = true,
|
||||
-- },
|
||||
-- tab = {
|
||||
-- sync = {
|
||||
-- open = false,
|
||||
-- close = false,
|
||||
-- ignore = {},
|
||||
-- },
|
||||
-- },
|
||||
-- notify = {
|
||||
-- threshold = vim.log.levels.INFO,
|
||||
-- -- threshold = vim.log.levels.ERROR,
|
||||
-- },
|
||||
-- log = {
|
||||
-- enable = false,
|
||||
-- truncate = false,
|
||||
-- types = {
|
||||
-- all = false,
|
||||
-- config = false,
|
||||
-- copy_paste = false,
|
||||
-- dev = false,
|
||||
-- diagnostics = false,
|
||||
-- git = false,
|
||||
-- profile = false,
|
||||
-- watcher = false,
|
||||
-- },
|
||||
-- },
|
||||
-- system_open = {
|
||||
-- cmd = nil,
|
||||
-- args = {},
|
||||
-- },
|
||||
-- })
|
||||
-- end
|
||||
-- end
|
||||
-- -- auto open file if creation
|
||||
-- local api = require("nvim-tree.api")
|
||||
-- api.events.subscribe(api.events.Event.FileCreated, function(file)
|
||||
-- vim.cmd("edit " .. file.fname)
|
||||
-- end)
|
||||
-- end,
|
||||
-- },
|
||||
}
|
||||
|
|
|
@ -1,110 +1,110 @@
|
|||
return {
|
||||
{ "navarasu/onedark.nvim", enabled = false },
|
||||
{
|
||||
"olimorris/onedarkpro.nvim",
|
||||
priority = 1000, -- Ensure it loads first
|
||||
config = function()
|
||||
local is_transparent = false
|
||||
require("onedarkpro").setup({
|
||||
styles = {
|
||||
types = "NONE",
|
||||
methods = "NONE",
|
||||
numbers = "NONE",
|
||||
strings = "NONE",
|
||||
comments = "italic",
|
||||
keywords = "bold,italic",
|
||||
constants = "NONE",
|
||||
functions = "italic",
|
||||
operators = "NONE",
|
||||
variables = "NONE",
|
||||
parameters = "NONE",
|
||||
conditionals = "italic",
|
||||
virtual_text = "NONE",
|
||||
tags = "italic",
|
||||
},
|
||||
colors = {
|
||||
onedark = {
|
||||
green = "#99c379",
|
||||
gray = "#8094b4",
|
||||
red = "#e06c75",
|
||||
purple = "#c678dd",
|
||||
yellow = "#e5c07a",
|
||||
blue = "#61afef",
|
||||
cyan = "#56b6c2",
|
||||
bg_statusline = "#282c34",
|
||||
indentline = "#3b4261",
|
||||
float_bg = "#282c34",
|
||||
},
|
||||
},
|
||||
options = {
|
||||
cursorline = true,
|
||||
transparency = is_transparent,
|
||||
terminal_colors = true,
|
||||
},
|
||||
highlights = {
|
||||
-- overide cursor line fill colors
|
||||
LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
|
||||
CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
|
||||
CursorLine = { bg = "#333842" },
|
||||
Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor
|
||||
lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
|
||||
CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM|
|
||||
CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
|
||||
-- overide nvimtree folder icon fill color
|
||||
NvimTreeFolderIcon = { fg = "${gray}" },
|
||||
-- overide nvimtree text fill color folder opened
|
||||
NvimTreeOpenedFolderName = { fg = "${blue}" },
|
||||
-- overide nvimtree text fill color root folder
|
||||
NvimTreeRootFolder = { fg = "${yellow}" },
|
||||
NvimTreeSpecialFile = { fg = "${orange}" },
|
||||
NvimTreeWinSeparator = { fg = "#202329" },
|
||||
NvimTreeIndentMarker = { fg = "#3E4450" },
|
||||
-- overide indenline fill color
|
||||
IblIndent = { fg = "#3E4450" },
|
||||
-- overide cmp cursorline fill color with #333842
|
||||
PmenuSel = { bg = "#333842" },
|
||||
illuminatedWord = { bg = "#3b4261" },
|
||||
illuminatedCurWord = { bg = "#3b4261" },
|
||||
IlluminatedWordText = { bg = "#3b4261" },
|
||||
IlluminatedWordRead = { bg = "#3b4261" },
|
||||
IlluminatedWordWrite = { bg = "#3b4261" },
|
||||
StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" },
|
||||
StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" },
|
||||
BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" },
|
||||
["@string.special.url.html"] = { fg = "${green}" },
|
||||
["@text.uri.html"] = { fg = "${green}" },
|
||||
["@tag.javascript"] = { fg = "${red}" },
|
||||
["@tag.attribute"] = { fg = "${orange}", style = "italic" },
|
||||
["@constructor.javascript"] = { fg = "${red}" },
|
||||
["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names
|
||||
["@variable.builtin"] = { fg = "${red}", style = "NONE" },
|
||||
["@variable.member"] = "${cyan}",
|
||||
["@variable.parameter"] = "${red}",
|
||||
["@property"] = { fg = "${cyan}" }, -- similar to `@field`
|
||||
NvimTreeGitDirty = { fg = "${yellow}" },
|
||||
Pmenu = { fg = "${fg}", bg = "${bg}" },
|
||||
PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar.
|
||||
-- overide lualine fill color with bg color
|
||||
LualineNormal = { bg = "${bg}" },
|
||||
-- overide lualine_c fill color with bg color
|
||||
LualineC = { bg = "${bg}" },
|
||||
-- overide lualine_x fill color with bg color
|
||||
LualineX = { bg = "${bg}" },
|
||||
-- overide which-key fill color with bg color
|
||||
-- WhichKey = { bg = "${bg}" },
|
||||
-- { "navarasu/onedark.nvim", enabled = false },
|
||||
-- {
|
||||
-- "olimorris/onedarkpro.nvim",
|
||||
-- priority = 1000, -- Ensure it loads first
|
||||
-- config = function()
|
||||
-- local is_transparent = false
|
||||
-- require("onedarkpro").setup({
|
||||
-- styles = {
|
||||
-- types = "NONE",
|
||||
-- methods = "NONE",
|
||||
-- numbers = "NONE",
|
||||
-- strings = "NONE",
|
||||
-- comments = "italic",
|
||||
-- keywords = "bold,italic",
|
||||
-- constants = "NONE",
|
||||
-- functions = "italic",
|
||||
-- operators = "NONE",
|
||||
-- variables = "NONE",
|
||||
-- parameters = "NONE",
|
||||
-- conditionals = "italic",
|
||||
-- virtual_text = "NONE",
|
||||
-- tags = "italic",
|
||||
-- },
|
||||
-- colors = {
|
||||
-- onedark = {
|
||||
-- green = "#99c379",
|
||||
-- gray = "#8094b4",
|
||||
-- red = "#e06c75",
|
||||
-- purple = "#c678dd",
|
||||
-- yellow = "#e5c07a",
|
||||
-- blue = "#61afef",
|
||||
-- cyan = "#56b6c2",
|
||||
-- bg_statusline = "#282c34",
|
||||
-- indentline = "#3b4261",
|
||||
-- float_bg = "#282c34",
|
||||
-- },
|
||||
-- },
|
||||
-- options = {
|
||||
-- cursorline = true,
|
||||
-- transparency = is_transparent,
|
||||
-- terminal_colors = true,
|
||||
-- },
|
||||
-- highlights = {
|
||||
-- -- overide cursor line fill colors
|
||||
-- LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
|
||||
-- CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
|
||||
-- CursorLine = { bg = "#333842" },
|
||||
-- Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor
|
||||
-- lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
|
||||
-- CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM|
|
||||
-- CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
|
||||
-- -- overide nvimtree folder icon fill color
|
||||
-- NvimTreeFolderIcon = { fg = "${gray}" },
|
||||
-- -- overide nvimtree text fill color folder opened
|
||||
-- NvimTreeOpenedFolderName = { fg = "${blue}" },
|
||||
-- -- overide nvimtree text fill color root folder
|
||||
-- NvimTreeRootFolder = { fg = "${yellow}" },
|
||||
-- NvimTreeSpecialFile = { fg = "${orange}" },
|
||||
-- NvimTreeWinSeparator = { fg = "#202329" },
|
||||
-- NvimTreeIndentMarker = { fg = "#3E4450" },
|
||||
-- -- overide indenline fill color
|
||||
-- IblIndent = { fg = "#3E4450" },
|
||||
-- -- overide cmp cursorline fill color with #333842
|
||||
-- PmenuSel = { bg = "#333842" },
|
||||
-- illuminatedWord = { bg = "#3b4261" },
|
||||
-- illuminatedCurWord = { bg = "#3b4261" },
|
||||
-- IlluminatedWordText = { bg = "#3b4261" },
|
||||
-- IlluminatedWordRead = { bg = "#3b4261" },
|
||||
-- IlluminatedWordWrite = { bg = "#3b4261" },
|
||||
-- StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" },
|
||||
-- StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" },
|
||||
-- BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" },
|
||||
-- ["@string.special.url.html"] = { fg = "${green}" },
|
||||
-- ["@text.uri.html"] = { fg = "${green}" },
|
||||
-- ["@tag.javascript"] = { fg = "${red}" },
|
||||
-- ["@tag.attribute"] = { fg = "${orange}", style = "italic" },
|
||||
-- ["@constructor.javascript"] = { fg = "${red}" },
|
||||
-- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names
|
||||
-- ["@variable.builtin"] = { fg = "${red}", style = "NONE" },
|
||||
-- ["@variable.member"] = "${cyan}",
|
||||
-- ["@variable.parameter"] = "${red}",
|
||||
-- ["@property"] = { fg = "${cyan}" }, -- similar to `@field`
|
||||
-- NvimTreeGitDirty = { fg = "${yellow}" },
|
||||
-- Pmenu = { fg = "${fg}", bg = "${bg}" },
|
||||
-- PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar.
|
||||
-- -- overide lualine fill color with bg color
|
||||
-- LualineNormal = { bg = "${bg}" },
|
||||
-- -- overide lualine_c fill color with bg color
|
||||
-- LualineC = { bg = "${bg}" },
|
||||
-- -- overide lualine_x fill color with bg color
|
||||
-- LualineX = { bg = "${bg}" },
|
||||
-- -- overide which-key fill color with bg color
|
||||
-- WhichKeySeperator = { bg = "${bg}" },
|
||||
-- -- overide which-key fill color with bg color
|
||||
-- WhichKeyDesc = { fg = "${red}" },
|
||||
-- -- overide which-key fill color with bg color
|
||||
-- WhichKeyFloat = { bg = "${bg}" },
|
||||
WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" },
|
||||
-- -- overide which-key fill color with bg color
|
||||
-- WhichKeyValue = { bg = "${bg}" },
|
||||
-- -- overide which-key fill color with bg color
|
||||
-- WhichKeyBorder = { bg = "${bg}" },
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- -- WhichKey = { bg = "${bg}" },
|
||||
-- -- -- overide which-key fill color with bg color
|
||||
-- -- WhichKeySeperator = { bg = "${bg}" },
|
||||
-- -- -- overide which-key fill color with bg color
|
||||
-- -- WhichKeyDesc = { fg = "${red}" },
|
||||
-- -- -- overide which-key fill color with bg color
|
||||
-- -- WhichKeyFloat = { bg = "${bg}" },
|
||||
-- WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" },
|
||||
-- -- -- overide which-key fill color with bg color
|
||||
-- -- WhichKeyValue = { bg = "${bg}" },
|
||||
-- -- -- overide which-key fill color with bg color
|
||||
-- -- WhichKeyBorder = { bg = "${bg}" },
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
}
|
||||
|
|
|
@ -17,10 +17,10 @@ return {
|
|||
-- require("user.lualine")
|
||||
-- end,
|
||||
-- },
|
||||
{ "RRethy/vim-illuminate", event = "InsertEnter", enabled = true },
|
||||
-- { "RRethy/vim-illuminate", event = "InsertEnter", enabled = true },
|
||||
-- { "cpea2506/one_monokai.nvim" },
|
||||
-- { "luisiacc/gruvbox-baby", lazy = true, enabled = false },
|
||||
-- { "projekt0n/github-nvim-theme", version = "v0.0.7" },
|
||||
-- { "stevearc/dressing.nvim", enabled = false },
|
||||
{ "karb94/neoscroll.nvim", enabled = false },
|
||||
-- { "karb94/neoscroll.nvim", enabled = false },
|
||||
}
|
||||
|
|
10
lua/plugins/breadcrumb.lua
Normal file
10
lua/plugins/breadcrumb.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
return {
|
||||
"SmiteshP/nvim-navic",
|
||||
lazy = true,
|
||||
dependencies = "neovim/nvim-lspconfig",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("user.breadcrumb")
|
||||
require("user.winbar")
|
||||
end,
|
||||
}
|
|
@ -43,10 +43,10 @@ return {
|
|||
color_icons = true,
|
||||
numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
|
||||
close_command = function(bufnum)
|
||||
require("bufdelete").bufdelete(bufnum, true)
|
||||
require("user.utils").bufremove(bufnum)
|
||||
end,
|
||||
right_mouse_command = function(bufnum)
|
||||
require("bufdelete").bufdelete(bufnum, true)
|
||||
require("user.utils").bufremove(bufnum)
|
||||
end,
|
||||
-- close_command = "bdelete! %d",
|
||||
-- right_mouse_command = "bdelete! %d",
|
58
lua/plugins/coderunner.lua
Normal file
58
lua/plugins/coderunner.lua
Normal file
|
@ -0,0 +1,58 @@
|
|||
local rfile = {
|
||||
java = "cd $dir && javac $fileName && java $fileNameWithoutExt",
|
||||
python = "python3 -u",
|
||||
--typescript = "deno run",
|
||||
typescript = "ts-node $dir/$fileName", -- npm install -g ts-node
|
||||
rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt",
|
||||
-- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt"
|
||||
cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
|
||||
scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css",
|
||||
javascript = 'node "$dir/$fileName"',
|
||||
}
|
||||
|
||||
local data_exists, runscript = pcall(require, "core.config")
|
||||
if data_exists then
|
||||
if runscript.coderunner ~= nil then
|
||||
rfile = vim.tbl_deep_extend("force", runscript.coderunner, rfile)
|
||||
end
|
||||
end
|
||||
return {
|
||||
"CRAG666/code_runner.nvim",
|
||||
lazy = true,
|
||||
cmd = { "RunCode", "RunFile", "RunProject", "RunClose" },
|
||||
opts = {
|
||||
-- put here the commands by filetype
|
||||
filetype = rfile,
|
||||
-- mode = "term",
|
||||
mode = "float",
|
||||
focus = true,
|
||||
startinsert = true,
|
||||
term = {
|
||||
--position = "vert",
|
||||
position = "bot",
|
||||
size = 50,
|
||||
},
|
||||
float = {
|
||||
-- Key that close the code_runner floating window
|
||||
close_key = "<ESC>",
|
||||
-- Window border (see ':h nvim_open_win')
|
||||
border = "rounded",
|
||||
|
||||
-- Num from `0 - 1` for measurements
|
||||
height = 0.8,
|
||||
width = 0.8,
|
||||
x = 0.5,
|
||||
y = 0.5,
|
||||
|
||||
-- Highlight group for floating window/border (see ':h winhl')
|
||||
border_hl = "FloatBorder",
|
||||
float_hl = "Normal",
|
||||
|
||||
-- Transparency (see ':h winblend')
|
||||
blend = 0,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("code_runner").setup(opts)
|
||||
end,
|
||||
}
|
25
lua/plugins/colorizer.lua
Normal file
25
lua/plugins/colorizer.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
lazy = true,
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
opts = {
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = true, -- "Name" codes like Blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes: foreground, background
|
||||
mode = "background", -- Set the display mode.
|
||||
tailwind = true,
|
||||
},
|
||||
filetypes = {
|
||||
"*", -- Highlight all files, but customize some others.
|
||||
css = { rgb_fn = true }, -- Enable parsing rgb(...) functions in css.
|
||||
html = { names = false }, -- Disable parsing "names" like Blue or Gray
|
||||
},
|
||||
},
|
||||
}
|
12
lua/plugins/comment.lua
Normal file
12
lua/plugins/comment.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
return {
|
||||
"numToStr/Comment.nvim",
|
||||
lazy = true,
|
||||
opts = function()
|
||||
return {
|
||||
pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(),
|
||||
}
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("Comment").setup(opts)
|
||||
end,
|
||||
}
|
22
lua/plugins/dap.lua
Normal file
22
lua/plugins/dap.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
return {
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = "mfussenegger/nvim-dap",
|
||||
enabled = vim.fn.has("win32") == 0,
|
||||
config = function()
|
||||
require("user.dapui")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
|
||||
enabled = vim.fn.has("win32") == 0,
|
||||
config = function()
|
||||
require("user.mason_dap")
|
||||
end,
|
||||
},
|
||||
}
|
34
lua/plugins/dressing.lua
Normal file
34
lua/plugins/dressing.lua
Normal file
|
@ -0,0 +1,34 @@
|
|||
return {
|
||||
"stevearc/dressing.nvim",
|
||||
lazy = true,
|
||||
init = function()
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
vim.ui.select = function(...)
|
||||
require("lazy").load({ plugins = { "dressing.nvim" } })
|
||||
return vim.ui.select(...)
|
||||
end
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
vim.ui.input = function(...)
|
||||
require("lazy").load({ plugins = { "dressing.nvim" } })
|
||||
return vim.ui.input(...)
|
||||
end
|
||||
end,
|
||||
opts = {
|
||||
input = {
|
||||
title_pos = "center",
|
||||
relative = "editor",
|
||||
default_prompt = "➤ ",
|
||||
win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" },
|
||||
prefer_width = 30,
|
||||
max_width = { 140, 0.9 },
|
||||
min_width = { 50, 0.2 },
|
||||
},
|
||||
select = {
|
||||
backend = { "telescope", "builtin" },
|
||||
builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } },
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("dressing").setup(opts)
|
||||
end,
|
||||
}
|
75
lua/plugins/gitsigns.lua
Normal file
75
lua/plugins/gitsigns.lua
Normal file
|
@ -0,0 +1,75 @@
|
|||
local icons = require("user.icons")
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
lazy = true,
|
||||
enabled = vim.fn.executable("git") == 1,
|
||||
ft = "gitcommit",
|
||||
event = "BufRead",
|
||||
opts = {
|
||||
signs = {
|
||||
add = {
|
||||
hl = "GitSignsAdd",
|
||||
text = icons.ui.BoldLineLeft,
|
||||
numhl = "GitSignsAddNr",
|
||||
linehl = "GitSignsAddLn",
|
||||
},
|
||||
change = {
|
||||
hl = "GitSignsChange",
|
||||
text = icons.ui.BoldLineLeft,
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
delete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = icons.ui.Triangle,
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
topdelete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = icons.ui.Triangle,
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
changedelete = {
|
||||
hl = "GitSignsChange",
|
||||
text = icons.ui.BoldLineLeft,
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
},
|
||||
signcolumn = true,
|
||||
numhl = false,
|
||||
linehl = false,
|
||||
word_diff = false,
|
||||
watch_gitdir = {
|
||||
interval = 1000,
|
||||
follow_files = true,
|
||||
},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 1000,
|
||||
ignore_whitespace = false,
|
||||
},
|
||||
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
|
||||
sign_priority = 6,
|
||||
status_formatter = nil, -- Use default
|
||||
update_debounce = 200,
|
||||
max_file_length = 40000,
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = "rounded",
|
||||
style = "minimal",
|
||||
relative = "cursor",
|
||||
row = 0,
|
||||
col = 1,
|
||||
},
|
||||
yadm = { enable = false },
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("gitsigns").setup(opts)
|
||||
end,
|
||||
}
|
39
lua/plugins/indentblankline.lua
Normal file
39
lua/plugins/indentblankline.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
-- version = "3.5.4",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
lazy = true,
|
||||
opts = {
|
||||
indent = {
|
||||
char = "│",
|
||||
tab_char = "│",
|
||||
},
|
||||
scope = { enabled = false },
|
||||
exclude = {
|
||||
buftypes = {
|
||||
"nofile",
|
||||
"prompt",
|
||||
"quickfix",
|
||||
"terminal",
|
||||
},
|
||||
filetypes = {
|
||||
"help",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"neo-tree",
|
||||
"Trouble",
|
||||
"trouble",
|
||||
"lazy",
|
||||
"mason",
|
||||
"notify",
|
||||
"toggleterm",
|
||||
"lazyterm",
|
||||
"NvimTree",
|
||||
"aerial",
|
||||
"neogitstatus",
|
||||
"startify",
|
||||
},
|
||||
},
|
||||
},
|
||||
main = "ibl",
|
||||
}
|
|
@ -1,371 +0,0 @@
|
|||
return {
|
||||
-- plugin ini merupakan penyedia library neovim lua
|
||||
{
|
||||
"nvim-lua/plenary.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
-- coloring code
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
cmd = {
|
||||
"TSBufDisable",
|
||||
"TSBufEnable",
|
||||
"TSBufToggle",
|
||||
"TSDisable",
|
||||
"TSEnable",
|
||||
"TSToggle",
|
||||
"TSInstall",
|
||||
"TSInstallInfo",
|
||||
"TSInstallSync",
|
||||
"TSModuleInfo",
|
||||
"TSUninstall",
|
||||
"TSUpdate",
|
||||
"TSUpdateSync",
|
||||
},
|
||||
build = function()
|
||||
local status_ok, ts = pcall(require, "nvim-treesitter.install")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
ts.update({ with_sync = true })()
|
||||
end,
|
||||
config = function()
|
||||
local status_ok, _ = pcall(require, "nvim-treesitter")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
require("user.treesitter")
|
||||
end,
|
||||
},
|
||||
-- snippets
|
||||
{
|
||||
"rafamadriz/friendly-snippets",
|
||||
event = "InsertEnter",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("user.snippets")
|
||||
require("user.snip")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
lazy = true,
|
||||
opts = {
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
|
||||
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
|
||||
},
|
||||
},
|
||||
-- for formater linter
|
||||
{
|
||||
"RRethy/vim-illuminate",
|
||||
event = "BufRead",
|
||||
lazy = true,
|
||||
config = function()
|
||||
local status_ok, illuminate = pcall(require, "illuminate")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
illuminate.configure({
|
||||
options = {
|
||||
providers = {
|
||||
"lsp",
|
||||
"treesitter",
|
||||
"regex",
|
||||
},
|
||||
-- delay: delay in milliseconds
|
||||
delay = 120,
|
||||
-- filetype_overrides: filetype specific overrides.
|
||||
-- The keys are strings to represent the filetype while the values are tables that
|
||||
-- supports the same keys passed to .configure except for filetypes_denylist and filetypes_allowlist
|
||||
filetype_overrides = {},
|
||||
-- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist
|
||||
filetypes_denylist = {
|
||||
"dirvish",
|
||||
"fugitive",
|
||||
"alpha",
|
||||
"NvimTree",
|
||||
"lazy",
|
||||
"neogitstatus",
|
||||
"Trouble",
|
||||
"lir",
|
||||
"Outline",
|
||||
"spectre_panel",
|
||||
"toggleterm",
|
||||
"DressingSelect",
|
||||
"TelescopePrompt",
|
||||
},
|
||||
-- filetypes_allowlist: filetypes to illuminate, this is overridden by filetypes_denylist
|
||||
filetypes_allowlist = {},
|
||||
-- modes_denylist: modes to not illuminate, this overrides modes_allowlist
|
||||
modes_denylist = {},
|
||||
-- modes_allowlist: modes to illuminate, this is overridden by modes_denylist
|
||||
modes_allowlist = {},
|
||||
-- providers_regex_syntax_denylist: syntax to not illuminate, this overrides providers_regex_syntax_allowlist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_denylist = {},
|
||||
-- providers_regex_syntax_allowlist: syntax to illuminate, this is overridden by providers_regex_syntax_denylist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_allowlist = {},
|
||||
-- under_cursor: whether or not to illuminate under the cursor
|
||||
under_cursor = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- debuging
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = "mfussenegger/nvim-dap",
|
||||
enabled = vim.fn.has("win32") == 0,
|
||||
config = function()
|
||||
require("user.dapui")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
|
||||
enabled = vim.fn.has("win32") == 0,
|
||||
config = function()
|
||||
require("user.mason_dap")
|
||||
end,
|
||||
},
|
||||
-- auto pairs
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
lazy = true,
|
||||
dependencies = "hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("user.autopairs")
|
||||
end,
|
||||
},
|
||||
-- untuk comment
|
||||
{
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
lazy = true,
|
||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
config = function()
|
||||
require("ts_context_commentstring").setup({
|
||||
enable_autocmd = false,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"numToStr/Comment.nvim",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("user.comment")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
version = "3.5.4",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
lazy = true,
|
||||
opts = {
|
||||
indent = {
|
||||
char = "│",
|
||||
tab_char = "│",
|
||||
},
|
||||
scope = { enabled = false },
|
||||
exclude = {
|
||||
buftypes = {
|
||||
"nofile",
|
||||
"prompt",
|
||||
"quickfix",
|
||||
"terminal",
|
||||
},
|
||||
filetypes = {
|
||||
"help",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"neo-tree",
|
||||
"Trouble",
|
||||
"trouble",
|
||||
"lazy",
|
||||
"mason",
|
||||
"notify",
|
||||
"toggleterm",
|
||||
"lazyterm",
|
||||
"NvimTree",
|
||||
"aerial",
|
||||
"neogitstatus",
|
||||
"startify",
|
||||
},
|
||||
},
|
||||
},
|
||||
main = "ibl",
|
||||
},
|
||||
-- for multi cursor select
|
||||
{
|
||||
"mg979/vim-visual-multi",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
lazy = true,
|
||||
init = function()
|
||||
vim.g.VM_mouse_mappings = 1 -- equal CTRL + Left Click on VSCODE
|
||||
vim.g.VM_maps = {
|
||||
["Find Under"] = "<C-d>", -- equal CTRL+D on VSCODE
|
||||
["Find Subword Under"] = "<C-d>", -- equal CTRL+D on VSCODE
|
||||
["Select Cursor Down"] = "<M-C-Down>", -- equal CTRL+ALT+DOWN on VSCODE
|
||||
["Select Cursor Up"] = "<M-C-Up>", -- equal CTRL+ALT+UP on VSCODE
|
||||
}
|
||||
end,
|
||||
},
|
||||
-- for auto close tag
|
||||
{
|
||||
"windwp/nvim-ts-autotag",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
config = function()
|
||||
require("nvim-ts-autotag").setup()
|
||||
end,
|
||||
},
|
||||
-- for auto detection file and run code
|
||||
{
|
||||
"CRAG666/code_runner.nvim",
|
||||
lazy = true,
|
||||
cmd = { "RunCode", "RunFile", "RunProject", "RunClose" },
|
||||
config = function()
|
||||
require("user.coderunner")
|
||||
end,
|
||||
},
|
||||
-- for color view
|
||||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
lazy = true,
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
opts = {
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = true, -- "Name" codes like Blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes: foreground, background
|
||||
mode = "background", -- Set the display mode.
|
||||
tailwind = true,
|
||||
},
|
||||
filetypes = {
|
||||
"*", -- Highlight all files, but customize some others.
|
||||
css = { rgb_fn = true }, -- Enable parsing rgb(...) functions in css.
|
||||
html = { names = false }, -- Disable parsing "names" like Blue or Gray
|
||||
},
|
||||
},
|
||||
},
|
||||
-- for winbar icon
|
||||
{
|
||||
"SmiteshP/nvim-navic",
|
||||
lazy = true,
|
||||
dependencies = "neovim/nvim-lspconfig",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("user.breadcrumb")
|
||||
require("user.winbar")
|
||||
end,
|
||||
},
|
||||
-- for popup alert
|
||||
{
|
||||
"rcarriga/nvim-notify",
|
||||
lazy = true,
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<leader>un",
|
||||
function()
|
||||
require("notify").dismiss({ silent = true, pending = true })
|
||||
end,
|
||||
desc = "Delete all Notifications",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
timeout = 3000,
|
||||
max_height = function()
|
||||
return math.floor(vim.o.lines * 0.75)
|
||||
end,
|
||||
max_width = function()
|
||||
return math.floor(vim.o.columns * 0.75)
|
||||
end,
|
||||
},
|
||||
-- event = "BufWinEnter",
|
||||
config = function()
|
||||
local notify = require("notify")
|
||||
-- this for transparency
|
||||
notify.setup({ background_colour = "#000000" })
|
||||
-- this overwrites the vim notify function
|
||||
vim.notify = notify.notify
|
||||
end,
|
||||
},
|
||||
-- for resize screen
|
||||
{
|
||||
"mrjones2014/smart-splits.nvim",
|
||||
lazy = true,
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
config = function()
|
||||
require("user.smartspit")
|
||||
end,
|
||||
},
|
||||
-- for popup input
|
||||
{
|
||||
"stevearc/dressing.nvim",
|
||||
lazy = true,
|
||||
init = function()
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
vim.ui.select = function(...)
|
||||
require("lazy").load({ plugins = { "dressing.nvim" } })
|
||||
return vim.ui.select(...)
|
||||
end
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
vim.ui.input = function(...)
|
||||
require("lazy").load({ plugins = { "dressing.nvim" } })
|
||||
return vim.ui.input(...)
|
||||
end
|
||||
end,
|
||||
config = function()
|
||||
require("user.dressing")
|
||||
end,
|
||||
}, -- mini scrollview
|
||||
{
|
||||
"dstein64/nvim-scrollview",
|
||||
lazy = true,
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
config = function()
|
||||
require("user.nvimscroll")
|
||||
end,
|
||||
},
|
||||
-- for check startuptime
|
||||
{ "dstein64/vim-startuptime", lazy = true, cmd = "StartupTime" },
|
||||
-- {
|
||||
-- "HiPhish/nvim-ts-rainbow2",
|
||||
-- lazy = true,
|
||||
-- event = "BufRead",
|
||||
-- dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
-- },
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
lazy = true,
|
||||
enabled = vim.fn.executable("git") == 1,
|
||||
ft = "gitcommit",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
require("user.gitsigns")
|
||||
end,
|
||||
},
|
||||
}
|
8
lua/plugins/neoscroll.lua
Normal file
8
lua/plugins/neoscroll.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
return {
|
||||
"karb94/neoscroll.nvim",
|
||||
event = "VeryLazy",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("neoscroll").setup()
|
||||
end,
|
||||
}
|
31
lua/plugins/notify.lua
Normal file
31
lua/plugins/notify.lua
Normal file
|
@ -0,0 +1,31 @@
|
|||
return {
|
||||
"rcarriga/nvim-notify",
|
||||
lazy = true,
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<leader>un",
|
||||
function()
|
||||
require("notify").dismiss({ silent = true, pending = true })
|
||||
end,
|
||||
desc = "Delete all Notifications",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
timeout = 3000,
|
||||
max_height = function()
|
||||
return math.floor(vim.o.lines * 0.75)
|
||||
end,
|
||||
max_width = function()
|
||||
return math.floor(vim.o.columns * 0.75)
|
||||
end,
|
||||
},
|
||||
-- event = "BufWinEnter",
|
||||
config = function()
|
||||
local notify = require("notify")
|
||||
-- this for transparency
|
||||
notify.setup({ background_colour = "#000000" })
|
||||
-- this overwrites the vim notify function
|
||||
vim.notify = notify.notify
|
||||
end,
|
||||
}
|
229
lua/plugins/nvimtree.lua
Normal file
229
lua/plugins/nvimtree.lua
Normal file
|
@ -0,0 +1,229 @@
|
|||
local icons = require("user.icons")
|
||||
return {
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
lazy = true,
|
||||
cmd = { "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" },
|
||||
opts = {
|
||||
auto_reload_on_write = false,
|
||||
disable_netrw = false,
|
||||
hijack_cursor = false,
|
||||
hijack_netrw = true,
|
||||
hijack_unnamed_buffer_when_opening = false,
|
||||
sort_by = "name",
|
||||
root_dirs = {},
|
||||
prefer_startup_root = false,
|
||||
sync_root_with_cwd = true,
|
||||
reload_on_bufenter = false,
|
||||
respect_buf_cwd = false,
|
||||
on_attach = "default",
|
||||
select_prompts = false,
|
||||
view = {
|
||||
adaptive_size = false,
|
||||
centralize_selection = true,
|
||||
width = 30,
|
||||
side = "left",
|
||||
preserve_window_proportions = false,
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "yes",
|
||||
float = {
|
||||
enable = false,
|
||||
quit_on_focus_loss = true,
|
||||
open_win_config = {
|
||||
relative = "editor",
|
||||
border = "rounded",
|
||||
width = 30,
|
||||
height = 30,
|
||||
row = 1,
|
||||
col = 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
renderer = {
|
||||
add_trailing = false,
|
||||
group_empty = false,
|
||||
highlight_git = true,
|
||||
full_name = false,
|
||||
highlight_opened_files = "none",
|
||||
-- root_folder_label = ":t",
|
||||
root_folder_label = false,
|
||||
indent_width = 2,
|
||||
indent_markers = {
|
||||
enable = true,
|
||||
inline_arrows = true,
|
||||
icons = {
|
||||
corner = "└",
|
||||
edge = "│",
|
||||
item = "│",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
webdev_colors = true,
|
||||
git_placement = "before",
|
||||
padding = " ",
|
||||
symlink_arrow = " ➛ ",
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
folder_arrow = true,
|
||||
git = true,
|
||||
},
|
||||
glyphs = {
|
||||
default = icons.ui.Text,
|
||||
symlink = icons.ui.FileSymlink,
|
||||
bookmark = icons.ui.BookMark,
|
||||
folder = {
|
||||
-- arrow_closed = icons.ui.TriangleShortArrowRight,
|
||||
arrow_closed = icons.ui.ChevronShortRight,
|
||||
-- arrow_open = icons.ui.TriangleShortArrowDown,
|
||||
arrow_open = icons.ui.ChevronShortDown,
|
||||
default = icons.ui.Folder,
|
||||
open = icons.ui.FolderOpen,
|
||||
empty = icons.ui.EmptyFolder,
|
||||
empty_open = icons.ui.EmptyFolderOpen,
|
||||
symlink = icons.ui.FolderSymlink,
|
||||
symlink_open = icons.ui.FolderOpen,
|
||||
},
|
||||
git = {
|
||||
unstaged = icons.git.FileUnstaged,
|
||||
staged = icons.git.FileStaged,
|
||||
unmerged = icons.git.FileUnmerged,
|
||||
renamed = icons.git.FileRenamed,
|
||||
untracked = icons.git.FileUntracked,
|
||||
deleted = icons.git.FileDeleted,
|
||||
ignored = icons.git.FileIgnored,
|
||||
},
|
||||
},
|
||||
},
|
||||
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
|
||||
symlink_destination = true,
|
||||
},
|
||||
hijack_directories = {
|
||||
enable = false,
|
||||
auto_open = true,
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
debounce_delay = 15,
|
||||
update_root = true,
|
||||
ignore_list = {},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = false,
|
||||
show_on_open_dirs = true,
|
||||
debounce_delay = 50,
|
||||
severity = {
|
||||
min = vim.diagnostic.severity.HINT,
|
||||
max = vim.diagnostic.severity.ERROR,
|
||||
},
|
||||
icons = {
|
||||
hint = icons.diagnostics.BoldHint,
|
||||
info = icons.diagnostics.BoldInformation,
|
||||
warning = icons.diagnostics.BoldWarning,
|
||||
error = icons.diagnostics.BoldError,
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
git_clean = false,
|
||||
no_buffer = false,
|
||||
custom = { "node_modules", "\\.cache", "\\.git" },
|
||||
exclude = {
|
||||
".gitignore",
|
||||
".prettierignore",
|
||||
},
|
||||
},
|
||||
filesystem_watchers = {
|
||||
enable = true,
|
||||
debounce_delay = 50,
|
||||
ignore_dirs = {},
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = false,
|
||||
show_on_dirs = true,
|
||||
show_on_open_dirs = true,
|
||||
disable_for_dirs = {},
|
||||
timeout = 400,
|
||||
},
|
||||
actions = {
|
||||
use_system_clipboard = true,
|
||||
change_dir = {
|
||||
enable = true,
|
||||
global = false,
|
||||
restrict_above_cwd = false,
|
||||
},
|
||||
expand_all = {
|
||||
max_folder_discovery = 300,
|
||||
exclude = {},
|
||||
},
|
||||
file_popup = {
|
||||
open_win_config = {
|
||||
col = 1,
|
||||
row = 1,
|
||||
relative = "cursor",
|
||||
border = "shadow",
|
||||
style = "minimal",
|
||||
},
|
||||
},
|
||||
open_file = {
|
||||
quit_on_open = false,
|
||||
resize_window = false,
|
||||
window_picker = {
|
||||
enable = true,
|
||||
picker = "default",
|
||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||
exclude = {
|
||||
filetype = { "notify", "lazy", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||
buftype = { "nofile", "terminal", "help" },
|
||||
},
|
||||
},
|
||||
},
|
||||
remove_file = {
|
||||
close_window = true,
|
||||
},
|
||||
},
|
||||
trash = {
|
||||
cmd = "trash",
|
||||
require_confirm = true,
|
||||
},
|
||||
live_filter = {
|
||||
prefix = "[FILTER]: ",
|
||||
always_show_folders = true,
|
||||
},
|
||||
tab = {
|
||||
sync = {
|
||||
open = false,
|
||||
close = false,
|
||||
ignore = {},
|
||||
},
|
||||
},
|
||||
notify = {
|
||||
threshold = vim.log.levels.INFO,
|
||||
-- threshold = vim.log.levels.ERROR,
|
||||
},
|
||||
log = {
|
||||
enable = false,
|
||||
truncate = false,
|
||||
types = {
|
||||
all = false,
|
||||
config = false,
|
||||
copy_paste = false,
|
||||
dev = false,
|
||||
diagnostics = false,
|
||||
git = false,
|
||||
profile = false,
|
||||
watcher = false,
|
||||
},
|
||||
},
|
||||
system_open = {
|
||||
cmd = nil,
|
||||
args = {},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("nvim-tree").setup(opts)
|
||||
end,
|
||||
}
|
4
lua/plugins/plenary.lua
Normal file
4
lua/plugins/plenary.lua
Normal file
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
"nvim-lua/plenary.nvim",
|
||||
lazy = true,
|
||||
}
|
13
lua/plugins/scrollview.lua
Normal file
13
lua/plugins/scrollview.lua
Normal file
|
@ -0,0 +1,13 @@
|
|||
return {
|
||||
"dstein64/nvim-scrollview",
|
||||
lazy = true,
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
opts = {
|
||||
bg = "LightCyan",
|
||||
ctermbg = 160,
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("scrollview").setup(opts)
|
||||
vim.g.scrollview_excluded_filetypes = { "NvimTree", "vista_kind", "Outline", "neo-tree" }
|
||||
end,
|
||||
}
|
21
lua/plugins/smartsplit.lua
Normal file
21
lua/plugins/smartsplit.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
return {
|
||||
"mrjones2014/smart-splits.nvim",
|
||||
lazy = true,
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
opts = {
|
||||
ignored_filetypes = {
|
||||
"nofile",
|
||||
"quickfix",
|
||||
"qf",
|
||||
"prompt",
|
||||
},
|
||||
ignored_buftypes = { "nofile" },
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("smart-splits").setup(opts)
|
||||
vim.keymap.set("n", "<C-Left>", require("smart-splits").resize_left)
|
||||
vim.keymap.set("n", "<C-Down>", require("smart-splits").resize_down)
|
||||
vim.keymap.set("n", "<C-Up", require("smart-splits").resize_up)
|
||||
vim.keymap.set("n", "<C-Right>", require("smart-splits").resize_right)
|
||||
end,
|
||||
}
|
25
lua/plugins/snippets.lua
Normal file
25
lua/plugins/snippets.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
{
|
||||
"rafamadriz/friendly-snippets",
|
||||
event = "InsertEnter",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("user.snippets")
|
||||
require("user.snip")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
lazy = true,
|
||||
opts = {
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
|
||||
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
|
||||
},
|
||||
},
|
||||
}
|
1
lua/plugins/startuptime.lua
Normal file
1
lua/plugins/startuptime.lua
Normal file
|
@ -0,0 +1 @@
|
|||
return { "dstein64/vim-startuptime", lazy = true, cmd = "StartupTime" }
|
172
lua/plugins/telescope.lua
Normal file
172
lua/plugins/telescope.lua
Normal file
|
@ -0,0 +1,172 @@
|
|||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
lazy = true,
|
||||
cmd = "Telescope",
|
||||
version = false,
|
||||
opts = function()
|
||||
local actions = require("telescope.actions")
|
||||
vim.g.theme_switcher_loaded = true
|
||||
return {
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
"-L",
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
"--smart-case",
|
||||
},
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
entry_prefix = " ",
|
||||
initial_mode = "insert",
|
||||
selection_strategy = "reset",
|
||||
sorting_strategy = "ascending",
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = {
|
||||
horizontal = {
|
||||
prompt_position = "top",
|
||||
preview_width = 0.55,
|
||||
results_width = 0.8,
|
||||
},
|
||||
vertical = {
|
||||
mirror = false,
|
||||
},
|
||||
width = 0.87,
|
||||
height = 0.80,
|
||||
preview_cutoff = 120,
|
||||
},
|
||||
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
||||
file_ignore_patterns = { "node_modules" },
|
||||
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
||||
path_display = { "smart" },
|
||||
winblend = 0,
|
||||
border = {},
|
||||
borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
||||
color_devicons = true,
|
||||
set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
|
||||
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
||||
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker,
|
||||
mappings = {
|
||||
n = { ["q"] = require("telescope.actions").close },
|
||||
},
|
||||
},
|
||||
|
||||
extensions_list = { "themes", "terms" },
|
||||
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true,
|
||||
},
|
||||
live_grep = {
|
||||
--@usage don't include the filename in the search results
|
||||
only_sort_text = true,
|
||||
},
|
||||
grep_string = {
|
||||
only_sort_text = true,
|
||||
},
|
||||
buffers = {
|
||||
initial_mode = "normal",
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-d>"] = actions.delete_buffer,
|
||||
},
|
||||
n = {
|
||||
["dd"] = actions.delete_buffer,
|
||||
},
|
||||
},
|
||||
},
|
||||
planets = {
|
||||
show_pluto = true,
|
||||
show_moon = true,
|
||||
},
|
||||
git_files = {
|
||||
hidden = true,
|
||||
show_untracked = true,
|
||||
},
|
||||
colorscheme = {
|
||||
enable_preview = true,
|
||||
},
|
||||
},
|
||||
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-n>"] = actions.cycle_history_next,
|
||||
["<C-p>"] = actions.cycle_history_prev,
|
||||
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
|
||||
["<C-c>"] = actions.close,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
["<Up>"] = actions.move_selection_previous,
|
||||
|
||||
["<CR>"] = actions.select_default,
|
||||
["<C-x>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
|
||||
["<C-u>"] = actions.preview_scrolling_up,
|
||||
["<C-d>"] = actions.preview_scrolling_down,
|
||||
|
||||
["<PageUp>"] = actions.results_scrolling_up,
|
||||
["<PageDown>"] = actions.results_scrolling_down,
|
||||
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
["<C-l>"] = actions.complete_tag,
|
||||
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
|
||||
},
|
||||
|
||||
n = {
|
||||
["<esc>"] = actions.close,
|
||||
["<CR>"] = actions.select_default,
|
||||
["<C-x>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
|
||||
["j"] = actions.move_selection_next,
|
||||
["k"] = actions.move_selection_previous,
|
||||
["H"] = actions.move_to_top,
|
||||
["M"] = actions.move_to_middle,
|
||||
["L"] = actions.move_to_bottom,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
["<Up>"] = actions.move_selection_previous,
|
||||
["gg"] = actions.move_to_top,
|
||||
["G"] = actions.move_to_bottom,
|
||||
|
||||
["<C-u>"] = actions.preview_scrolling_up,
|
||||
["<C-d>"] = actions.preview_scrolling_down,
|
||||
|
||||
["<PageUp>"] = actions.results_scrolling_up,
|
||||
["<PageDown>"] = actions.results_scrolling_down,
|
||||
|
||||
["?"] = actions.which_key,
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("telescope").setup(opts)
|
||||
-- load extensions
|
||||
pcall(function()
|
||||
for _, ext in ipairs(opts.extensions_list) do
|
||||
require("telescope").load_extension(ext)
|
||||
end
|
||||
end)
|
||||
end,
|
||||
}
|
49
lua/plugins/toggleterm.lua
Normal file
49
lua/plugins/toggleterm.lua
Normal file
|
@ -0,0 +1,49 @@
|
|||
return {
|
||||
"akinsho/toggleterm.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"ToggleTerm",
|
||||
"TermExec",
|
||||
"ToggleTermToggleAll",
|
||||
"ToggleTermSendCurrentLine",
|
||||
"ToggleTermSendVisualLines",
|
||||
"ToggleTermSendVisualSelection",
|
||||
},
|
||||
branch = "main",
|
||||
enabled = true,
|
||||
opts = {
|
||||
size = 20,
|
||||
open_mapping = [[<c-\>]],
|
||||
hide_numbers = true,
|
||||
shade_filetypes = {},
|
||||
shade_terminals = true,
|
||||
shading_factor = 2,
|
||||
start_in_insert = true,
|
||||
insert_mappings = true,
|
||||
persist_size = true,
|
||||
direction = "float",
|
||||
close_on_exit = true,
|
||||
shell = vim.o.shell,
|
||||
float_opts = {
|
||||
border = "curved",
|
||||
winblend = 0,
|
||||
highlights = {
|
||||
border = "Normal",
|
||||
background = "Normal",
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("toggleterm").setup(opts)
|
||||
function _G.set_terminal_keymaps()
|
||||
local optsn = { noremap = true }
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<esc>", [[<C-\><C-n>]], optsn)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "jk", [[<C-\><C-n>]], optsn)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-h>", [[<C-\><C-n><C-W>h]], optsn)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-j>", [[<C-\><C-n><C-W>j]], optsn)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-k>", [[<C-\><C-n><C-W>k]], optsn)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-l>", [[<C-\><C-n><C-W>l]], optsn)
|
||||
end
|
||||
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|
||||
end,
|
||||
}
|
184
lua/plugins/treesitter.lua
Normal file
184
lua/plugins/treesitter.lua
Normal file
|
@ -0,0 +1,184 @@
|
|||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {
|
||||
{
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("ts_context_commentstring").setup({
|
||||
enable_autocmd = false,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
lazy = true,
|
||||
dependencies = "hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
opts = {
|
||||
check_ts = true,
|
||||
ts_config = {
|
||||
lua = { "string", "source" },
|
||||
javascript = { "string", "template_string" },
|
||||
java = false,
|
||||
},
|
||||
disable_filetype = { "TelescopePrompt", "spectre_panel" },
|
||||
fast_wrap = {
|
||||
map = "<M-e>",
|
||||
chars = { "{", "[", "(", '"', "'", "`" },
|
||||
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
|
||||
offset = 0, -- Offset from pattern match
|
||||
end_key = "$",
|
||||
keys = "qwertyuiopzxcvbnmasdfghjkl",
|
||||
check_comma = true,
|
||||
highlight = "PmenuSel",
|
||||
highlight_grey = "LineNr",
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("nvim-autopairs").setup(opts)
|
||||
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||
if not cmp_status_ok then
|
||||
return
|
||||
end
|
||||
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))
|
||||
end,
|
||||
},
|
||||
},
|
||||
version = false, -- last release is way too old and doesn't work on Windows
|
||||
build = ":TSUpdate",
|
||||
-- event = { "LazyFile", "VeryLazy" },
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"TSInstall",
|
||||
"TSUninstall",
|
||||
"TSUpdate",
|
||||
"TSUpdateSync",
|
||||
"TSInstallInfo",
|
||||
"TSInstallSync",
|
||||
"TSInstallFromGrammar",
|
||||
},
|
||||
event = { "BufRead", "VeryLazy" },
|
||||
opts = {
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
ensure_installed = {
|
||||
"lua",
|
||||
"vim",
|
||||
"vimdoc",
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
---@type table<string, boolean>
|
||||
local added = {}
|
||||
opts.ensure_installed = vim.tbl_filter(function(lang)
|
||||
if added[lang] then
|
||||
return false
|
||||
end
|
||||
added[lang] = true
|
||||
return true
|
||||
end, opts.ensure_installed)
|
||||
end
|
||||
require("nvim-treesitter.configs").setup(opts)
|
||||
vim.schedule(function()
|
||||
require("lazy").load({ plugins = { "nvim-treesitter-textobjects" } })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
lazy = true,
|
||||
config = function()
|
||||
-- When in diff mode, we want to use the default
|
||||
-- vim text objects c & C instead of the treesitter ones.
|
||||
local move = require("nvim-treesitter.textobjects.move") ---@type table<string,fun(...)>
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
for name, fn in pairs(move) do
|
||||
if name:find("goto") == 1 then
|
||||
move[name] = function(q, ...)
|
||||
if vim.wo.diff then
|
||||
local config = configs.get_module("textobjects.move")[name] ---@type table<string,string>
|
||||
for key, query in pairs(config or {}) do
|
||||
if q == query and key:find("[%]%[][cC]") then
|
||||
vim.cmd("normal! " .. key)
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
return fn(q, ...)
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- Automatically add closing tags for HTML and JSX
|
||||
{
|
||||
"windwp/nvim-ts-autotag",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
opts = {},
|
||||
},
|
||||
|
||||
{
|
||||
"RRethy/vim-illuminate",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
opts = {
|
||||
options = {
|
||||
-- providers: provider used to get references in the buffer, ordered by priority
|
||||
providers = {
|
||||
"lsp",
|
||||
"treesitter",
|
||||
"regex",
|
||||
},
|
||||
-- delay: delay in milliseconds
|
||||
delay = 120,
|
||||
-- filetype_overrides: filetype specific overrides.
|
||||
-- The keys are strings to represent the filetype while the values are tables that
|
||||
-- supports the same keys passed to .configure except for filetypes_denylist and filetypes_allowlist
|
||||
filetype_overrides = {},
|
||||
-- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist
|
||||
filetypes_denylist = {
|
||||
"dirvish",
|
||||
"fugitive",
|
||||
"alpha",
|
||||
"NvimTree",
|
||||
"lazy",
|
||||
"neogitstatus",
|
||||
"Trouble",
|
||||
"lir",
|
||||
"Outline",
|
||||
"spectre_panel",
|
||||
"toggleterm",
|
||||
"DressingSelect",
|
||||
"TelescopePrompt",
|
||||
},
|
||||
-- filetypes_allowlist: filetypes to illuminate, this is overridden by filetypes_denylist
|
||||
filetypes_allowlist = {},
|
||||
-- modes_denylist: modes to not illuminate, this overrides modes_allowlist
|
||||
modes_denylist = {},
|
||||
-- modes_allowlist: modes to illuminate, this is overridden by modes_denylist
|
||||
modes_allowlist = {},
|
||||
-- providers_regex_syntax_denylist: syntax to not illuminate, this overrides providers_regex_syntax_allowlist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_denylist = {},
|
||||
-- providers_regex_syntax_allowlist: syntax to illuminate, this is overridden by providers_regex_syntax_denylist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_allowlist = {},
|
||||
-- under_cursor: whether or not to illuminate under the cursor
|
||||
under_cursor = true,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("illuminate").configure(opts)
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -17,52 +17,6 @@ return {
|
|||
require("user.lualine_cfg")
|
||||
end,
|
||||
},
|
||||
-- for show icon
|
||||
{
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
lazy = true,
|
||||
dependencies = { "pojokcodeid/nvim-material-icon" },
|
||||
config = function()
|
||||
require("user.webdevicons")
|
||||
end,
|
||||
},
|
||||
-- for tree exploler
|
||||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
lazy = true,
|
||||
cmd = { "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" },
|
||||
config = function()
|
||||
local data_exists, treeconfig = pcall(require, "core.config")
|
||||
if data_exists then
|
||||
if treeconfig.loadnvimtree_lazy then
|
||||
require("user.nvim-tree")
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- for file tab
|
||||
{
|
||||
"famiu/bufdelete.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
lazy = true,
|
||||
branch = "main",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
config = function()
|
||||
require("user.bufferline")
|
||||
end,
|
||||
},
|
||||
-- for view terminal
|
||||
{
|
||||
"akinsho/toggleterm.nvim",
|
||||
lazy = true,
|
||||
cmd = { "ToggleTerm" },
|
||||
config = function()
|
||||
require("user.toggleterm")
|
||||
end,
|
||||
},
|
||||
-- key mapping
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
|
@ -73,21 +27,4 @@ return {
|
|||
require("user.whichkey")
|
||||
end,
|
||||
},
|
||||
-- for search
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
lazy = true,
|
||||
cmd = "Telescope",
|
||||
version = false, -- telescope did only one release, so use HEAD for now
|
||||
config = function()
|
||||
require("user.telescope")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"karb94/neoscroll.nvim",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("user.neoscroll")
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
14
lua/plugins/visualmulti.lua
Normal file
14
lua/plugins/visualmulti.lua
Normal file
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
"mg979/vim-visual-multi",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
lazy = true,
|
||||
init = function()
|
||||
vim.g.VM_mouse_mappings = 1 -- equal CTRL + Left Click on VSCODE
|
||||
vim.g.VM_maps = {
|
||||
["Find Under"] = "<C-d>", -- equal CTRL+D on VSCODE
|
||||
["Find Subword Under"] = "<C-d>", -- equal CTRL+D on VSCODE
|
||||
["Select Cursor Down"] = "<M-C-Down>", -- equal CTRL+ALT+DOWN on VSCODE
|
||||
["Select Cursor Up"] = "<M-C-Up>", -- equal CTRL+ALT+UP on VSCODE
|
||||
}
|
||||
end,
|
||||
}
|
21
lua/plugins/webdevicon.lua
Normal file
21
lua/plugins/webdevicon.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
return {
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
lazy = true,
|
||||
dependencies = "pojokcodeid/nvim-material-icon",
|
||||
opts = function()
|
||||
local material_icon_ok, material_icon = pcall(require, "nvim-material-icon")
|
||||
if not material_icon_ok then
|
||||
return
|
||||
end
|
||||
material_icon.setup({
|
||||
override = {},
|
||||
})
|
||||
return {
|
||||
override = material_icon.get_icons(),
|
||||
override_by_filename = {},
|
||||
}
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("nvim-web-devicons").setup(opts)
|
||||
end,
|
||||
}
|
19
lua/plugins/yanky.lua
Normal file
19
lua/plugins/yanky.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
return {
|
||||
"gbprod/yanky.nvim",
|
||||
event = "BufReadPre",
|
||||
opts = {
|
||||
ring = {
|
||||
history_length = 50,
|
||||
storage = "memory",
|
||||
},
|
||||
preserve_cursor_position = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("yanky").setup(opts)
|
||||
-- cycle through the yank history, only work after paste
|
||||
vim.keymap.set("n", "[y", "<Plug>(YankyCycleForward)")
|
||||
vim.keymap.set("n", "]y", "<Plug>(YankyCycleBackward)")
|
||||
end,
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
-- Setup nvim-cmp.
|
||||
local status_ok, npairs = pcall(require, "nvim-autopairs")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
-- local Rule = require("nvim-autopairs.rule")
|
||||
|
||||
npairs.setup({
|
||||
check_ts = true,
|
||||
ts_config = {
|
||||
lua = { "string", "source" },
|
||||
javascript = { "string", "template_string" },
|
||||
java = false,
|
||||
},
|
||||
disable_filetype = { "TelescopePrompt", "spectre_panel" },
|
||||
fast_wrap = {
|
||||
map = "<M-e>",
|
||||
chars = { "{", "[", "(", '"', "'", "`" },
|
||||
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
|
||||
offset = 0, -- Offset from pattern match
|
||||
end_key = "$",
|
||||
keys = "qwertyuiopzxcvbnmasdfghjkl",
|
||||
check_comma = true,
|
||||
highlight = "PmenuSel",
|
||||
highlight_grey = "LineNr",
|
||||
},
|
||||
})
|
||||
|
||||
-- npairs.add_rules({
|
||||
-- Rule("/", ">"):with_pair(function(opts)
|
||||
-- local pair = opts.line:sub(opts.col, opts.col + 1)
|
||||
-- if (vim.bo.filetype == "jsx" or vim.bo.filetype == "tsx") and pair == "/" then
|
||||
-- return npairs.esc("/>") .. "<esc>i"
|
||||
-- end
|
||||
-- end),
|
||||
-- })
|
||||
-- If you want insert `(` after select function or method item
|
||||
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||
if not cmp_status_ok then
|
||||
return
|
||||
end
|
||||
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } }))
|
|
@ -1,10 +0,0 @@
|
|||
local status_ok, cfg = pcall(require, "nvim-treesitter.configs")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
cfg.setup({
|
||||
autotag = {
|
||||
enable = true,
|
||||
},
|
||||
})
|
|
@ -1,161 +0,0 @@
|
|||
local status_ok, bufferline = pcall(require, "bufferline")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local icons = require("user.icons")
|
||||
local use_icons = true
|
||||
|
||||
-- get folder name from current directory
|
||||
local _get_folder_name = function()
|
||||
local str = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
|
||||
return " " .. str:lower():gsub("^%l", string.upper) .. " "
|
||||
end
|
||||
|
||||
local function diagnostics_indicator(num, _, diagnostics, _)
|
||||
local result = {}
|
||||
local symbols = {
|
||||
error = icons.diagnostics.Error,
|
||||
warning = icons.diagnostics.Warning,
|
||||
info = icons.diagnostics.Information,
|
||||
}
|
||||
if not use_icons then
|
||||
return "(" .. num .. ")"
|
||||
end
|
||||
for name, count in pairs(diagnostics) do
|
||||
if symbols[name] and count > 0 then
|
||||
table.insert(result, symbols[name] .. " " .. count)
|
||||
end
|
||||
end
|
||||
result = table.concat(result, " ")
|
||||
return #result > 0 and result or ""
|
||||
end
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
bufferline.setup({
|
||||
options = {
|
||||
color_icons = true,
|
||||
numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
|
||||
close_command = function(bufnum)
|
||||
require("bufdelete").bufdelete(bufnum, true)
|
||||
end,
|
||||
right_mouse_command = function(bufnum)
|
||||
require("bufdelete").bufdelete(bufnum, true)
|
||||
end,
|
||||
-- close_command = "bdelete! %d",
|
||||
-- right_mouse_command = "bdelete! %d",
|
||||
left_mouse_command = "buffer %d",
|
||||
middle_mouse_command = nil,
|
||||
|
||||
indicator_icon = nil,
|
||||
indicator = { style = "icon", icon = icons.ui.BoldLineLeft },
|
||||
buffer_close_icon = icons.ui.Close,
|
||||
modified_icon = icons.ui.Circle,
|
||||
close_icon = icons.ui.BoldClose,
|
||||
left_trunc_marker = icons.ui.ArrowCircleLeft,
|
||||
right_trunc_marker = icons.ui.ArrowCircleRight,
|
||||
max_name_length = 30,
|
||||
max_prefix_length = 30,
|
||||
tab_size = 21,
|
||||
diagnostics = false, -- | "nvim_lsp" | "coc",
|
||||
diagnostics_update_in_insert = false,
|
||||
diagnostics_indicator = diagnostics_indicator,
|
||||
offsets = {
|
||||
{
|
||||
filetype = "NvimTree",
|
||||
text = _get_folder_name(),
|
||||
highlight = "Directory",
|
||||
text_align = "left",
|
||||
padding = 1,
|
||||
},
|
||||
{
|
||||
filetype = "neo-tree",
|
||||
text = _get_folder_name(),
|
||||
highlight = "Directory",
|
||||
text_align = "left",
|
||||
padding = 1,
|
||||
},
|
||||
},
|
||||
show_buffer_icons = true,
|
||||
show_buffer_close_icons = true,
|
||||
show_close_icon = true,
|
||||
show_tab_indicators = true,
|
||||
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
|
||||
separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
|
||||
enforce_regular_tabs = true,
|
||||
always_show_bufferline = true,
|
||||
},
|
||||
highlights = {
|
||||
background = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
buffer_visible = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
close_button = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
close_button_visible = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
tab_selected = {
|
||||
fg = { attribute = "fg", highlight = "Normal" },
|
||||
bg = { attribute = "bg", highlight = "Normal" },
|
||||
},
|
||||
tab = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
tab_close = {
|
||||
-- fg = {attribute='fg',highlight='LspDiagnosticsDefaultError'},
|
||||
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||
bg = { attribute = "bg", highlight = "Normal" },
|
||||
},
|
||||
duplicate_selected = {
|
||||
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||
bg = { attribute = "bg", highlight = "TabLineSel" },
|
||||
underline = true,
|
||||
},
|
||||
duplicate_visible = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
underline = true,
|
||||
},
|
||||
duplicate = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
underline = true,
|
||||
},
|
||||
|
||||
modified = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
modified_selected = {
|
||||
fg = { attribute = "fg", highlight = "Normal" },
|
||||
bg = { attribute = "bg", highlight = "Normal" },
|
||||
},
|
||||
modified_visible = {
|
||||
fg = { attribute = "fg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
|
||||
separator = {
|
||||
fg = { attribute = "bg", highlight = "TabLine" },
|
||||
bg = { attribute = "bg", highlight = "TabLine" },
|
||||
},
|
||||
separator_selected = {
|
||||
fg = { attribute = "bg", highlight = "Normal" },
|
||||
bg = { attribute = "bg", highlight = "Normal" },
|
||||
},
|
||||
indicator_selected = {
|
||||
fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
|
||||
bg = { attribute = "bg", highlight = "Normal" },
|
||||
},
|
||||
},
|
||||
})
|
|
@ -1,37 +0,0 @@
|
|||
require("cmp").setup.cmdline({ "/", "?" }, {
|
||||
mapping = require("cmp").mapping.preset.cmdline({
|
||||
["<C-z>"] = {
|
||||
c = function()
|
||||
if require("cmp").visible() then
|
||||
require("cmp").select_next_item()
|
||||
else
|
||||
require("cmp").complete()
|
||||
end
|
||||
end,
|
||||
},
|
||||
["<C-e>"] = { c = require("cmp").mapping.abort() },
|
||||
["<C-y>"] = { c = require("cmp").mapping.confirm({ select = false }) },
|
||||
}),
|
||||
sources = require("cmp").config.sources({ { name = "buffer", keyword_length = 1 } }),
|
||||
})
|
||||
|
||||
require("cmp").setup.cmdline(":", {
|
||||
mapping = require("cmp").mapping.preset.cmdline({
|
||||
["<C-z>"] = {
|
||||
c = function()
|
||||
if require("cmp").visible() then
|
||||
require("cmp").select_next_item()
|
||||
else
|
||||
require("cmp").complete()
|
||||
end
|
||||
end,
|
||||
},
|
||||
["<C-e>"] = { c = require("cmp").mapping.abort() },
|
||||
["<C-y>"] = { c = require("cmp").mapping.confirm({ select = false }) },
|
||||
}),
|
||||
sources = require("cmp").config.sources({
|
||||
{ name = "path", keyword_length = 1 },
|
||||
}, {
|
||||
{ name = "cmdline", keyword_length = 1 },
|
||||
}),
|
||||
})
|
164
lua/user/cmp.lua
164
lua/user/cmp.lua
|
@ -1,164 +0,0 @@
|
|||
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||
if not cmp_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local snip_status_ok, luasnip = pcall(require, "luasnip")
|
||||
if not snip_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
require("luasnip/loaders/from_vscode").lazy_load()
|
||||
|
||||
local check_backspace = function()
|
||||
local col = vim.fn.col(".") - 1
|
||||
return col == 0 or vim.fn.getline("."):sub(col, col):match("%s")
|
||||
end
|
||||
|
||||
-- פּ ﯟ some other good icons
|
||||
-- local kind_icons = {
|
||||
-- Text = "",
|
||||
-- Method = "m",
|
||||
-- Function = "",
|
||||
-- Constructor = "",
|
||||
-- Field = "",
|
||||
-- Variable = "",
|
||||
-- Class = "",
|
||||
-- Interface = "",
|
||||
-- Module = "",
|
||||
-- Property = "",
|
||||
-- Unit = "",
|
||||
-- Value = "",
|
||||
-- Enum = "",
|
||||
-- Keyword = "",
|
||||
-- Snippet = "",
|
||||
-- Color = "",
|
||||
-- File = "",
|
||||
-- Reference = "",
|
||||
-- Folder = "",
|
||||
-- EnumMember = "",
|
||||
-- Constant = "",
|
||||
-- Struct = "",
|
||||
-- Event = "",
|
||||
-- Operator = "",
|
||||
-- TypeParameter = "",
|
||||
-- }
|
||||
-- find more here: https://www.nerdfonts.com/cheat-sheet
|
||||
local new_kind_icon = require("user.icons")
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body) -- For `luasnip` users.
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
["<Up>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }),
|
||||
["<Down>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }),
|
||||
["<C-k>"] = cmp.mapping.select_prev_item(),
|
||||
["<C-j>"] = cmp.mapping.select_next_item(),
|
||||
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
||||
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||
["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
|
||||
["<C-e>"] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
-- Accept currently selected item. If none selected, `select` first item.
|
||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif check_backspace() then
|
||||
fallback()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
},
|
||||
formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(entry, vim_item)
|
||||
-- Kind icons
|
||||
-- vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
||||
vim_item.kind = string.format("%s", new_kind_icon["kind"][vim_item.kind])
|
||||
-- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
||||
vim_item.menu = ({
|
||||
-- nvim_lsp = "[LSP]",
|
||||
-- luasnip = "[Snippet]",
|
||||
-- buffer = "[Buffer]",
|
||||
-- path = "[Path]",
|
||||
nvim_lsp = "(LSP)",
|
||||
luasnip = "(Snippet)",
|
||||
buffer = "(Buffer)",
|
||||
path = "(Path)",
|
||||
})[entry.source.name]
|
||||
return vim_item
|
||||
end,
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
},
|
||||
confirm_opts = {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
-- documentation = {
|
||||
-- border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
|
||||
-- },
|
||||
},
|
||||
experimental = {
|
||||
ghost_text = false,
|
||||
native_menu = false,
|
||||
},
|
||||
})
|
||||
|
||||
-- for cmd line
|
||||
-- cmp.setup.cmdline("/", {
|
||||
-- mapping = cmp.mapping.preset.cmdline(),
|
||||
-- sources = {
|
||||
-- { name = "buffer" },
|
||||
-- },
|
||||
-- })
|
||||
--
|
||||
-- -- `:` cmdline setup.
|
||||
-- cmp.setup.cmdline(":", {
|
||||
-- mapping = cmp.mapping.preset.cmdline(),
|
||||
-- sources = cmp.config.sources({
|
||||
-- { name = "path" },
|
||||
-- }, {
|
||||
-- {
|
||||
-- name = "cmdline",
|
||||
-- option = {
|
||||
-- ignore_cmds = { "Man", "!" },
|
||||
-- },
|
||||
-- },
|
||||
-- }),
|
||||
-- })
|
|
@ -1,56 +0,0 @@
|
|||
local status_ok, code_runner = pcall(require, "code_runner")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local rfile = {
|
||||
java = "cd $dir && javac $fileName && java $fileNameWithoutExt",
|
||||
python = "python3 -u",
|
||||
--typescript = "deno run",
|
||||
typescript = "ts-node $dir/$fileName", -- npm install -g ts-node
|
||||
rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt",
|
||||
-- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt"
|
||||
cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
|
||||
scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css",
|
||||
javascript = 'node "$dir/$fileName"',
|
||||
}
|
||||
|
||||
local data_exists, runscript = pcall(require, "core.config")
|
||||
if data_exists then
|
||||
if runscript.coderunner ~= nil then
|
||||
rfile = vim.tbl_deep_extend("force", runscript.coderunner, rfile)
|
||||
end
|
||||
end
|
||||
|
||||
code_runner.setup({
|
||||
-- put here the commands by filetype
|
||||
filetype = rfile,
|
||||
-- mode = "term",
|
||||
mode = "float",
|
||||
focus = true,
|
||||
startinsert = true,
|
||||
term = {
|
||||
--position = "vert",
|
||||
position = "bot",
|
||||
size = 50,
|
||||
},
|
||||
float = {
|
||||
-- Key that close the code_runner floating window
|
||||
close_key = "<ESC>",
|
||||
-- Window border (see ':h nvim_open_win')
|
||||
border = "rounded",
|
||||
|
||||
-- Num from `0 - 1` for measurements
|
||||
height = 0.8,
|
||||
width = 0.8,
|
||||
x = 0.5,
|
||||
y = 0.5,
|
||||
|
||||
-- Highlight group for floating window/border (see ':h winhl')
|
||||
border_hl = "FloatBorder",
|
||||
float_hl = "Normal",
|
||||
|
||||
-- Transparency (see ':h winblend')
|
||||
blend = 0,
|
||||
},
|
||||
})
|
|
@ -1,23 +0,0 @@
|
|||
local status_ok, colorizer_cfg = pcall(require, "colorizer")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
colorizer_cfg.setup({
|
||||
DEFAULT_OPTIONS = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = true, -- "Name" codes like Blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes: foreground, background
|
||||
mode = "background", -- Set the display mode.
|
||||
},
|
||||
filetypes = {
|
||||
"*", -- Highlight all files, but customize some others.
|
||||
css = { rgb_fn = true }, -- Enable parsing rgb(...) functions in css.
|
||||
html = { names = false }, -- Disable parsing "names" like Blue or Gray
|
||||
},
|
||||
})
|
|
@ -1,33 +0,0 @@
|
|||
local status_ok, comment = pcall(require, "Comment")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
comment.setup({
|
||||
pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(),
|
||||
-- pre_hook = function(ctx)
|
||||
-- local U = require("Comment.utils")
|
||||
--
|
||||
-- local status_utils_ok, utils = pcall(require, "ts_context_commentstring.utils")
|
||||
-- if not status_utils_ok then
|
||||
-- return
|
||||
-- end
|
||||
|
||||
-- local location = nil
|
||||
-- if ctx.ctype == U.ctype.block then
|
||||
-- location = utils.get_cursor_location()
|
||||
-- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
|
||||
-- location = utils.get_visual_start_location()
|
||||
-- end
|
||||
|
||||
-- local status_internals_ok, internals = pcall(require, "ts_context_commentstring.internals")
|
||||
-- if not status_internals_ok then
|
||||
-- return
|
||||
-- end
|
||||
|
||||
-- return internals.calculate_commentstring({
|
||||
-- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
|
||||
-- location = location,
|
||||
-- })
|
||||
-- end,
|
||||
})
|
|
@ -1,20 +0,0 @@
|
|||
local status_ok, dressing = pcall(require, "dressing")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
dressing.setup({
|
||||
input = {
|
||||
title_pos = "center",
|
||||
relative = "editor",
|
||||
default_prompt = "➤ ",
|
||||
win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" },
|
||||
prefer_width = 30,
|
||||
max_width = { 140, 0.9 },
|
||||
min_width = { 50, 0.2 },
|
||||
},
|
||||
select = {
|
||||
backend = { "telescope", "builtin" },
|
||||
builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } },
|
||||
},
|
||||
})
|
|
@ -1,70 +0,0 @@
|
|||
local status_ok, gitsigns = pcall(require, "gitsigns")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
local icons = require("user.icons")
|
||||
|
||||
gitsigns.setup({
|
||||
signs = {
|
||||
add = {
|
||||
hl = "GitSignsAdd",
|
||||
text = icons.ui.BoldLineLeft,
|
||||
numhl = "GitSignsAddNr",
|
||||
linehl = "GitSignsAddLn",
|
||||
},
|
||||
change = {
|
||||
hl = "GitSignsChange",
|
||||
text = icons.ui.BoldLineLeft,
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
delete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = icons.ui.Triangle,
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
topdelete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = icons.ui.Triangle,
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
changedelete = {
|
||||
hl = "GitSignsChange",
|
||||
text = icons.ui.BoldLineLeft,
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
},
|
||||
signcolumn = true,
|
||||
numhl = false,
|
||||
linehl = false,
|
||||
word_diff = false,
|
||||
watch_gitdir = {
|
||||
interval = 1000,
|
||||
follow_files = true,
|
||||
},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 1000,
|
||||
ignore_whitespace = false,
|
||||
},
|
||||
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
|
||||
sign_priority = 6,
|
||||
status_formatter = nil, -- Use default
|
||||
update_debounce = 200,
|
||||
max_file_length = 40000,
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = "rounded",
|
||||
style = "minimal",
|
||||
relative = "cursor",
|
||||
row = 0,
|
||||
col = 1,
|
||||
},
|
||||
yadm = { enable = false },
|
||||
})
|
|
@ -1,160 +0,0 @@
|
|||
return {
|
||||
kind = {
|
||||
Array = "",
|
||||
Boolean = "",
|
||||
Class = "",
|
||||
Color = "",
|
||||
Constant = "",
|
||||
Constructor = "",
|
||||
Enum = "",
|
||||
EnumMember = "",
|
||||
Event = "",
|
||||
Field = "",
|
||||
File = "",
|
||||
Folder = "",
|
||||
Function = "",
|
||||
Interface = "",
|
||||
Key = "",
|
||||
Keyword = "",
|
||||
Method = "",
|
||||
Module = "",
|
||||
Namespace = "",
|
||||
Null = "",
|
||||
Number = "",
|
||||
Object = "",
|
||||
Operator = "",
|
||||
Package = "",
|
||||
Property = "",
|
||||
Reference = "",
|
||||
Snippet = "",
|
||||
String = "",
|
||||
Struct = "",
|
||||
Text = "",
|
||||
TypeParameter = "",
|
||||
Unit = "",
|
||||
Value = "",
|
||||
Variable = "",
|
||||
},
|
||||
git = {
|
||||
LineAdded = "",
|
||||
LineModified = "",
|
||||
LineRemoved = "",
|
||||
FileDeleted = "",
|
||||
FileIgnored = "◌",
|
||||
FileRenamed = "",
|
||||
FileStaged = "S",
|
||||
FileUnmerged = "",
|
||||
FileUnstaged = "",
|
||||
FileUntracked = "U",
|
||||
Diff = "",
|
||||
Repo = "",
|
||||
Octoface = "",
|
||||
Branch = "",
|
||||
},
|
||||
ui = {
|
||||
ArrowCircleDown = "",
|
||||
ArrowCircleLeft = "",
|
||||
ArrowCircleRight = "",
|
||||
ArrowCircleUp = "",
|
||||
BoldArrowDown = "",
|
||||
BoldArrowLeft = "",
|
||||
BoldArrowRight = "",
|
||||
BoldArrowUp = "",
|
||||
BoldClose = "",
|
||||
BoldDividerLeft = "",
|
||||
BoldDividerRight = "",
|
||||
BoldLineLeft = "▎",
|
||||
BookMark = "",
|
||||
BoxChecked = "",
|
||||
Bug = "",
|
||||
Stacks = "",
|
||||
Scopes = "",
|
||||
Watches = "",
|
||||
DebugConsole = "",
|
||||
Calendar = "",
|
||||
Check = "",
|
||||
ChevronRight = ">",
|
||||
ChevronShortDown = "",
|
||||
ChevronShortLeft = "",
|
||||
ChevronShortRight = "",
|
||||
ChevronShortUp = "",
|
||||
Circle = "",
|
||||
Dot = "",
|
||||
Close = "",
|
||||
CloudDownload = "",
|
||||
Code = "",
|
||||
Comment = "",
|
||||
Dashboard = "",
|
||||
DividerLeft = "",
|
||||
DividerRight = "",
|
||||
DoubleChevronRight = "»",
|
||||
Ellipsis = "",
|
||||
-- EmptyFolder = "",
|
||||
-- EmptyFolderOpen = "",
|
||||
EmptyFolder = "",
|
||||
EmptyFolderOpen = "",
|
||||
File = "",
|
||||
FileSymlink = "",
|
||||
Files = "",
|
||||
FindFile = "",
|
||||
FindText = "",
|
||||
Fire = "",
|
||||
-- Folder = "",
|
||||
-- FolderOpen = "",
|
||||
Folder = "",
|
||||
FolderOpen = "",
|
||||
FolderSymlink = "",
|
||||
Forward = "",
|
||||
Gear = "",
|
||||
History = "",
|
||||
Lightbulb = "",
|
||||
LineLeft = "▏",
|
||||
LineMiddle = "│",
|
||||
List = "",
|
||||
Lock = "",
|
||||
NewFile = "",
|
||||
Note = "",
|
||||
Package = "",
|
||||
Pencil = "",
|
||||
Plus = "",
|
||||
Project = "",
|
||||
Search = "",
|
||||
SignIn = "",
|
||||
SignOut = "",
|
||||
Tab = "",
|
||||
Table = "",
|
||||
Target = "",
|
||||
Telescope = "",
|
||||
Text = "",
|
||||
Tree = "",
|
||||
Triangle = "▸",
|
||||
TriangleShortArrowDown = "",
|
||||
TriangleShortArrowLeft = "",
|
||||
TriangleShortArrowRight = "",
|
||||
TriangleShortArrowUp = "",
|
||||
Neovim = "",
|
||||
},
|
||||
diagnostics = {
|
||||
BoldError = "",
|
||||
Error = "",
|
||||
BoldWarning = "",
|
||||
Warning = "",
|
||||
BoldInformation = "",
|
||||
Information = "",
|
||||
BoldQuestion = "",
|
||||
Question = "",
|
||||
BoldHint = "",
|
||||
Hint = "",
|
||||
Debug = "",
|
||||
Trace = "✎",
|
||||
},
|
||||
misc = {
|
||||
Robot = "ﮧ",
|
||||
Squirrel = "",
|
||||
Tag = "",
|
||||
Watch = "",
|
||||
Smiley = "",
|
||||
Package = "",
|
||||
CircuitBoard = "",
|
||||
},
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
require("indent-o-matic").setup({
|
||||
-- Global settings (optional, used as fallback)
|
||||
max_lines = 2048,
|
||||
standard_widths = { 2, 4, 8 },
|
||||
|
||||
-- Disable indent-o-matic for LISP files
|
||||
filetype_lisp = {
|
||||
max_lines = 0,
|
||||
},
|
||||
|
||||
-- Only detect 4 spaces and tabs for java
|
||||
filetype_java = {
|
||||
standard_widths = { 4 },
|
||||
},
|
||||
|
||||
-- Don't detect 8 spaces indentations inside files without a filetype
|
||||
filetype_ = {
|
||||
standard_widths = { 2, 4 },
|
||||
},
|
||||
})
|
|
@ -1,25 +0,0 @@
|
|||
local status_ok, indent_blankline = pcall(require, "ibl")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
local icons = require("user.icons")
|
||||
indent_blankline.setup({
|
||||
enabled = true,
|
||||
buftype_exclude = { "terminal", "nofile" },
|
||||
filetype_exclude = {
|
||||
"help",
|
||||
"startify",
|
||||
"dashboard",
|
||||
"lazy",
|
||||
"neogitstatus",
|
||||
"NvimTree",
|
||||
"Trouble",
|
||||
"text",
|
||||
},
|
||||
char = icons.ui.LineLeft,
|
||||
context_char = icons.ui.LineLeft,
|
||||
show_trailing_blankline_indent = false,
|
||||
show_first_indent_level = true,
|
||||
use_treesitter = true,
|
||||
show_current_context = true,
|
||||
})
|
|
@ -1,71 +0,0 @@
|
|||
local status_ok, indent_blankline = pcall(require, "ibl")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
vim.g.indent_blankline_buftype_exclude = { "terminal", "nofile" }
|
||||
vim.g.indent_blankline_filetype_exclude = {
|
||||
"help",
|
||||
"startify",
|
||||
"dashboard",
|
||||
"packer",
|
||||
"neogitstatus",
|
||||
"NvimTree",
|
||||
"Trouble",
|
||||
}
|
||||
vim.g.indentLine_enabled = 1
|
||||
-- vim.g.indent_blankline_char = "│"
|
||||
-- vim.g.indent_blankline_char = "▏"
|
||||
vim.g.indent_blankline_char = " "
|
||||
-- vim.g.indent_blankline_char = "▎"
|
||||
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
||||
vim.g.indent_blankline_show_first_indent_level = true
|
||||
vim.g.indent_blankline_use_treesitter = true
|
||||
vim.g.indent_blankline_show_current_context = true
|
||||
vim.g.indent_blankline_context_patterns = {
|
||||
"class",
|
||||
"return",
|
||||
"function",
|
||||
"method",
|
||||
"^if",
|
||||
"^while",
|
||||
"jsx_element",
|
||||
"^for",
|
||||
"^object",
|
||||
"^table",
|
||||
"block",
|
||||
"arguments",
|
||||
"if_statement",
|
||||
"else_clause",
|
||||
"jsx_element",
|
||||
"jsx_self_closing_element",
|
||||
"try_statement",
|
||||
"catch_clause",
|
||||
"import_statement",
|
||||
"operation_type",
|
||||
}
|
||||
-- HACK: work-around for https://github.com/lukas-reineke/indent-blankline.nvim/issues/59
|
||||
vim.wo.colorcolumn = "99999"
|
||||
|
||||
-- vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]]
|
||||
-- vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]]
|
||||
-- vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]]
|
||||
-- vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]]
|
||||
-- vim.cmd [[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]]
|
||||
-- vim.cmd [[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]]
|
||||
-- vim.opt.list = true
|
||||
-- vim.opt.listchars:append "space:⋅"
|
||||
-- vim.opt.listchars:append "space:"
|
||||
-- vim.opt.listchars:append "eol:↴"
|
||||
|
||||
indent_blankline.setup({
|
||||
-- show_end_of_line = true,
|
||||
-- space_char_blankline = " ",
|
||||
-- show_current_context = true,
|
||||
-- show_current_context_start = true,
|
||||
-- char_highlight_list = {
|
||||
-- "IndentBlanklineIndent1",
|
||||
-- "IndentBlanklineIndent2",
|
||||
-- "IndentBlanklineIndent3",
|
||||
-- },
|
||||
})
|
|
@ -1,20 +1,20 @@
|
|||
return {
|
||||
cmd = { "vscode-eslint-language-server", "--stdio" }, -- add file type support
|
||||
filetypes = {
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"javascript.jsx",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"typescript.tsx",
|
||||
},
|
||||
-- add dynamic root dir support
|
||||
root_dir = require("lspconfig.util").root_pattern(
|
||||
"package.json",
|
||||
"tsconfig.json",
|
||||
"jsconfig.json",
|
||||
".eslintrc.json",
|
||||
".eslintrc.js",
|
||||
".eslintrc.cjs"
|
||||
),
|
||||
-- cmd = { "vscode-eslint-language-server", "--stdio" }, -- add file type support
|
||||
-- filetypes = {
|
||||
-- "javascript",
|
||||
-- "javascriptreact",
|
||||
-- "javascript.jsx",
|
||||
-- "typescript",
|
||||
-- "typescriptreact",
|
||||
-- "typescript.tsx",
|
||||
-- },
|
||||
-- -- add dynamic root dir support
|
||||
-- root_dir = require("lspconfig.util").root_pattern(
|
||||
-- "package.json",
|
||||
-- "tsconfig.json",
|
||||
-- "jsconfig.json",
|
||||
-- ".eslintrc.json",
|
||||
-- ".eslintrc.js",
|
||||
-- ".eslintrc.cjs"
|
||||
-- ),
|
||||
}
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
local keymap = vim.keymap.set
|
||||
-- Lsp finder find the symbol definition implement reference
|
||||
-- if there is no implement it will hide
|
||||
-- when you use action in finder like open vsplit then you can
|
||||
-- use <C-t> to jump back
|
||||
keymap("n", "gh", "<cmd>Lspsaga lsp_finder<CR>")
|
||||
|
||||
-- Code action
|
||||
keymap({ "n", "v" }, "<leader>ca", "<cmd>Lspsaga code_action<CR>")
|
||||
|
||||
-- Rename
|
||||
keymap("n", "gr", "<cmd>Lspsaga rename<CR>")
|
||||
|
||||
-- Rename word in whole project
|
||||
keymap("n", "gr", "<cmd>Lspsaga rename ++project<CR>")
|
||||
|
||||
-- Peek Definition
|
||||
-- you can edit the definition file in this float window
|
||||
-- also support open/vsplit/etc operation check definition_action_keys
|
||||
-- support tagstack C-t jump back
|
||||
keymap("n", "gd", "<cmd>Lspsaga peek_definition<CR>")
|
||||
|
||||
-- Go to Definition
|
||||
keymap("n", "gd", "<cmd>Lspsaga goto_definition<CR>")
|
||||
|
||||
-- Show line diagnostics you can pass argument ++unfocus to make
|
||||
-- show_line_diagnostics float window unfocus
|
||||
keymap("n", "<leader>sl", "<cmd>Lspsaga show_line_diagnostics<CR>")
|
||||
|
||||
-- Show cursor diagnostic
|
||||
-- also like show_line_diagnostics support pass ++unfocus
|
||||
keymap("n", "<leader>sc", "<cmd>Lspsaga show_cursor_diagnostics<CR>")
|
||||
|
||||
-- Show buffer diagnostic
|
||||
keymap("n", "<leader>sb", "<cmd>Lspsaga show_buf_diagnostics<CR>")
|
||||
|
||||
-- Diagnostic jump can use `<c-o>` to jump back
|
||||
keymap("n", "[e", "<cmd>Lspsaga diagnostic_jump_prev<CR>")
|
||||
keymap("n", "]e", "<cmd>Lspsaga diagnostic_jump_next<CR>")
|
||||
|
||||
-- Diagnostic jump with filter like Only jump to error
|
||||
keymap("n", "[E", function()
|
||||
require("lspsaga.diagnostic"):goto_prev({ severity = vim.diagnostic.severity.ERROR })
|
||||
end)
|
||||
keymap("n", "]E", function()
|
||||
require("lspsaga.diagnostic"):goto_next({ severity = vim.diagnostic.severity.ERROR })
|
||||
end)
|
||||
|
||||
-- Toggle Outline
|
||||
keymap("n", "<leader>o", "<cmd>Lspsaga outline<CR>")
|
||||
|
||||
-- Hover Doc
|
||||
-- if there has no hover will have a notify no information available
|
||||
-- to disable it just Lspsaga hover_doc ++quiet
|
||||
-- press twice it will jump into hover window
|
||||
keymap("n", "K", "<cmd>Lspsaga hover_doc<CR>")
|
||||
-- if you want keep hover window in right top you can use ++keep arg
|
||||
-- notice if you use hover with ++keep you press this keymap it will
|
||||
-- close the hover window .if you want jump to hover window must use
|
||||
-- wincmd command <C-w>w
|
||||
keymap("n", "K", "<cmd>Lspsaga hover_doc ++keep<CR>")
|
||||
|
||||
-- Callhierarchy
|
||||
keymap("n", "<Leader>ci", "<cmd>Lspsaga incoming_calls<CR>")
|
||||
keymap("n", "<Leader>co", "<cmd>Lspsaga outgoing_calls<CR>")
|
||||
|
||||
-- Float terminal
|
||||
keymap({ "n", "t" }, "<A-d>", "<cmd>Lspsaga term_toggle<CR>")
|
|
@ -1,163 +0,0 @@
|
|||
local status_ok, lualine = pcall(require, "lualine")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
local icons = require("user.icons")
|
||||
local hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end
|
||||
|
||||
local conditions = {
|
||||
buffer_not_empty = function()
|
||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||||
end,
|
||||
hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end,
|
||||
check_git_workspace = function()
|
||||
local filepath = vim.fn.expand("%:p:h")
|
||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||
end,
|
||||
}
|
||||
|
||||
local diagnostics = {
|
||||
"diagnostics",
|
||||
sources = { "nvim_diagnostic" },
|
||||
sections = { "error", "warn" },
|
||||
-- symbols = { error = " ", warn = " " },
|
||||
symbols = {
|
||||
error = icons.diagnostics.BoldError .. " ",
|
||||
warn = icons.diagnostics.BoldWarning .. " ",
|
||||
},
|
||||
colored = true,
|
||||
update_in_insert = false,
|
||||
always_visible = false,
|
||||
}
|
||||
|
||||
local diff = {
|
||||
"diff",
|
||||
colored = true,
|
||||
-- symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols
|
||||
symbols = {
|
||||
added = icons.git.LineAdded .. " ",
|
||||
modified = icons.git.LineModified .. " ",
|
||||
removed = icons.git.LineRemoved .. " ",
|
||||
}, -- changes diff symbols
|
||||
cond = hide_in_width,
|
||||
}
|
||||
|
||||
local mode = {
|
||||
"mode",
|
||||
fmt = function(str)
|
||||
return "-- " .. str .. " --"
|
||||
end,
|
||||
}
|
||||
|
||||
local filetype = {
|
||||
"filetype",
|
||||
icons_enabled = true,
|
||||
icon = nil,
|
||||
}
|
||||
|
||||
local branch = {
|
||||
"branch",
|
||||
icons_enabled = true,
|
||||
--icon = "",
|
||||
icon = icons.git.Branch,
|
||||
}
|
||||
|
||||
local location = {
|
||||
"location",
|
||||
padding = 0,
|
||||
}
|
||||
|
||||
-- cool function for progress
|
||||
local progress = function()
|
||||
local current_line = vim.fn.line(".")
|
||||
local total_lines = vim.fn.line("$")
|
||||
local chars = { "__", "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" }
|
||||
local line_ratio = current_line / total_lines
|
||||
local index = math.ceil(line_ratio * #chars)
|
||||
return chars[index]
|
||||
end
|
||||
|
||||
local spaces = function()
|
||||
-- return "->| " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||
return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||
end
|
||||
|
||||
local file_name = {
|
||||
"filename",
|
||||
cond = conditions.buffer_not_empty,
|
||||
}
|
||||
|
||||
local lsp_info = {
|
||||
function()
|
||||
--local msg = "No Active Lsp"
|
||||
local msg = "LS Inactive"
|
||||
local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
if next(clients) == nil then
|
||||
for i, name in ipairs(clients) do
|
||||
msg = msg .. " " .. name
|
||||
end
|
||||
return msg
|
||||
end
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
if msg == "LS Inactive" then
|
||||
msg = ""
|
||||
msg = msg .. client.name
|
||||
else
|
||||
msg = msg .. ", " .. client.name
|
||||
end
|
||||
end
|
||||
end
|
||||
return msg
|
||||
end,
|
||||
--icon = " ",
|
||||
icon = icons.ui.Gear .. "",
|
||||
}
|
||||
|
||||
lualine.setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "auto",
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
"TelescopePrompt",
|
||||
"packer",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"NvimTree",
|
||||
"Outline",
|
||||
"DressingInput",
|
||||
"toggleterm",
|
||||
"lazy",
|
||||
},
|
||||
always_divide_middle = true,
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { branch },
|
||||
lualine_b = { mode },
|
||||
lualine_c = { diagnostics, lsp_info },
|
||||
-- lualine_c = { file_name, lsp_info },
|
||||
-- lualine_x = { "encoding", "fileformat", "filetype" },
|
||||
lualine_x = { diff, spaces, "encoding", filetype },
|
||||
lualine_y = { location },
|
||||
lualine_z = { progress },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {},
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
local status_ok, neoscroll = pcall(require, "neoscroll")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
neoscroll.setup()
|
|
@ -1,231 +0,0 @@
|
|||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- set termguicolors to enable highlight groups
|
||||
vim.opt.termguicolors = true
|
||||
local status_ok, nvim_tree = pcall(require, "nvim-tree")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local icons = require("user.icons")
|
||||
nvim_tree.setup({
|
||||
auto_reload_on_write = false,
|
||||
disable_netrw = false,
|
||||
hijack_cursor = false,
|
||||
hijack_netrw = true,
|
||||
hijack_unnamed_buffer_when_opening = false,
|
||||
sort_by = "name",
|
||||
root_dirs = {},
|
||||
prefer_startup_root = false,
|
||||
sync_root_with_cwd = true,
|
||||
reload_on_bufenter = false,
|
||||
respect_buf_cwd = false,
|
||||
on_attach = "default",
|
||||
select_prompts = false,
|
||||
view = {
|
||||
adaptive_size = false,
|
||||
centralize_selection = true,
|
||||
width = 30,
|
||||
side = "left",
|
||||
preserve_window_proportions = false,
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "yes",
|
||||
float = {
|
||||
enable = false,
|
||||
quit_on_focus_loss = true,
|
||||
open_win_config = {
|
||||
relative = "editor",
|
||||
border = "rounded",
|
||||
width = 30,
|
||||
height = 30,
|
||||
row = 1,
|
||||
col = 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
renderer = {
|
||||
add_trailing = false,
|
||||
group_empty = false,
|
||||
highlight_git = true,
|
||||
full_name = false,
|
||||
highlight_opened_files = "none",
|
||||
-- root_folder_label = ":t",
|
||||
root_folder_label = false,
|
||||
indent_width = 2,
|
||||
indent_markers = {
|
||||
enable = true,
|
||||
inline_arrows = true,
|
||||
icons = {
|
||||
corner = "└",
|
||||
edge = "│",
|
||||
item = "│",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
webdev_colors = true,
|
||||
git_placement = "before",
|
||||
padding = " ",
|
||||
symlink_arrow = " ➛ ",
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
folder_arrow = true,
|
||||
git = true,
|
||||
},
|
||||
glyphs = {
|
||||
default = icons.ui.Text,
|
||||
symlink = icons.ui.FileSymlink,
|
||||
bookmark = icons.ui.BookMark,
|
||||
folder = {
|
||||
-- arrow_closed = icons.ui.TriangleShortArrowRight,
|
||||
arrow_closed = icons.ui.ChevronShortRight,
|
||||
-- arrow_open = icons.ui.TriangleShortArrowDown,
|
||||
arrow_open = icons.ui.ChevronShortDown,
|
||||
default = icons.ui.Folder,
|
||||
open = icons.ui.FolderOpen,
|
||||
empty = icons.ui.EmptyFolder,
|
||||
empty_open = icons.ui.EmptyFolderOpen,
|
||||
symlink = icons.ui.FolderSymlink,
|
||||
symlink_open = icons.ui.FolderOpen,
|
||||
},
|
||||
git = {
|
||||
unstaged = icons.git.FileUnstaged,
|
||||
staged = icons.git.FileStaged,
|
||||
unmerged = icons.git.FileUnmerged,
|
||||
renamed = icons.git.FileRenamed,
|
||||
untracked = icons.git.FileUntracked,
|
||||
deleted = icons.git.FileDeleted,
|
||||
ignored = icons.git.FileIgnored,
|
||||
},
|
||||
},
|
||||
},
|
||||
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
|
||||
symlink_destination = true,
|
||||
},
|
||||
hijack_directories = {
|
||||
enable = false,
|
||||
auto_open = true,
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
debounce_delay = 15,
|
||||
update_root = true,
|
||||
ignore_list = {},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = false,
|
||||
show_on_open_dirs = true,
|
||||
debounce_delay = 50,
|
||||
severity = {
|
||||
min = vim.diagnostic.severity.HINT,
|
||||
max = vim.diagnostic.severity.ERROR,
|
||||
},
|
||||
icons = {
|
||||
hint = icons.diagnostics.BoldHint,
|
||||
info = icons.diagnostics.BoldInformation,
|
||||
warning = icons.diagnostics.BoldWarning,
|
||||
error = icons.diagnostics.BoldError,
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
git_clean = false,
|
||||
no_buffer = false,
|
||||
custom = { "node_modules", "\\.cache", "\\.git" },
|
||||
exclude = {
|
||||
".gitignore",
|
||||
".prettierignore",
|
||||
},
|
||||
},
|
||||
filesystem_watchers = {
|
||||
enable = true,
|
||||
debounce_delay = 50,
|
||||
ignore_dirs = {},
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = false,
|
||||
show_on_dirs = true,
|
||||
show_on_open_dirs = true,
|
||||
disable_for_dirs = {},
|
||||
timeout = 400,
|
||||
},
|
||||
actions = {
|
||||
use_system_clipboard = true,
|
||||
change_dir = {
|
||||
enable = true,
|
||||
global = false,
|
||||
restrict_above_cwd = false,
|
||||
},
|
||||
expand_all = {
|
||||
max_folder_discovery = 300,
|
||||
exclude = {},
|
||||
},
|
||||
file_popup = {
|
||||
open_win_config = {
|
||||
col = 1,
|
||||
row = 1,
|
||||
relative = "cursor",
|
||||
border = "shadow",
|
||||
style = "minimal",
|
||||
},
|
||||
},
|
||||
open_file = {
|
||||
quit_on_open = false,
|
||||
resize_window = false,
|
||||
window_picker = {
|
||||
enable = true,
|
||||
picker = "default",
|
||||
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||
exclude = {
|
||||
filetype = { "notify", "lazy", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||
buftype = { "nofile", "terminal", "help" },
|
||||
},
|
||||
},
|
||||
},
|
||||
remove_file = {
|
||||
close_window = true,
|
||||
},
|
||||
},
|
||||
trash = {
|
||||
cmd = "trash",
|
||||
require_confirm = true,
|
||||
},
|
||||
live_filter = {
|
||||
prefix = "[FILTER]: ",
|
||||
always_show_folders = true,
|
||||
},
|
||||
tab = {
|
||||
sync = {
|
||||
open = false,
|
||||
close = false,
|
||||
ignore = {},
|
||||
},
|
||||
},
|
||||
notify = {
|
||||
threshold = vim.log.levels.INFO,
|
||||
-- threshold = vim.log.levels.ERROR,
|
||||
},
|
||||
log = {
|
||||
enable = false,
|
||||
truncate = false,
|
||||
types = {
|
||||
all = false,
|
||||
config = false,
|
||||
copy_paste = false,
|
||||
dev = false,
|
||||
diagnostics = false,
|
||||
git = false,
|
||||
profile = false,
|
||||
watcher = false,
|
||||
},
|
||||
},
|
||||
system_open = {
|
||||
cmd = nil,
|
||||
args = {},
|
||||
},
|
||||
})
|
|
@ -1,9 +0,0 @@
|
|||
local status_ok, scrollview = pcall(require, "scrollview")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
scrollview.setup({
|
||||
bg = "LightCyan",
|
||||
ctermbg = 160,
|
||||
})
|
||||
vim.g.scrollview_excluded_filetypes = { "NvimTree", "vista_kind", "Outline", "neo-tree" }
|
|
@ -1,58 +0,0 @@
|
|||
-- This file is automatically loaded by plugins.config
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
local opt = vim.opt
|
||||
opt.autowrite = true -- Enable auto write
|
||||
opt.clipboard = "unnamedplus" -- Sync with system clipboard
|
||||
opt.completeopt = "menu,menuone,noselect"
|
||||
opt.conceallevel = 3 -- Hide * markup for bold and italic
|
||||
opt.confirm = true -- Confirm to save changes before exiting modified buffer
|
||||
opt.cursorline = true -- Enable highlighting of the current line
|
||||
opt.expandtab = true -- Use spaces instead of tabs
|
||||
opt.formatoptions = "jcroqlnt" -- tcqj
|
||||
opt.grepformat = "%f:%l:%c:%m"
|
||||
opt.grepprg = "rg --vimgrep"
|
||||
opt.ignorecase = true -- Ignore case
|
||||
opt.inccommand = "nosplit" -- preview incremental substitute
|
||||
opt.laststatus = 0
|
||||
opt.list = true -- Show some invisible characters (tabs...
|
||||
opt.mouse = "a" -- Enable mouse mode
|
||||
opt.number = true -- Print line number
|
||||
opt.pumblend = 10 -- Popup blend
|
||||
opt.pumheight = 10 -- Maximum number of entries in a popup
|
||||
opt.relativenumber = true -- Relative line numbers
|
||||
opt.scrolloff = 4 -- Lines of context
|
||||
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize" }
|
||||
opt.shiftround = true -- Round indent
|
||||
opt.shiftwidth = 2 -- Size of an indent
|
||||
opt.shortmess:append({ W = true, I = true, c = true })
|
||||
opt.showmode = false -- Dont show mode since we have a statusline
|
||||
opt.sidescrolloff = 8 -- Columns of context
|
||||
opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time
|
||||
opt.smartcase = true -- Don't ignore case with capitals
|
||||
opt.smartindent = true -- Insert indents automatically
|
||||
opt.spelllang = { "en" }
|
||||
opt.splitbelow = true -- Put new windows below current
|
||||
opt.splitright = true -- Put new windows right of current
|
||||
opt.tabstop = 2 -- Number of spaces tabs count for
|
||||
opt.termguicolors = true -- True color support
|
||||
opt.timeoutlen = 300
|
||||
opt.undofile = true
|
||||
opt.undolevels = 10000
|
||||
opt.updatetime = 200 -- Save swap file and trigger CursorHold
|
||||
opt.wildmode = "longest:full,full" -- Command-line completion mode
|
||||
opt.winminwidth = 5 -- Minimum window width
|
||||
opt.wrap = false -- Disable line wrap
|
||||
|
||||
opt.laststatus = 3 -- globalstatus
|
||||
opt.cmdheight = 0 -- hide command line unless needed
|
||||
|
||||
if vim.fn.has("nvim-0.9.0") == 1 then
|
||||
opt.splitkeep = "screen"
|
||||
opt.shortmess:append({ C = true })
|
||||
end
|
||||
|
||||
-- Fix markdown indentation settings
|
||||
vim.g.markdown_recommended_style = 0
|
|
@ -1,48 +0,0 @@
|
|||
local status_ok, project = pcall(require, "project_nvim")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
project.setup({
|
||||
---@usage set to false to disable project.nvim.
|
||||
--- This is on by default since it's currently the expected behavior.
|
||||
active = true,
|
||||
|
||||
on_config_done = nil,
|
||||
|
||||
---@usage set to true to disable setting the current-woriking directory
|
||||
--- Manual mode doesn't automatically change your root directory, so you have
|
||||
--- the option to manually do so using `:ProjectRoot` command.
|
||||
manual_mode = false,
|
||||
|
||||
---@usage Methods of detecting the root directory
|
||||
--- Allowed values: **"lsp"** uses the native neovim lsp
|
||||
--- **"pattern"** uses vim-rooter like glob pattern matching. Here
|
||||
--- order matters: if one is not detected, the other is used as fallback. You
|
||||
--- can also delete or rearangne the detection methods.
|
||||
-- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
|
||||
detection_methods = { "pattern" },
|
||||
|
||||
---@usage patterns used to detect root dir, when **"pattern"** is in detection_methods
|
||||
patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" ,"main*" },
|
||||
|
||||
---@ Show hidden files in telescope when searching for files in a project
|
||||
show_hidden = false,
|
||||
|
||||
---@usage When set to false, you will get a message when project.nvim changes your directory.
|
||||
-- When set to false, you will get a message when project.nvim changes your directory.
|
||||
silent_chdir = true,
|
||||
|
||||
---@usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... }
|
||||
ignore_lsp = {},
|
||||
|
||||
---@type string
|
||||
---@usage path to store the project history for use in telescope
|
||||
datapath = vim.fn.stdpath("data"),
|
||||
})
|
||||
|
||||
local tele_status_ok, telescope = pcall(require, "telescope")
|
||||
if not tele_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
telescope.load_extension('projects')
|
|
@ -1,18 +0,0 @@
|
|||
local status_ok, smart_splits = pcall(require, "smart-splits")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
smart_splits.setup({
|
||||
ignored_filetypes = {
|
||||
"nofile",
|
||||
"quickfix",
|
||||
"qf",
|
||||
"prompt",
|
||||
},
|
||||
ignored_buftypes = { "nofile" },
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<C-Left>", require("smart-splits").resize_left)
|
||||
vim.keymap.set("n", "<C-Down>", require("smart-splits").resize_down)
|
||||
vim.keymap.set("n", "<C-Up", require("smart-splits").resize_up)
|
||||
vim.keymap.set("n", "<C-Right>", require("smart-splits").resize_right)
|
|
@ -1,27 +0,0 @@
|
|||
vim.schedule(function()
|
||||
require("cmp_tabnine.config").setup({
|
||||
ignored_file_types = {
|
||||
["aerial"] = true,
|
||||
["checkhealth"] = true,
|
||||
["dap-repl"] = true,
|
||||
["dapui_breakpoints"] = true,
|
||||
["dapui_console"] = true,
|
||||
["dapui_hover"] = true,
|
||||
["dapui_scopes"] = true,
|
||||
["dapui_stacks"] = true,
|
||||
["dapui_watches"] = true,
|
||||
["DressingInput"] = true,
|
||||
["DressingSelect"] = true,
|
||||
["fern"] = true,
|
||||
["lazy"] = true,
|
||||
["lspinfo"] = true,
|
||||
["mason"] = true,
|
||||
["nerdterm"] = true,
|
||||
["noice"] = true,
|
||||
["notify"] = true,
|
||||
["null-ls-info"] = true,
|
||||
["qf"] = true,
|
||||
["TelescopePrompt"] = true,
|
||||
},
|
||||
})
|
||||
end)
|
|
@ -1,170 +0,0 @@
|
|||
local status_ok, telescope = pcall(require, "telescope")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
local actions = require("telescope.actions")
|
||||
|
||||
vim.g.theme_switcher_loaded = true
|
||||
|
||||
local options = {
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
"-L",
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
"--smart-case",
|
||||
},
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
entry_prefix = " ",
|
||||
initial_mode = "insert",
|
||||
selection_strategy = "reset",
|
||||
sorting_strategy = "ascending",
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = {
|
||||
horizontal = {
|
||||
prompt_position = "top",
|
||||
preview_width = 0.55,
|
||||
results_width = 0.8,
|
||||
},
|
||||
vertical = {
|
||||
mirror = false,
|
||||
},
|
||||
width = 0.87,
|
||||
height = 0.80,
|
||||
preview_cutoff = 120,
|
||||
},
|
||||
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
||||
file_ignore_patterns = { "node_modules" },
|
||||
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
||||
path_display = { "smart" },
|
||||
winblend = 0,
|
||||
border = {},
|
||||
borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
||||
color_devicons = true,
|
||||
set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil,
|
||||
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
||||
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new,
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker,
|
||||
mappings = {
|
||||
n = { ["q"] = require("telescope.actions").close },
|
||||
},
|
||||
},
|
||||
|
||||
extensions_list = { "themes", "terms" },
|
||||
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true,
|
||||
},
|
||||
live_grep = {
|
||||
--@usage don't include the filename in the search results
|
||||
only_sort_text = true,
|
||||
},
|
||||
grep_string = {
|
||||
only_sort_text = true,
|
||||
},
|
||||
buffers = {
|
||||
initial_mode = "normal",
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-d>"] = actions.delete_buffer,
|
||||
},
|
||||
n = {
|
||||
["dd"] = actions.delete_buffer,
|
||||
},
|
||||
},
|
||||
},
|
||||
planets = {
|
||||
show_pluto = true,
|
||||
show_moon = true,
|
||||
},
|
||||
git_files = {
|
||||
hidden = true,
|
||||
show_untracked = true,
|
||||
},
|
||||
colorscheme = {
|
||||
enable_preview = true,
|
||||
},
|
||||
},
|
||||
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-n>"] = actions.cycle_history_next,
|
||||
["<C-p>"] = actions.cycle_history_prev,
|
||||
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
|
||||
["<C-c>"] = actions.close,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
["<Up>"] = actions.move_selection_previous,
|
||||
|
||||
["<CR>"] = actions.select_default,
|
||||
["<C-x>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
|
||||
["<C-u>"] = actions.preview_scrolling_up,
|
||||
["<C-d>"] = actions.preview_scrolling_down,
|
||||
|
||||
["<PageUp>"] = actions.results_scrolling_up,
|
||||
["<PageDown>"] = actions.results_scrolling_down,
|
||||
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
["<C-l>"] = actions.complete_tag,
|
||||
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
|
||||
},
|
||||
|
||||
n = {
|
||||
["<esc>"] = actions.close,
|
||||
["<CR>"] = actions.select_default,
|
||||
["<C-x>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
|
||||
["j"] = actions.move_selection_next,
|
||||
["k"] = actions.move_selection_previous,
|
||||
["H"] = actions.move_to_top,
|
||||
["M"] = actions.move_to_middle,
|
||||
["L"] = actions.move_to_bottom,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
["<Up>"] = actions.move_selection_previous,
|
||||
["gg"] = actions.move_to_top,
|
||||
["G"] = actions.move_to_bottom,
|
||||
|
||||
["<C-u>"] = actions.preview_scrolling_up,
|
||||
["<C-d>"] = actions.preview_scrolling_down,
|
||||
|
||||
["<PageUp>"] = actions.results_scrolling_up,
|
||||
["<PageDown>"] = actions.results_scrolling_down,
|
||||
|
||||
["?"] = actions.which_key,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
telescope.setup(options)
|
||||
|
||||
-- load extensions
|
||||
pcall(function()
|
||||
for _, ext in ipairs(options.extensions_list) do
|
||||
telescope.load_extension(ext)
|
||||
end
|
||||
end)
|
|
@ -1,97 +0,0 @@
|
|||
local status_ok, telescope = pcall(require, "telescope")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local actions = require("telescope.actions")
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
|
||||
-- prompt_prefix = " ",
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
path_display = { "smart" },
|
||||
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-n>"] = actions.cycle_history_next,
|
||||
["<C-p>"] = actions.cycle_history_prev,
|
||||
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
|
||||
["<C-c>"] = actions.close,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
["<Up>"] = actions.move_selection_previous,
|
||||
|
||||
["<CR>"] = actions.select_default,
|
||||
["<C-x>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
|
||||
["<C-u>"] = actions.preview_scrolling_up,
|
||||
["<C-d>"] = actions.preview_scrolling_down,
|
||||
|
||||
["<PageUp>"] = actions.results_scrolling_up,
|
||||
["<PageDown>"] = actions.results_scrolling_down,
|
||||
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
["<C-l>"] = actions.complete_tag,
|
||||
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
|
||||
},
|
||||
|
||||
n = {
|
||||
["<esc>"] = actions.close,
|
||||
["<CR>"] = actions.select_default,
|
||||
["<C-x>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
|
||||
["j"] = actions.move_selection_next,
|
||||
["k"] = actions.move_selection_previous,
|
||||
["H"] = actions.move_to_top,
|
||||
["M"] = actions.move_to_middle,
|
||||
["L"] = actions.move_to_bottom,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
["<Up>"] = actions.move_selection_previous,
|
||||
["gg"] = actions.move_to_top,
|
||||
["G"] = actions.move_to_bottom,
|
||||
|
||||
["<C-u>"] = actions.preview_scrolling_up,
|
||||
["<C-d>"] = actions.preview_scrolling_down,
|
||||
|
||||
["<PageUp>"] = actions.results_scrolling_up,
|
||||
["<PageDown>"] = actions.results_scrolling_down,
|
||||
|
||||
["?"] = actions.which_key,
|
||||
},
|
||||
},
|
||||
},
|
||||
pickers = {
|
||||
-- Default configuration for builtin pickers goes here:
|
||||
-- picker_name = {
|
||||
-- picker_config_key = value,
|
||||
-- ...
|
||||
-- }
|
||||
-- Now the picker_config_key will be applied every time you call this
|
||||
-- builtin picker
|
||||
},
|
||||
extensions = {
|
||||
-- Your extension configuration goes here:
|
||||
-- extension_name = {
|
||||
-- extension_config_key = value,
|
||||
-- }
|
||||
-- please take a look at the readme of the extension you want to configure
|
||||
},
|
||||
})
|
|
@ -1,70 +0,0 @@
|
|||
local status_ok, toggleterm = pcall(require, "toggleterm")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
toggleterm.setup({
|
||||
size = 20,
|
||||
open_mapping = [[<c-\>]],
|
||||
hide_numbers = true,
|
||||
shade_filetypes = {},
|
||||
shade_terminals = true,
|
||||
shading_factor = 2,
|
||||
start_in_insert = true,
|
||||
insert_mappings = true,
|
||||
persist_size = true,
|
||||
direction = "float",
|
||||
close_on_exit = true,
|
||||
shell = vim.o.shell,
|
||||
float_opts = {
|
||||
border = "curved",
|
||||
winblend = 0,
|
||||
highlights = {
|
||||
border = "Normal",
|
||||
background = "Normal",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
function _G.set_terminal_keymaps()
|
||||
local opts = { noremap = true }
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<esc>", [[<C-\><C-n>]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "jk", [[<C-\><C-n>]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-h>", [[<C-\><C-n><C-W>h]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-j>", [[<C-\><C-n><C-W>j]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-k>", [[<C-\><C-n><C-W>k]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-l>", [[<C-\><C-n><C-W>l]], opts)
|
||||
end
|
||||
|
||||
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|
||||
|
||||
local Terminal = require("toggleterm.terminal").Terminal
|
||||
local lazygit = Terminal:new({ cmd = "lazygit", hidden = true })
|
||||
|
||||
function _LAZYGIT_TOGGLE()
|
||||
lazygit:toggle()
|
||||
end
|
||||
|
||||
local node = Terminal:new({ cmd = "node", hidden = true })
|
||||
|
||||
function _NODE_TOGGLE()
|
||||
node:toggle()
|
||||
end
|
||||
|
||||
local ncdu = Terminal:new({ cmd = "ncdu", hidden = true })
|
||||
|
||||
function _NCDU_TOGGLE()
|
||||
ncdu:toggle()
|
||||
end
|
||||
|
||||
local htop = Terminal:new({ cmd = "htop", hidden = true })
|
||||
|
||||
function _HTOP_TOGGLE()
|
||||
htop:toggle()
|
||||
end
|
||||
|
||||
local python = Terminal:new({ cmd = "python", hidden = true })
|
||||
|
||||
function _PYTHON_TOGGLE()
|
||||
python:toggle()
|
||||
end
|
|
@ -1,48 +0,0 @@
|
|||
local status_ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
configs.setup({
|
||||
ensure_installed = {
|
||||
"lua",
|
||||
"vim",
|
||||
},
|
||||
ignore_install = { "phpdoc" }, -- List of parsers to ignore installing
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = { "css" }, -- list of language that will be disabled
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
-- context_commentstring = {
|
||||
-- enable = true,
|
||||
-- enable_autocmd = false,
|
||||
-- config = {
|
||||
-- Languages that have a single comment style
|
||||
-- typescript = "// %s",
|
||||
-- css = "/* %s */",
|
||||
-- scss = "/* %s */",
|
||||
-- html = "<!-- %s -->",
|
||||
-- svelte = "<!-- %s -->",
|
||||
-- vue = "<!-- %s -->",
|
||||
-- jsx = "{/* %s */}",
|
||||
-- json = "",
|
||||
-- },
|
||||
-- },
|
||||
-- rainbow = {
|
||||
-- enable = true,
|
||||
-- disable = { "html", "tsx" },
|
||||
-- equery = "rainbow-parens",
|
||||
-- strategy = require("ts-rainbow").strategy.global,
|
||||
-- },
|
||||
rainbow = {
|
||||
enable = false,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 1000, -- Do not enable for files with more than 1000 lines, int
|
||||
},
|
||||
-- autotag = { enable = true, enable_rename = true, enable_close = true, enable_close_on_slash = true },
|
||||
incremental_selection = { enable = true },
|
||||
indent = { enable = true, disable = { "python", "css" } },
|
||||
autopairs = {
|
||||
enable = true,
|
||||
},
|
||||
})
|
44
lua/user/utils.lua
Normal file
44
lua/user/utils.lua
Normal file
|
@ -0,0 +1,44 @@
|
|||
local M = {}
|
||||
function M.bufremove(buf)
|
||||
buf = buf or 0
|
||||
buf = buf == 0 and vim.api.nvim_get_current_buf() or buf
|
||||
|
||||
if vim.bo.modified then
|
||||
local choice = vim.fn.confirm(("Save changes to %q?"):format(vim.fn.bufname()), "&Yes\n&No\n&Cancel")
|
||||
if choice == 0 then -- Cancel
|
||||
return
|
||||
end
|
||||
if choice == 1 then -- Yes
|
||||
vim.cmd.write()
|
||||
end
|
||||
end
|
||||
|
||||
for _, win in ipairs(vim.fn.win_findbuf(buf)) do
|
||||
vim.api.nvim_win_call(win, function()
|
||||
if not vim.api.nvim_win_is_valid(win) or vim.api.nvim_win_get_buf(win) ~= buf then
|
||||
return
|
||||
end
|
||||
-- Try using alternate buffer
|
||||
local alt = vim.fn.bufnr("#")
|
||||
if alt ~= buf and vim.fn.buflisted(alt) == 1 then
|
||||
vim.api.nvim_win_set_buf(win, alt)
|
||||
return
|
||||
end
|
||||
|
||||
-- Try using previous buffer
|
||||
local has_previous = pcall(vim.cmd, "bprevious")
|
||||
if has_previous and buf ~= vim.api.nvim_win_get_buf(win) then
|
||||
return
|
||||
end
|
||||
|
||||
-- Create new listed buffer
|
||||
local new_buf = vim.api.nvim_create_buf(true, false)
|
||||
vim.api.nvim_win_set_buf(win, new_buf)
|
||||
end)
|
||||
end
|
||||
if vim.api.nvim_buf_is_valid(buf) then
|
||||
pcall(vim.cmd, "bdelete! " .. buf)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
|
@ -1,509 +0,0 @@
|
|||
local web_devicons_ok, web_devicons = pcall(require, "nvim-web-devicons")
|
||||
if not web_devicons_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local material_icon_ok, material_icon = pcall(require, "nvim-material-icon")
|
||||
if not material_icon_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local prettier_icon = ""
|
||||
material_icon.setup({
|
||||
override = {
|
||||
["mjs"] = {
|
||||
icon = "",
|
||||
color = "#f2c55c",
|
||||
cterm_color = "220",
|
||||
name = "Mjs",
|
||||
},
|
||||
["js"] = {
|
||||
icon = "",
|
||||
color = "#f2c55c",
|
||||
cterm_color = "220",
|
||||
name = "javascript",
|
||||
},
|
||||
["ts"] = {
|
||||
icon = "",
|
||||
color = "#548af7",
|
||||
cterm_color = "220",
|
||||
name = "ts",
|
||||
},
|
||||
["jsx"] = {
|
||||
icon = "",
|
||||
color = "#61dafb",
|
||||
cterm_color = "220",
|
||||
name = "jsx",
|
||||
},
|
||||
["tsx"] = {
|
||||
icon = "",
|
||||
color = "#3699ff",
|
||||
cterm_color = "220",
|
||||
name = "Tsx",
|
||||
},
|
||||
["svg"] = {
|
||||
icon = "",
|
||||
color = "#FDB03A",
|
||||
cterm_color = "220",
|
||||
name = "svg",
|
||||
},
|
||||
["prisma"] = {
|
||||
icon = "",
|
||||
color = "#0FBFCF",
|
||||
cterm_color = "220",
|
||||
name = "prisma",
|
||||
},
|
||||
["json"] = {
|
||||
icon = "",
|
||||
color = "#f16421",
|
||||
cterm_color = "220",
|
||||
name = "json",
|
||||
},
|
||||
["map"] = {
|
||||
icon = "",
|
||||
color = "#748e54",
|
||||
cterm_color = "220",
|
||||
name = "map",
|
||||
},
|
||||
["svelte"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "220",
|
||||
name = "svelte",
|
||||
},
|
||||
["yaml"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "220",
|
||||
name = "yaml",
|
||||
},
|
||||
["vsix"] = {
|
||||
icon = "",
|
||||
color = "#30A2FF",
|
||||
cterm_color = "220",
|
||||
name = "vsix",
|
||||
},
|
||||
["class"] = {
|
||||
icon = "",
|
||||
color = "#1e88e5",
|
||||
cterm_color = "220",
|
||||
name = "JavaClass",
|
||||
},
|
||||
["java"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "220",
|
||||
name = "JavaFile",
|
||||
},
|
||||
["gradle"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "220",
|
||||
name = "GradleFile",
|
||||
},
|
||||
["mod"] = {
|
||||
icon = "",
|
||||
color = "#C5362B",
|
||||
cterm_color = "220",
|
||||
name = "gomod",
|
||||
},
|
||||
["blade.php"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "220",
|
||||
name = "bladephp",
|
||||
},
|
||||
["7z"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "220",
|
||||
name = "7z",
|
||||
},
|
||||
["zip"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "220",
|
||||
name = "zip",
|
||||
},
|
||||
["rar"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "220",
|
||||
name = "rar",
|
||||
},
|
||||
["cfm"] = {
|
||||
icon = "",
|
||||
color = "#507F89",
|
||||
cterm_color = "220",
|
||||
name = "cfm",
|
||||
},
|
||||
["cfc"] = {
|
||||
icon = "",
|
||||
color = "#507F89",
|
||||
cterm_color = "220",
|
||||
name = "cfc",
|
||||
},
|
||||
["png"] = {
|
||||
icon = "",
|
||||
color = "#3574f0",
|
||||
cterm_color = "220",
|
||||
name = "Png",
|
||||
},
|
||||
["jpg"] = {
|
||||
icon = "",
|
||||
color = "#3574f0",
|
||||
cterm_color = "220",
|
||||
name = "jpg",
|
||||
},
|
||||
["jpeg"] = {
|
||||
icon = "",
|
||||
color = "#88C057",
|
||||
cterm_color = "220",
|
||||
name = "jpeg",
|
||||
},
|
||||
["csv"] = {
|
||||
icon = "",
|
||||
color = "#57965c",
|
||||
cterm_color = "220",
|
||||
name = "csv",
|
||||
},
|
||||
["sql"] = {
|
||||
icon = "",
|
||||
color = "#b589ec",
|
||||
cterm_color = "220",
|
||||
name = "sqlfile",
|
||||
},
|
||||
["php"] = {
|
||||
icon = "",
|
||||
color = "#b589ec",
|
||||
cterm_color = "220",
|
||||
name = "phpfile",
|
||||
},
|
||||
["mp4"] = {
|
||||
icon = "",
|
||||
color = "#FC6411",
|
||||
cterm_color = "220",
|
||||
name = "mp4file",
|
||||
},
|
||||
["md"] = {
|
||||
icon = "",
|
||||
color = "#42a5f5",
|
||||
cterm_color = "220",
|
||||
name = "markdown",
|
||||
},
|
||||
["sh"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "220",
|
||||
name = "README_file",
|
||||
},
|
||||
["pdf"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "220",
|
||||
name = "pdffile",
|
||||
},
|
||||
["xlsx"] = {
|
||||
icon = "",
|
||||
color = "#349C42",
|
||||
cterm_color = "220",
|
||||
name = "xlsxfile",
|
||||
},
|
||||
["xls"] = {
|
||||
icon = "",
|
||||
color = "#349C42",
|
||||
cterm_color = "220",
|
||||
name = "xlsfile",
|
||||
},
|
||||
-- ["go"] = {
|
||||
-- icon = "",
|
||||
-- color = "#0FBFCF",
|
||||
-- cterm_color = "220",
|
||||
-- name = "go",
|
||||
-- },
|
||||
},
|
||||
color_icons = true,
|
||||
default = true,
|
||||
})
|
||||
|
||||
web_devicons.setup({
|
||||
override = material_icon.get_icons(),
|
||||
override_by_filename = {
|
||||
["artisan"] = {
|
||||
icon = "",
|
||||
color = "#ef510b",
|
||||
cterm_color = "240",
|
||||
name = "artisan",
|
||||
},
|
||||
["vite.config.ts"] = {
|
||||
icon = "",
|
||||
color = "#ffab00",
|
||||
cterm_color = "240",
|
||||
name = "viteconfigts",
|
||||
},
|
||||
["vite.config.js"] = {
|
||||
icon = "",
|
||||
color = "#ffab00",
|
||||
cterm_color = "240",
|
||||
name = "viteconfigjs",
|
||||
},
|
||||
[".releaserc"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "240",
|
||||
name = "releaserc",
|
||||
},
|
||||
[".profile"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "240",
|
||||
name = "profiledata",
|
||||
},
|
||||
[".eslint_d"] = {
|
||||
icon = "",
|
||||
color = "#4930bd",
|
||||
cterm_color = "240",
|
||||
name = "eslintd",
|
||||
},
|
||||
[".eslintrc.cjs"] = {
|
||||
icon = "",
|
||||
color = "#4930bd",
|
||||
cterm_color = "240",
|
||||
name = "eslintrccjs",
|
||||
},
|
||||
[".htaccess"] = {
|
||||
icon = "",
|
||||
color = "#C63C17",
|
||||
cterm_color = "240",
|
||||
name = "htaccess",
|
||||
},
|
||||
["pom.xml"] = {
|
||||
icon = "",
|
||||
color = "#C63C17",
|
||||
cterm_color = "240",
|
||||
name = "pomxml",
|
||||
},
|
||||
[".huskyrc"] = {
|
||||
icon = "",
|
||||
color = "#ffffff",
|
||||
cterm_color = "240",
|
||||
name = "huskyrc",
|
||||
},
|
||||
[".prettierrc"] = {
|
||||
icon = prettier_icon,
|
||||
color = "#ea5e5e",
|
||||
cterm_color = "240",
|
||||
name = "prettierrc",
|
||||
},
|
||||
[".prettierrc.json"] = {
|
||||
icon = prettier_icon,
|
||||
color = "#ea5e5e",
|
||||
cterm_color = "240",
|
||||
name = "prettierrcjson",
|
||||
},
|
||||
[".prettierd"] = {
|
||||
icon = prettier_icon,
|
||||
color = "#ea5e5e",
|
||||
cterm_color = "240",
|
||||
name = "prettierd",
|
||||
},
|
||||
[".vscodeignore"] = {
|
||||
icon = "",
|
||||
color = "#30A2FF",
|
||||
cterm_color = "240",
|
||||
name = "vscodeignore",
|
||||
},
|
||||
[".vsixmanifest"] = {
|
||||
icon = "",
|
||||
color = "#30A2FF",
|
||||
cterm_color = "240",
|
||||
name = "vsixmanifest",
|
||||
},
|
||||
[".prettierignore"] = {
|
||||
icon = prettier_icon,
|
||||
color = "#ea5e5e",
|
||||
cterm_color = "240",
|
||||
name = "prettierignore",
|
||||
},
|
||||
[".sequelizerc"] = {
|
||||
icon = "",
|
||||
color = "#397883",
|
||||
cterm_color = "220",
|
||||
name = "sequelizerc",
|
||||
},
|
||||
["pre-commit"] = {
|
||||
icon = "",
|
||||
color = "#75e4b3",
|
||||
cterm_color = "240",
|
||||
name = "pre",
|
||||
},
|
||||
["yarn.lock"] = {
|
||||
icon = "",
|
||||
color = "#ea5e5e",
|
||||
cterm_color = "240",
|
||||
name = "yarnlock",
|
||||
},
|
||||
["yarn-error.log"] = {
|
||||
icon = "",
|
||||
color = "#3d85c6",
|
||||
cterm_color = "240",
|
||||
name = "yarnerror",
|
||||
},
|
||||
[".eslintrc.json"] = {
|
||||
icon = "",
|
||||
color = "#4746a8",
|
||||
cterm_color = "240",
|
||||
name = "eslintrc",
|
||||
},
|
||||
[".eslintrc.js"] = {
|
||||
icon = "",
|
||||
color = "#4746a8",
|
||||
cterm_color = "240",
|
||||
name = "eslintrcjs",
|
||||
},
|
||||
[".eslintignore"] = {
|
||||
icon = "",
|
||||
color = "#4746a8",
|
||||
cterm_color = "240",
|
||||
name = "eslintignore",
|
||||
},
|
||||
["jest.config.js"] = {
|
||||
icon = "",
|
||||
color = "#e37575",
|
||||
cterm_color = "220",
|
||||
name = "jestconfig",
|
||||
},
|
||||
["cname"] = {
|
||||
icon = "",
|
||||
color = "#e37575",
|
||||
cterm_color = "220",
|
||||
name = "cname",
|
||||
},
|
||||
[".nvmrc"] = {
|
||||
icon = "",
|
||||
color = "#E8274B",
|
||||
cterm_color = "220",
|
||||
name = "nvmrc",
|
||||
},
|
||||
[".yarnrc"] = {
|
||||
icon = "",
|
||||
color = "#3d85c6",
|
||||
cterm_color = "240",
|
||||
name = "yarnrc",
|
||||
},
|
||||
[".git-blame-ignore-revs"] = {
|
||||
icon = "",
|
||||
color = "#F14C28",
|
||||
cterm_color = "220",
|
||||
name = "gitblameignorerevs",
|
||||
},
|
||||
[".gitmodules"] = {
|
||||
icon = "",
|
||||
color = "#0c343d",
|
||||
cterm_color = "220",
|
||||
name = "gitmodules",
|
||||
},
|
||||
[".mailmap"] = {
|
||||
icon = "",
|
||||
color = "#a0d0d0",
|
||||
cterm_color = "220",
|
||||
name = "mailmap",
|
||||
},
|
||||
[".vscode-test.js"] = {
|
||||
icon = "",
|
||||
color = "#206ba3",
|
||||
cterm_color = "220",
|
||||
name = "vscodetest",
|
||||
},
|
||||
[".mention-bot"] = {
|
||||
icon = "",
|
||||
color = "#ffffff",
|
||||
cterm_color = "220",
|
||||
name = "mentionbot",
|
||||
},
|
||||
[".project"] = {
|
||||
icon = "",
|
||||
color = "#5881b1",
|
||||
cterm_color = "220",
|
||||
name = "project",
|
||||
},
|
||||
["gradlew"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "220",
|
||||
name = "gradlewFile",
|
||||
},
|
||||
[".classpath"] = {
|
||||
icon = "",
|
||||
color = "#9C9C9C",
|
||||
cterm_color = "220",
|
||||
name = "gradlewFile",
|
||||
},
|
||||
["dockerfile-development"] = {
|
||||
icon = "",
|
||||
color = "#0087c9",
|
||||
cterm_color = "220",
|
||||
name = "gradlewFile-development",
|
||||
},
|
||||
["dockerfile-staging"] = {
|
||||
icon = "",
|
||||
color = "#0087c9",
|
||||
cterm_color = "220",
|
||||
name = "gradlewFile-staging",
|
||||
},
|
||||
["nodemon.json"] = {
|
||||
icon = "",
|
||||
color = "#76d04b",
|
||||
cterm_color = "220",
|
||||
name = "nodemonjson",
|
||||
},
|
||||
["webpack.config.js"] = {
|
||||
icon = "",
|
||||
color = "#8ED6FB",
|
||||
cterm_color = "220",
|
||||
name = "webpackconfigjs",
|
||||
},
|
||||
["package.json"] = {
|
||||
icon = "",
|
||||
color = "#8ED6FB",
|
||||
cterm_color = "220",
|
||||
name = "packagejson",
|
||||
},
|
||||
["package-lock.json"] = {
|
||||
icon = "",
|
||||
color = "#cc0000",
|
||||
cterm_color = "220",
|
||||
name = "packagelockjson",
|
||||
},
|
||||
[".gitignore"] = {
|
||||
icon = "",
|
||||
color = "#8ED6FB",
|
||||
cterm_color = "220",
|
||||
name = "gitignore",
|
||||
},
|
||||
["tsconfig.json"] = {
|
||||
icon = "",
|
||||
color = "#519aba",
|
||||
cterm_color = "74",
|
||||
name = "TSConfig",
|
||||
},
|
||||
["jsconfig.json"] = {
|
||||
icon = "",
|
||||
color = "#f2c55c",
|
||||
cterm_color = "220",
|
||||
name = "JSConfig",
|
||||
},
|
||||
[".gitlab-ci.yml"] = {
|
||||
icon = "",
|
||||
color = "#F14C28",
|
||||
cterm_color = "220",
|
||||
name = "gitlabciyaml",
|
||||
},
|
||||
[".env_example"] = {
|
||||
icon = "",
|
||||
color = "#faf743",
|
||||
cterm_color = "227",
|
||||
name = "Envexample",
|
||||
},
|
||||
},
|
||||
})
|
File diff suppressed because it is too large
Load diff
|
@ -17,12 +17,6 @@ function _NODE_TOGGLE()
|
|||
node:toggle()
|
||||
end
|
||||
|
||||
-- function _NCDU_TOGGLE()
|
||||
-- local Terminal = require("toggleterm.terminal").Terminal
|
||||
-- local ncdu = Terminal:new({ cmd = "ncdu", hidden = true })
|
||||
-- ncdu:toggle()
|
||||
-- end
|
||||
|
||||
function _HTOP_TOGGLE()
|
||||
local Terminal = require("toggleterm.terminal").Terminal
|
||||
local htop = Terminal:new({ cmd = "htop", hidden = true })
|
||||
|
@ -176,7 +170,6 @@ local setup = {
|
|||
i = { "j", "k" },
|
||||
v = { "j", "k" },
|
||||
},
|
||||
-- disable the WhichKey popup for certain buf types and file types.
|
||||
-- Disabled by default for Telescope
|
||||
disable = {
|
||||
buftypes = {},
|
||||
|
@ -202,19 +195,8 @@ local opts2 = {
|
|||
nowait = true, -- use `nowait` when creating keymaps
|
||||
}
|
||||
|
||||
-- local trn = ""
|
||||
-- if vim.fn.has("win32") == 1 then
|
||||
-- trn = "pwsh<cr>"
|
||||
-- end
|
||||
-- for debug
|
||||
local debug_key = {}
|
||||
-- local trasparant = {}
|
||||
-- local is_dap = pcall(require, "dap")
|
||||
|
||||
-- local trans_ok, _ = pcall(require, "transparent")
|
||||
-- if trans_ok then
|
||||
-- trasparant = { "<cmd>TransparentToggle<cr>", "Toggle Transparency" }
|
||||
-- end
|
||||
|
||||
if vim.fn.has("win32") == 0 then
|
||||
debug_key = {
|
||||
|
@ -240,14 +222,10 @@ local mappings2 = {
|
|||
["/"] = { "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>", " Commet Block" },
|
||||
}
|
||||
local mappings = {
|
||||
-- ["c"] = trasparant,
|
||||
["a"] = { "<cmd>Alpha<cr>", " Alpha" },
|
||||
--["e"] = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
|
||||
["e"] = { "<cmd>NvimTreeToggle<cr><cr>", " Explorer" },
|
||||
["w"] = { "<cmd>w!<CR>", " Save" },
|
||||
["q"] = { "<cmd>q!<CR>", " Quit" },
|
||||
-- ["c"] = { "<cmd>Bdelete!<CR>", " Close Buffer" },
|
||||
-- ["k"] = { "<cmd>lua _close_buffer()<CR>", " Close Buffer" },
|
||||
-- open exloler and close toggleterm
|
||||
["o"] = { "<cmd>lua _OPEN_EXPLORER()<cr><cmd>lua require('toggleterm').toggle()<cr>", " Open Explorer" },
|
||||
["h"] = { "<cmd>nohlsearch<CR>", " No Highlight" },
|
||||
|
@ -256,29 +234,12 @@ local mappings = {
|
|||
" Find files",
|
||||
},
|
||||
["F"] = { "<cmd>Telescope live_grep theme=ivy<cr>", " Find Text" },
|
||||
-- ["P"] = { "<cmd>lua require('telescope').extensions.projects.projects()<cr>", "Projects" },
|
||||
-- ["z"] = { "<cmd>Lazy<cr>", "Lazy" },
|
||||
|
||||
["/"] = {
|
||||
function()
|
||||
require("Comment.api").toggle.linewise.current()
|
||||
end,
|
||||
" Coment line",
|
||||
},
|
||||
-- ["m"] = {
|
||||
-- name = "Markdown",
|
||||
-- p = { "<cmd>MarkdownPreview<cr>", "Preview" },
|
||||
-- s = { "<cmd>MarkdownPreviewStop<cr>", "Stop Preview" },
|
||||
-- },
|
||||
-- p = {
|
||||
-- name = "Packer",
|
||||
-- c = { "<cmd>PackerCompile<cr>", "Compile" },
|
||||
-- i = { "<cmd>PackerInstall<cr>", "Install" },
|
||||
-- s = { "<cmd>PackerSync<cr>", "Sync" },
|
||||
-- S = { "<cmd>PackerStatus<cr>", "Status" },
|
||||
-- u = { "<cmd>PackerUpdate<cr>", "Update" },
|
||||
-- },
|
||||
|
||||
b = {
|
||||
name = " Buffers",
|
||||
-- show all buffers with telescope
|
||||
|
@ -378,16 +339,11 @@ local mappings = {
|
|||
|
||||
t = {
|
||||
name = " Terminal",
|
||||
-- l = { "<cmd>lua _LIVE_SERVER()<cr>", "Live Server" },
|
||||
l = { "<cmd>terminal live-server<cr>", "Live Server" },
|
||||
P = { "<cmd>lua _NEWTAB_TOGGLE()<cr>", "Power Shell" },
|
||||
-- l = { "<cmd>ToggleTerm direction=tab<cr>live-server<cr>", "Live Server" },
|
||||
x = { "<cmd>ToggleTermToggleAll!<cr>", "Close Tab" },
|
||||
n = { "<cmd>lua _NODE_TOGGLE()<cr>", "Node" },
|
||||
-- u = { "<cmd>lua _NCDU_TOGGLE()<cr>", "NCDU" },
|
||||
-- t = { "<cmd>lua _HTOP_TOGGLE()<cr>", "Htop" },
|
||||
b = { "<cmd>lua _BTOP_TOGGLE()<cr>", "Btop" },
|
||||
-- B = { "<cmd>lua _BTM_TOGGLE()<cr>", "Boottom" },
|
||||
p = { "<cmd>lua _PYTHON_TOGGLE()<cr>", "Python" },
|
||||
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" },
|
||||
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" },
|
||||
|
@ -413,142 +369,7 @@ local mappings = {
|
|||
"<cmd>terminal mvn package<cr>",
|
||||
"MVN Build",
|
||||
},
|
||||
-- m = {
|
||||
-- name = "Maven",
|
||||
-- b = { "<cmd>terminal mvn package<cr>", "MVN Build" },
|
||||
-- r = { "<cmd>terminal java -jar target/my-app.jar<cr>", "Run JAR" },
|
||||
-- },
|
||||
},
|
||||
-- D = {
|
||||
-- name = "Debug",
|
||||
-- b = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").toggle_breakpoint()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Toggle Breakpoint",
|
||||
-- },
|
||||
-- B = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").clear_breakpoints()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Clear Breakpoints",
|
||||
-- },
|
||||
-- c = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").continue()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Start/Continue",
|
||||
-- },
|
||||
-- i = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").step_into()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Step Into (F11)",
|
||||
-- },
|
||||
-- o = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").step_over()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Step Over (F10)",
|
||||
-- },
|
||||
-- O = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").step_out()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Step Out (S-F11)",
|
||||
-- },
|
||||
-- q = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").close()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Close Session",
|
||||
-- },
|
||||
-- Q = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").terminate()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Terminate Session (S-F5)",
|
||||
-- },
|
||||
-- p = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").pause()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Pause (F6)",
|
||||
-- },
|
||||
-- r = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").restart_frame()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Restart (C-F5)",
|
||||
-- },
|
||||
-- R = {
|
||||
-- function()
|
||||
-- if is_dap then
|
||||
-- require("dap").repl.toggle()
|
||||
-- else
|
||||
-- vim.notify("DAP Not Support", "info")
|
||||
-- end
|
||||
-- end,
|
||||
-- "Toggle REPL",
|
||||
-- },
|
||||
-- },
|
||||
-- d = {
|
||||
-- name = "Debug",
|
||||
-- t = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Toggle Breakpoint" },
|
||||
-- b = { "<cmd>lua require'dap'.step_back()<cr>", "Step Back" },
|
||||
-- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
|
||||
-- C = { "<cmd>lua require'dap'.run_to_cursor()<cr>", "Run To Cursor" },
|
||||
-- d = { "<cmd>lua require'dap'.disconnect()<cr>", "Disconnect" },
|
||||
-- g = { "<cmd>lua require'dap'.session()<cr>", "Get Session" },
|
||||
-- i = { "<cmd>lua require'dap'.step_into()<cr>", "Step Into" },
|
||||
-- o = { "<cmd>lua require'dap'.step_over()<cr>", "Step Over" },
|
||||
-- u = { "<cmd>lua require'dap'.step_out()<cr>", "Step Out" },
|
||||
-- p = { "<cmd>lua require'dap'.pause()<cr>", "Pause" },
|
||||
-- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Toggle Repl" },
|
||||
-- s = { "<cmd>lua require'dap'.continue()<cr>", "Start" },
|
||||
-- q = { "<cmd>lua require'dap'.close()<cr>", "Quit" },
|
||||
-- U = { "<cmd>lua require'dapui'.toggle({reset = true})<cr>", "Toggle UI" },
|
||||
-- },
|
||||
d = debug_key,
|
||||
z = {
|
||||
name = " Plugins(Lazy)",
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
local status_ok, yanky = pcall(require, "yanky")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
yanky.setup({
|
||||
ring = {
|
||||
history_length = 50,
|
||||
storage = "memory",
|
||||
},
|
||||
preserve_cursor_position = {
|
||||
enabled = false,
|
||||
},
|
||||
})
|
||||
|
||||
-- cycle through the yank history, only work after paste
|
||||
vim.keymap.set("n", "[y", "<Plug>(YankyCycleForward)")
|
||||
vim.keymap.set("n", "]y", "<Plug>(YankyCycleBackward)")
|
Loading…
Add table
Add a link
Reference in a new issue