mirror of
https://github.com/pojokcodeid/nvim-lazy.git
synced 2025-06-26 10:48:40 +02:00
Merge branch 'v2'
This commit is contained in:
commit
d9f7dd2533
15 changed files with 730 additions and 539 deletions
|
@ -4,7 +4,7 @@ require("config.lazy")
|
|||
require("user.colorscheme")
|
||||
require("user.keymaps")
|
||||
-- require("user.snip")
|
||||
-- require("core.neovide")
|
||||
require("core.neovide")
|
||||
require("custom.autocmd")
|
||||
require("custom.keymaps")
|
||||
-- require("user.nvim-tree")
|
||||
|
@ -17,5 +17,5 @@ require("custom.keymaps")
|
|||
-- require("user.chat_gpt")
|
||||
-- vim.cmd("colorscheme one_monokai")
|
||||
-- vim.cmd("colorscheme onedark")
|
||||
-- vim.cmd("colorscheme github_dark_dimmed")
|
||||
vim.cmd("colorscheme github_dark_dimmed")
|
||||
-- vim.cmd("colorscheme github_dark_high_contrast")
|
||||
|
|
|
@ -1,14 +1,35 @@
|
|||
if vim.g.neovide then
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.g.neovide_input_use_logo = 1 -- enable use of the logo (cmd) key
|
||||
vim.keymap.set("n", "<c-s>", ":w<CR>") -- Save
|
||||
vim.keymap.set("v", "<c-c>", '"+y') -- Copy
|
||||
vim.keymap.set("n", "<c-v>", '"+P') -- Paste normal mode
|
||||
vim.keymap.set("v", "<c-v>", '"+P') -- Paste visual mode
|
||||
vim.keymap.set("c", "<c-v>", "<C-R>+") -- Paste command mode
|
||||
vim.keymap.set("i", "<c-v>", '<ESC>l"+Pli') -- Paste insert mode
|
||||
vim.keymap.set("n", "<c-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise.current()<cr>$i<Right><leader>")
|
||||
vim.keymap.set("i", "<c-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise.current()<cr>$i<Right><leader>")
|
||||
vim.keymap.set("v", "<c-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>")
|
||||
vim.keymap.set("n", "<c-s>", ":w<CR>", opts) -- Save
|
||||
vim.keymap.set("v", "<c-c>", '"+y', opts) -- Copy
|
||||
vim.keymap.set("n", "<c-v>", '"+P', opts) -- Paste normal mode
|
||||
vim.keymap.set("v", "<c-v>", '"+P', opts) -- Paste visual mode
|
||||
vim.keymap.set("x", "<c-v>", '"+P', opts) -- Paste visual mode
|
||||
vim.keymap.set("c", "<c-v>", "<C-R>+", opts) -- Paste command mode
|
||||
vim.keymap.set("c", "<c-v>", '"+P', opts) -- Paste command mode
|
||||
vim.keymap.set("i", "<c-v>", '<ESC>l"+Pli', opts) -- Paste insert mode
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<c-/>",
|
||||
"<esc><cmd>lua require('Comment.api').toggle.linewise.current()<cr>$i<Right><leader>",
|
||||
opts
|
||||
)
|
||||
vim.keymap.set(
|
||||
"i",
|
||||
"<c-/>",
|
||||
"<esc><cmd>lua require('Comment.api').toggle.linewise.current()<cr>$i<Right><leader>",
|
||||
opts
|
||||
)
|
||||
vim.keymap.set("v", "<c-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>", opts)
|
||||
|
||||
-- vim.keymap.set("n", "<C-s>", ":w<CR>", opts) -- Save
|
||||
-- vim.keymap.set("v", "<C-c>", '"+y', opts) -- Copy
|
||||
-- vim.keymap.set("n", "<C-v>", '"+P', opts) -- Paste normal mode
|
||||
-- vim.keymap.set("v", "<C-v>", '"+P', opts) -- Paste visual mode
|
||||
-- vim.keymap.set("c", "<C-v>", "<C-R>+", opts) -- Paste command mode
|
||||
-- vim.keymap.set("i", "<C-v>", '<ESC>l"+Pli', opts) -- Paste insert mode
|
||||
-- vim.keymap.set("t", "<C-v>", '<C-\\><C-n>"+Pi', opts)
|
||||
|
||||
vim.o.guifont = "Hasklug_Nerd_Font:h15"
|
||||
vim.g.neovide_padding_top = 0
|
||||
|
@ -17,9 +38,8 @@ if vim.g.neovide then
|
|||
vim.g.neovide_padding_left = 1
|
||||
|
||||
-- config for transparent
|
||||
--vim.g.neovide_transparency = 0.8
|
||||
vim.g.neovide_hide_mouse_when_typing = false
|
||||
vim.g.neovide_transparency = 1
|
||||
vim.g.neovide_hide_mouse_when_typing = false
|
||||
vim.g.neovide_underline_automatic_scaling = false
|
||||
vim.g.neovide_refresh_rate_idle = 5
|
||||
vim.g.neovide_no_idle = true
|
||||
|
@ -42,11 +62,19 @@ if vim.g.neovide then
|
|||
vim.g.neovide_scale_factor = 1
|
||||
vim.opt.cmdheight = 0
|
||||
vim.opt.spell = false
|
||||
|
||||
vim.g.neovide_window_blurred = true
|
||||
vim.g.neovide_floating_blur_amount_x = 2.0
|
||||
vim.g.neovide_floating_blur_amount_y = 2.0
|
||||
vim.g.neovide_floating_shadow = false
|
||||
vim.g.neovide_floating_z_height = 10
|
||||
vim.g.neovide_light_angle_degrees = 45
|
||||
vim.g.neovide_light_radius = 5
|
||||
end
|
||||
|
||||
-- Allow clipboard copy paste in neovim
|
||||
vim.g.neovide_input_use_logo = 1
|
||||
vim.api.nvim_set_keymap("", "<c-v>", "+p<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("!", "<c-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("t", "<c-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("v", "<c-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
-- -- Allow clipboard copy paste in neovim
|
||||
-- vim.g.neovide_input_use_logo = 1
|
||||
-- vim.api.nvim_set_keymap("", "<c-v>", "+p<CR>", { noremap = true, silent = true })
|
||||
-- vim.api.nvim_set_keymap("!", "<c-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
-- vim.api.nvim_set_keymap("t", "<c-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
-- vim.api.nvim_set_keymap("v", "<c-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
|
|
|
@ -3,3 +3,9 @@ local keymap = vim.api.nvim_set_keymap
|
|||
|
||||
keymap("n", "]h", '<cmd>lua print("Testing")<cr>', opts)
|
||||
keymap("n", "f", "<cmd>NvimTreeFindFileToggle<cr><cr><Up>", opts)
|
||||
|
||||
-- Allow clipboard copy paste in neovim
|
||||
vim.api.nvim_set_keymap("", "<C-v>", "+p<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("!", "<C-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("t", "<C-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("v", "<C-v>", "<C-R>+", { noremap = true, silent = true })
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
return {
|
||||
"akinsho/bufferline.nvim",
|
||||
branch = "main",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
config = function()
|
||||
local status_ok, bufferline = pcall(require, "bufferline")
|
||||
|
|
|
@ -1,100 +1,109 @@
|
|||
return {
|
||||
-- {
|
||||
-- "navarasu/onedark.nvim",
|
||||
-- enabled = false,
|
||||
-- },
|
||||
-- {
|
||||
-- "projekt0n/github-nvim-theme",
|
||||
-- lazy = false, -- make sure we load this during startup if it is your main colorscheme
|
||||
-- priority = 1000, -- make sure to load this before all the other start plugins
|
||||
-- config = function()
|
||||
-- local is_transparent = false
|
||||
-- local palette = require("github-theme.palette").load("github_dark_dimmed")
|
||||
-- require("github-theme").setup({
|
||||
-- options = {
|
||||
-- -- Compiled file's destination location
|
||||
-- compile_path = vim.fn.stdpath("cache") .. "/github-theme",
|
||||
-- compile_file_suffix = "_compiled", -- Compiled file suffix
|
||||
-- hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look
|
||||
-- hide_nc_statusline = true, -- Override the underline style for non-active statuslines
|
||||
-- transparent = is_transparent, -- Disable setting background
|
||||
-- terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
|
||||
-- dim_inactive = false, -- Non focused panes set to alternative background
|
||||
-- module_default = true, -- Default enable value for modules
|
||||
-- styles = { -- Style to be applied to different syntax groups
|
||||
-- comments = "italic", -- Value is any valid attr-list value `:help attr-list`
|
||||
-- functions = "italic",
|
||||
-- keywords = "NONE",
|
||||
-- variables = "NONE",
|
||||
-- conditionals = "NONE",
|
||||
-- constants = "NONE",
|
||||
-- numbers = "NONE",
|
||||
-- operators = "NONE",
|
||||
-- strings = "NONE",
|
||||
-- types = "NONE",
|
||||
-- },
|
||||
-- inverse = { -- Inverse highlight for different types
|
||||
-- match_paren = false,
|
||||
-- visual = false,
|
||||
-- search = false,
|
||||
-- },
|
||||
-- darken = { -- Darken floating windows and sidebar-like windows
|
||||
-- floats = false,
|
||||
-- sidebars = {
|
||||
-- enabled = true,
|
||||
-- list = {}, -- Apply dark background to specific windows
|
||||
-- },
|
||||
-- },
|
||||
-- modules = { -- List of various plugins and additional options
|
||||
-- -- ...
|
||||
-- },
|
||||
-- },
|
||||
-- palettes = {
|
||||
-- github_dark_dimmed = {
|
||||
-- bg0 = is_transparent and "NONE" or "bg1",
|
||||
-- bg1 = is_transparent and "NONE" or "bg",
|
||||
-- },
|
||||
-- },
|
||||
-- specs = {},
|
||||
-- groups = {
|
||||
-- all = {
|
||||
-- illuminatedWord = { bg = "#3b4261" },
|
||||
-- illuminatedCurWord = { bg = "#3b4261" },
|
||||
-- IlluminatedWordText = { bg = "#3b4261" },
|
||||
-- IlluminatedWordRead = { bg = "#3b4261" },
|
||||
-- IlluminatedWordWrite = { bg = "#3b4261" },
|
||||
-- ["@tag.attribute"] = { fg = "#77bdfb", style = "italic" },
|
||||
-- ["@text.uri"] = { fg = palette.const, style = "italic" },
|
||||
-- ["@keyword.return"] = { fg = "#fa7970", style = "italic" },
|
||||
-- -- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" },
|
||||
-- -- ["@operator.html"] = { fg = "#faa356" },
|
||||
-- -- ["@tag.html"] = { fg = "#fa7970" },
|
||||
-- -- ["@tag.delimiter.html"] = { fg = "#faa356" },
|
||||
{
|
||||
"navarasu/onedark.nvim",
|
||||
enabled = false,
|
||||
},
|
||||
{
|
||||
"projekt0n/github-nvim-theme",
|
||||
lazy = false, -- make sure we load this during startup if it is your main colorscheme
|
||||
priority = 1000, -- make sure to load this before all the other start plugins
|
||||
config = function()
|
||||
local is_transparent = false
|
||||
local palette = require("github-theme.palette").load("github_dark_dimmed")
|
||||
require("github-theme").setup({
|
||||
options = {
|
||||
-- Compiled file's destination location
|
||||
compile_path = vim.fn.stdpath("cache") .. "/github-theme",
|
||||
compile_file_suffix = "_compiled", -- Compiled file suffix
|
||||
hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look
|
||||
hide_nc_statusline = true, -- Override the underline style for non-active statuslines
|
||||
transparent = is_transparent, -- Disable setting background
|
||||
terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
|
||||
dim_inactive = false, -- Non focused panes set to alternative background
|
||||
module_default = true, -- Default enable value for modules
|
||||
styles = { -- Style to be applied to different syntax groups
|
||||
comments = "italic", -- Value is any valid attr-list value `:help attr-list`
|
||||
functions = "italic",
|
||||
keywords = "NONE",
|
||||
variables = "NONE",
|
||||
conditionals = "NONE",
|
||||
constants = "NONE",
|
||||
numbers = "NONE",
|
||||
operators = "NONE",
|
||||
strings = "NONE",
|
||||
types = "NONE",
|
||||
},
|
||||
inverse = { -- Inverse highlight for different types
|
||||
match_paren = false,
|
||||
visual = false,
|
||||
search = false,
|
||||
},
|
||||
darken = { -- Darken floating windows and sidebar-like windows
|
||||
floats = false,
|
||||
sidebars = {
|
||||
enabled = true,
|
||||
list = {}, -- Apply dark background to specific windows
|
||||
},
|
||||
},
|
||||
modules = { -- List of various plugins and additional options
|
||||
-- ...
|
||||
},
|
||||
},
|
||||
palettes = {
|
||||
github_dark_dimmed = {
|
||||
bg0 = is_transparent and "NONE" or "bg1",
|
||||
bg1 = is_transparent and "NONE" or "bg",
|
||||
},
|
||||
},
|
||||
specs = {},
|
||||
groups = {
|
||||
all = {
|
||||
illuminatedWord = { bg = "#3b4261" },
|
||||
illuminatedCurWord = { bg = "#3b4261" },
|
||||
IlluminatedWordText = { bg = "#3b4261" },
|
||||
IlluminatedWordRead = { bg = "#3b4261" },
|
||||
IlluminatedWordWrite = { bg = "#3b4261" },
|
||||
["@tag.attribute"] = { fg = "#77bdfb", style = "italic" },
|
||||
["@text.uri"] = { fg = palette.const, style = "italic" },
|
||||
["@keyword.return"] = { fg = "#fa7970", style = "italic" },
|
||||
-- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" },
|
||||
-- ["@operator.html"] = { fg = "#faa356" },
|
||||
-- ["@tag.html"] = { fg = "#fa7970" },
|
||||
-- ["@tag.delimiter.html"] = { fg = "#faa356" },
|
||||
-- ["@tag.javascript"] = { fg = "#faa356" },
|
||||
-- ["@tag.javascript"] = { fg = "#8ddb8c" },
|
||||
-- ["@tag.tsx"] = { fg = "#8ddb8c" },
|
||||
-- ["@tag.delimiter.javascript"] = { fg = "fg1" },
|
||||
-- ["@tag.tsx"] = { fg = "#faa356" },
|
||||
-- },
|
||||
-- github_dark_high_contrast = {
|
||||
-- NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
|
||||
-- },
|
||||
-- github_dark_dimmed = {
|
||||
-- -- As with specs and palettes, a specific style's value will be used over the `all`'s value.
|
||||
-- NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
|
||||
-- NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
|
||||
-- NvimTreeIndentMarker = { fg = "#3E4450" },
|
||||
-- BufferLineFill = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- LualineNormal = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- StatusLine = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- Pmenu = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- PmenuSel = { link = "CursorLine" },
|
||||
-- WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- LazyNormal = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- LazyBackground = { bg = is_transparent and "NONE" or "bg1" },
|
||||
-- NormalSB = { fg = "fg1", bg = "bg1" }, -- normal text
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
["@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" },
|
||||
["@lsp.type.variable.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" },
|
||||
},
|
||||
github_dark_high_contrast = {
|
||||
NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
|
||||
},
|
||||
github_dark_dimmed = {
|
||||
-- As with specs and palettes, a specific style's value will be used over the `all`'s value.
|
||||
NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
|
||||
NvimTreeSpecialFile = { fg = "#faa356", style = "italic" },
|
||||
NvimTreeIndentMarker = { fg = "#3E4450" },
|
||||
BufferLineFill = { bg = is_transparent and "NONE" or "bg1" },
|
||||
BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" },
|
||||
LualineNormal = { bg = is_transparent and "NONE" or "bg1" },
|
||||
StatusLine = { bg = is_transparent and "NONE" or "bg1" },
|
||||
StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" },
|
||||
Pmenu = { bg = is_transparent and "NONE" or "bg1" },
|
||||
PmenuSel = { link = "CursorLine" },
|
||||
WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" },
|
||||
LazyNormal = { bg = is_transparent and "NONE" or "bg1" },
|
||||
LazyBackground = { bg = is_transparent and "NONE" or "bg1" },
|
||||
NormalSB = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, -- normal text
|
||||
NormalFloat = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" },
|
||||
IblIndent = { fg = "#3E4450" },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
240
lua/custom/plugins/lualine_github.lua
Normal file
240
lua/custom/plugins/lualine_github.lua
Normal file
|
@ -0,0 +1,240 @@
|
|||
return {
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
local hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end
|
||||
local icons = require("user.icons")
|
||||
|
||||
local getLeftSubstring = function(word, length)
|
||||
if #word > length then
|
||||
return string.sub(word, 1, length) .. "..."
|
||||
else
|
||||
return word
|
||||
end
|
||||
end
|
||||
|
||||
-- start for lsp
|
||||
local list_registered_providers_names = function(filetype)
|
||||
local s = require("null-ls.sources")
|
||||
local available_sources = s.get_available(filetype)
|
||||
local registered = {}
|
||||
for _, source in ipairs(available_sources) do
|
||||
for method in pairs(source.methods) do
|
||||
registered[method] = registered[method] or {}
|
||||
table.insert(registered[method], source.name)
|
||||
end
|
||||
end
|
||||
return registered
|
||||
end
|
||||
|
||||
local null_ls = require("null-ls")
|
||||
-- for formatter
|
||||
local list_registered = function(filetype)
|
||||
local method = null_ls.methods.FORMATTING
|
||||
local registered_providers = list_registered_providers_names(filetype)
|
||||
return registered_providers[method] or {}
|
||||
end
|
||||
|
||||
--- for linter
|
||||
local alternative_methods = {
|
||||
null_ls.methods.DIAGNOSTICS,
|
||||
null_ls.methods.DIAGNOSTICS_ON_OPEN,
|
||||
null_ls.methods.DIAGNOSTICS_ON_SAVE,
|
||||
}
|
||||
|
||||
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)
|
||||
return registered_providers[m] or {}
|
||||
end, alternative_methods))
|
||||
|
||||
return providers_for_methods
|
||||
end
|
||||
-- end for lsp
|
||||
|
||||
local lsp_info = {
|
||||
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_client_names = {}
|
||||
if next(buf_clients) == nil then
|
||||
-- TODO: clean up this if statement
|
||||
if type(msg) == "boolean" or #msg == 0 then
|
||||
return "LS Inactive"
|
||||
end
|
||||
return msg
|
||||
end
|
||||
-- add client
|
||||
for _, client in pairs(buf_clients) do
|
||||
if client.name ~= "null-ls" and client.name ~= "copilot" then
|
||||
table.insert(buf_client_names, client.name)
|
||||
end
|
||||
end
|
||||
-- add formatter
|
||||
local supported_formatters = list_registered(buf_ft)
|
||||
vim.list_extend(buf_client_names, supported_formatters)
|
||||
-- add linter
|
||||
local supported_linters = linter_list_registered(buf_ft)
|
||||
vim.list_extend(buf_client_names, supported_linters)
|
||||
-- decomple
|
||||
local unique_client_names = vim.fn.uniq(buf_client_names)
|
||||
local msg = table.concat(unique_client_names, ", ")
|
||||
return msg
|
||||
end,
|
||||
--icon = " ",
|
||||
icon = icons.ui.Gear .. "",
|
||||
padding = 1,
|
||||
}
|
||||
|
||||
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 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 mode = {
|
||||
"mode",
|
||||
padding = 1,
|
||||
separator = { left = " " },
|
||||
-- right_padding = 3,
|
||||
fmt = function(str)
|
||||
return icons.ui.Neovim .. " " .. str
|
||||
end,
|
||||
}
|
||||
local branch = {
|
||||
"branch",
|
||||
padding = 1,
|
||||
}
|
||||
|
||||
local get_branch = function()
|
||||
if vim.b.gitsigns_head ~= nil then
|
||||
return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6)
|
||||
else
|
||||
return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t")
|
||||
end
|
||||
end
|
||||
|
||||
local lsp_progress = {}
|
||||
local data_ok, lspprogress = pcall(require, "lsp-progress")
|
||||
if data_ok then
|
||||
lsp_progress = lspprogress.progress
|
||||
end
|
||||
-- stylua: ignore
|
||||
local github=vim.fn.fnamemodify("auto", ":t")
|
||||
local status_ok, _ = pcall(require, "github-theme")
|
||||
if status_ok then
|
||||
local C = require("github-theme.lib.color")
|
||||
local config = require("github-theme.config").options
|
||||
local s = require("github-theme.spec").load("github_dark_dimmed")
|
||||
local p = s.palette
|
||||
local tbg = config.transparent and "NONE" or s.bg0
|
||||
|
||||
local function blend(color, a)
|
||||
return C(s.bg1):blend(C(color), a):to_css()
|
||||
end
|
||||
|
||||
--- Create lualine group colors for github-theme
|
||||
---@param color string
|
||||
local tint = function(color)
|
||||
return {
|
||||
a = { bg = color, fg = s.bg1 },
|
||||
b = { bg = blend(color, 0.2), fg = blend(color, 0.8) },
|
||||
c = { bg = "NONE", fg = blend(color, 0.60) },
|
||||
}
|
||||
end
|
||||
|
||||
local inactive_hi = { bg = tbg, fg = blend(s.fg1, 0.3) }
|
||||
github = {
|
||||
normal = tint(p.blue.base),
|
||||
insert = tint(p.green.base),
|
||||
command = tint(p.magenta.bright),
|
||||
visual = tint(p.yellow.base),
|
||||
replace = tint(p.red.base),
|
||||
terminal = tint(p.orange),
|
||||
inactive = {
|
||||
a = inactive_hi,
|
||||
b = inactive_hi,
|
||||
c = inactive_hi,
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = github,
|
||||
-- theme = "auto",
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
"TelescopePrompt",
|
||||
"packer",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"NvimTree",
|
||||
"Outline",
|
||||
"DressingInput",
|
||||
"toggleterm",
|
||||
"lazy",
|
||||
"mason",
|
||||
"neo-tree",
|
||||
"startuptime",
|
||||
},
|
||||
always_divide_middle = true,
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {
|
||||
mode,
|
||||
},
|
||||
lualine_b = { get_branch },
|
||||
lualine_c = { lsp_info, diagnostics, lsp_progress },
|
||||
lualine_x = { diff, spaces, "filetype" },
|
||||
lualine_y = { "progress" },
|
||||
lualine_z = {
|
||||
{ "location", separator = { right = " " }, padding = 1 },
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = { "filename" },
|
||||
lualine_b = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = { "location" },
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -1,248 +1,248 @@
|
|||
return {
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
local hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end
|
||||
local icons = require("user.icons")
|
||||
|
||||
local getLeftSubstring = function(word, length)
|
||||
if #word > length then
|
||||
return string.sub(word, 1, length) .. "..."
|
||||
else
|
||||
return word
|
||||
end
|
||||
end
|
||||
|
||||
-- start for lsp
|
||||
local list_registered_providers_names = function(filetype)
|
||||
local s = require("null-ls.sources")
|
||||
local available_sources = s.get_available(filetype)
|
||||
local registered = {}
|
||||
for _, source in ipairs(available_sources) do
|
||||
for method in pairs(source.methods) do
|
||||
registered[method] = registered[method] or {}
|
||||
table.insert(registered[method], source.name)
|
||||
end
|
||||
end
|
||||
return registered
|
||||
end
|
||||
|
||||
local null_ls = require("null-ls")
|
||||
-- for formatter
|
||||
local list_registered = function(filetype)
|
||||
local method = null_ls.methods.FORMATTING
|
||||
local registered_providers = list_registered_providers_names(filetype)
|
||||
return registered_providers[method] or {}
|
||||
end
|
||||
|
||||
--- for linter
|
||||
local alternative_methods = {
|
||||
null_ls.methods.DIAGNOSTICS,
|
||||
null_ls.methods.DIAGNOSTICS_ON_OPEN,
|
||||
null_ls.methods.DIAGNOSTICS_ON_SAVE,
|
||||
}
|
||||
|
||||
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)
|
||||
return registered_providers[m] or {}
|
||||
end, alternative_methods))
|
||||
|
||||
return providers_for_methods
|
||||
end
|
||||
-- end for lsp
|
||||
|
||||
local lsp_info = {
|
||||
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_client_names = {}
|
||||
if next(buf_clients) == nil then
|
||||
-- TODO: clean up this if statement
|
||||
if type(msg) == "boolean" or #msg == 0 then
|
||||
return "LS Inactive"
|
||||
end
|
||||
return msg
|
||||
end
|
||||
-- add client
|
||||
for _, client in pairs(buf_clients) do
|
||||
if client.name ~= "null-ls" and client.name ~= "copilot" then
|
||||
table.insert(buf_client_names, client.name)
|
||||
end
|
||||
end
|
||||
-- add formatter
|
||||
local supported_formatters = list_registered(buf_ft)
|
||||
vim.list_extend(buf_client_names, supported_formatters)
|
||||
-- add linter
|
||||
local supported_linters = linter_list_registered(buf_ft)
|
||||
vim.list_extend(buf_client_names, supported_linters)
|
||||
-- decomple
|
||||
local unique_client_names = vim.fn.uniq(buf_client_names)
|
||||
local msg = table.concat(unique_client_names, ", ")
|
||||
return msg
|
||||
end,
|
||||
--icon = " ",
|
||||
icon = icons.ui.Gear .. "",
|
||||
padding = 1,
|
||||
}
|
||||
|
||||
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 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 mode = {
|
||||
"mode",
|
||||
padding = 1,
|
||||
separator = { left = " " },
|
||||
-- right_padding = 3,
|
||||
fmt = function(str)
|
||||
return icons.ui.Neovim .. " " .. str
|
||||
end,
|
||||
}
|
||||
local branch = {
|
||||
"branch",
|
||||
padding = 1,
|
||||
}
|
||||
|
||||
local get_branch = function()
|
||||
if vim.b.gitsigns_head ~= nil then
|
||||
return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6)
|
||||
else
|
||||
return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t")
|
||||
end
|
||||
end
|
||||
|
||||
local lsp_progress = {}
|
||||
local data_ok, lspprogress = pcall(require, "lsp-progress")
|
||||
if data_ok then
|
||||
lsp_progress = lspprogress.progress
|
||||
end
|
||||
-- stylua: ignore
|
||||
local onedark=vim.fn.fnamemodify("auto", ":t")
|
||||
local is_transparat = true
|
||||
local status_ok, onedarkpro = pcall(require, "onedarkpro.helpers")
|
||||
if status_ok then
|
||||
local colors = onedarkpro.get_colors("onedark")
|
||||
|
||||
onedark = {
|
||||
normal = {
|
||||
a = { bg = colors.green, fg = colors.bg },
|
||||
b = { bg = colors.fg_gutter, fg = colors.green },
|
||||
c = {
|
||||
bg = is_transparat and colors.none or colors.bg_statusline,
|
||||
fg = colors.fg,
|
||||
},
|
||||
},
|
||||
|
||||
insert = {
|
||||
a = { bg = colors.blue, fg = colors.bg },
|
||||
b = { bg = colors.fg_gutter, fg = colors.blue },
|
||||
},
|
||||
visual = {
|
||||
a = { bg = colors.yellow, fg = colors.bg },
|
||||
b = { bg = colors.fg_gutter, fg = colors.yellow },
|
||||
},
|
||||
replace = {
|
||||
a = { bg = colors.red, fg = colors.bg },
|
||||
b = { bg = colors.fg_gutter, fg = colors.red },
|
||||
},
|
||||
command = {
|
||||
a = { bg = colors.purple, fg = colors.bg },
|
||||
b = { bg = colors.fg_gutter, fg = colors.purple },
|
||||
},
|
||||
terminal = {
|
||||
a = { bg = colors.cyan, fg = colors.bg },
|
||||
b = { bg = colors.fg_gutter, fg = colors.cyan },
|
||||
},
|
||||
inactive = {
|
||||
a = { bg = colors.bg, fg = colors.blue },
|
||||
b = { bg = colors.bg, fg = colors.fg_gutter_inactive, gui = "bold" },
|
||||
c = {
|
||||
bg = is_transparat and colors.none or colors.bg,
|
||||
fg = colors.fg_gutter_inactive,
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = onedark,
|
||||
-- theme = "auto",
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
"TelescopePrompt",
|
||||
"packer",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"NvimTree",
|
||||
"Outline",
|
||||
"DressingInput",
|
||||
"toggleterm",
|
||||
"lazy",
|
||||
"mason",
|
||||
"neo-tree",
|
||||
"startuptime",
|
||||
},
|
||||
always_divide_middle = true,
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {
|
||||
mode,
|
||||
},
|
||||
lualine_b = { get_branch },
|
||||
lualine_c = { lsp_info, diagnostics, lsp_progress },
|
||||
lualine_x = { diff, spaces, "filetype" },
|
||||
lualine_y = { "progress" },
|
||||
lualine_z = {
|
||||
{ "location", separator = { right = " " }, padding = 1 },
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = { "filename" },
|
||||
lualine_b = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = { "location" },
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- {
|
||||
-- "nvim-lualine/lualine.nvim",
|
||||
-- event = "InsertEnter",
|
||||
-- config = function()
|
||||
-- local hide_in_width = function()
|
||||
-- return vim.fn.winwidth(0) > 80
|
||||
-- end
|
||||
-- local icons = require("user.icons")
|
||||
--
|
||||
-- local getLeftSubstring = function(word, length)
|
||||
-- if #word > length then
|
||||
-- return string.sub(word, 1, length) .. "..."
|
||||
-- else
|
||||
-- return word
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- -- start for lsp
|
||||
-- local list_registered_providers_names = function(filetype)
|
||||
-- local s = require("null-ls.sources")
|
||||
-- local available_sources = s.get_available(filetype)
|
||||
-- local registered = {}
|
||||
-- for _, source in ipairs(available_sources) do
|
||||
-- for method in pairs(source.methods) do
|
||||
-- registered[method] = registered[method] or {}
|
||||
-- table.insert(registered[method], source.name)
|
||||
-- end
|
||||
-- end
|
||||
-- return registered
|
||||
-- end
|
||||
--
|
||||
-- local null_ls = require("null-ls")
|
||||
-- -- for formatter
|
||||
-- local list_registered = function(filetype)
|
||||
-- local method = null_ls.methods.FORMATTING
|
||||
-- local registered_providers = list_registered_providers_names(filetype)
|
||||
-- return registered_providers[method] or {}
|
||||
-- end
|
||||
--
|
||||
-- --- for linter
|
||||
-- local alternative_methods = {
|
||||
-- null_ls.methods.DIAGNOSTICS,
|
||||
-- null_ls.methods.DIAGNOSTICS_ON_OPEN,
|
||||
-- null_ls.methods.DIAGNOSTICS_ON_SAVE,
|
||||
-- }
|
||||
--
|
||||
-- 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)
|
||||
-- return registered_providers[m] or {}
|
||||
-- end, alternative_methods))
|
||||
--
|
||||
-- return providers_for_methods
|
||||
-- end
|
||||
-- -- end for lsp
|
||||
--
|
||||
-- local lsp_info = {
|
||||
-- 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_client_names = {}
|
||||
-- if next(buf_clients) == nil then
|
||||
-- -- TODO: clean up this if statement
|
||||
-- if type(msg) == "boolean" or #msg == 0 then
|
||||
-- return "LS Inactive"
|
||||
-- end
|
||||
-- return msg
|
||||
-- end
|
||||
-- -- add client
|
||||
-- for _, client in pairs(buf_clients) do
|
||||
-- if client.name ~= "null-ls" and client.name ~= "copilot" then
|
||||
-- table.insert(buf_client_names, client.name)
|
||||
-- end
|
||||
-- end
|
||||
-- -- add formatter
|
||||
-- local supported_formatters = list_registered(buf_ft)
|
||||
-- vim.list_extend(buf_client_names, supported_formatters)
|
||||
-- -- add linter
|
||||
-- local supported_linters = linter_list_registered(buf_ft)
|
||||
-- vim.list_extend(buf_client_names, supported_linters)
|
||||
-- -- decomple
|
||||
-- local unique_client_names = vim.fn.uniq(buf_client_names)
|
||||
-- local msg = table.concat(unique_client_names, ", ")
|
||||
-- return msg
|
||||
-- end,
|
||||
-- --icon = " ",
|
||||
-- icon = icons.ui.Gear .. "",
|
||||
-- padding = 1,
|
||||
-- }
|
||||
--
|
||||
-- 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 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 mode = {
|
||||
-- "mode",
|
||||
-- padding = 1,
|
||||
-- separator = { left = " " },
|
||||
-- -- right_padding = 3,
|
||||
-- fmt = function(str)
|
||||
-- return icons.ui.Neovim .. " " .. str
|
||||
-- end,
|
||||
-- }
|
||||
-- local branch = {
|
||||
-- "branch",
|
||||
-- padding = 1,
|
||||
-- }
|
||||
--
|
||||
-- local get_branch = function()
|
||||
-- if vim.b.gitsigns_head ~= nil then
|
||||
-- return icons.git.Branch2 .. " " .. getLeftSubstring(vim.b.gitsigns_head, 6)
|
||||
-- else
|
||||
-- return icons.git.Branch2 .. vim.fn.fnamemodify("", ":t")
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- local lsp_progress = {}
|
||||
-- local data_ok, lspprogress = pcall(require, "lsp-progress")
|
||||
-- if data_ok then
|
||||
-- lsp_progress = lspprogress.progress
|
||||
-- end
|
||||
-- -- stylua: ignore
|
||||
-- local onedark=vim.fn.fnamemodify("auto", ":t")
|
||||
-- local is_transparat = true
|
||||
-- local status_ok, onedarkpro = pcall(require, "onedarkpro.helpers")
|
||||
-- if status_ok then
|
||||
-- local colors = onedarkpro.get_colors("onedark")
|
||||
--
|
||||
-- onedark = {
|
||||
-- normal = {
|
||||
-- a = { bg = colors.green, fg = colors.bg },
|
||||
-- b = { bg = colors.fg_gutter, fg = colors.green },
|
||||
-- c = {
|
||||
-- bg = is_transparat and colors.none or colors.bg_statusline,
|
||||
-- fg = colors.fg,
|
||||
-- },
|
||||
-- },
|
||||
--
|
||||
-- insert = {
|
||||
-- a = { bg = colors.blue, fg = colors.bg },
|
||||
-- b = { bg = colors.fg_gutter, fg = colors.blue },
|
||||
-- },
|
||||
-- visual = {
|
||||
-- a = { bg = colors.yellow, fg = colors.bg },
|
||||
-- b = { bg = colors.fg_gutter, fg = colors.yellow },
|
||||
-- },
|
||||
-- replace = {
|
||||
-- a = { bg = colors.red, fg = colors.bg },
|
||||
-- b = { bg = colors.fg_gutter, fg = colors.red },
|
||||
-- },
|
||||
-- command = {
|
||||
-- a = { bg = colors.purple, fg = colors.bg },
|
||||
-- b = { bg = colors.fg_gutter, fg = colors.purple },
|
||||
-- },
|
||||
-- terminal = {
|
||||
-- a = { bg = colors.cyan, fg = colors.bg },
|
||||
-- b = { bg = colors.fg_gutter, fg = colors.cyan },
|
||||
-- },
|
||||
-- inactive = {
|
||||
-- a = { bg = colors.bg, fg = colors.blue },
|
||||
-- b = { bg = colors.bg, fg = colors.fg_gutter_inactive, gui = "bold" },
|
||||
-- c = {
|
||||
-- bg = is_transparat and colors.none or colors.bg,
|
||||
-- fg = colors.fg_gutter_inactive,
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
-- end
|
||||
--
|
||||
-- require("lualine").setup({
|
||||
-- options = {
|
||||
-- theme = onedark,
|
||||
-- -- theme = "auto",
|
||||
-- component_separators = { left = "", right = "" },
|
||||
-- section_separators = { left = "", right = "" },
|
||||
-- disabled_filetypes = {
|
||||
-- "TelescopePrompt",
|
||||
-- "packer",
|
||||
-- "alpha",
|
||||
-- "dashboard",
|
||||
-- "NvimTree",
|
||||
-- "Outline",
|
||||
-- "DressingInput",
|
||||
-- "toggleterm",
|
||||
-- "lazy",
|
||||
-- "mason",
|
||||
-- "neo-tree",
|
||||
-- "startuptime",
|
||||
-- },
|
||||
-- always_divide_middle = true,
|
||||
-- },
|
||||
-- sections = {
|
||||
-- lualine_a = {
|
||||
-- mode,
|
||||
-- },
|
||||
-- lualine_b = { get_branch },
|
||||
-- lualine_c = { lsp_info, diagnostics, lsp_progress },
|
||||
-- lualine_x = { diff, spaces, "filetype" },
|
||||
-- lualine_y = { "progress" },
|
||||
-- lualine_z = {
|
||||
-- { "location", separator = { right = " " }, padding = 1 },
|
||||
-- },
|
||||
-- },
|
||||
-- inactive_sections = {
|
||||
-- lualine_a = { "filename" },
|
||||
-- lualine_b = {},
|
||||
-- lualine_c = {},
|
||||
-- lualine_x = {},
|
||||
-- lualine_y = {},
|
||||
-- lualine_z = { "location" },
|
||||
-- },
|
||||
-- tabline = {},
|
||||
-- extensions = {},
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
}
|
||||
|
|
|
@ -1,40 +1,46 @@
|
|||
local is_neovide = false
|
||||
if vim.g.neovide then
|
||||
is_neovide = true
|
||||
end
|
||||
|
||||
return {
|
||||
-- animations
|
||||
-- {
|
||||
-- "echasnovski/mini.animate",
|
||||
-- event = "InsertEnter",
|
||||
-- opts = function()
|
||||
-- -- don't use animate when scrolling with the mouse
|
||||
-- local mouse_scrolled = false
|
||||
-- for _, scroll in ipairs({ "Up", "Down" }) do
|
||||
-- local key = "<ScrollWheel" .. scroll .. ">"
|
||||
-- vim.keymap.set({ "", "i" }, key, function()
|
||||
-- mouse_scrolled = true
|
||||
-- return key
|
||||
-- end, { expr = true })
|
||||
-- end
|
||||
--
|
||||
-- local animate = require("mini.animate")
|
||||
-- return {
|
||||
-- resize = {
|
||||
-- timing = animate.gen_timing.linear({ duration = 100, unit = "total" }),
|
||||
-- },
|
||||
-- scroll = {
|
||||
-- timing = animate.gen_timing.linear({ duration = 150, unit = "total" }),
|
||||
-- subscroll = animate.gen_subscroll.equal({
|
||||
-- predicate = function(total_scroll)
|
||||
-- if mouse_scrolled then
|
||||
-- mouse_scrolled = false
|
||||
-- return false
|
||||
-- end
|
||||
-- return total_scroll > 1
|
||||
-- end,
|
||||
-- }),
|
||||
-- },
|
||||
-- }
|
||||
-- end,
|
||||
-- config = function(_, opts)
|
||||
-- require("mini.animate").setup(opts)
|
||||
-- end,
|
||||
-- },
|
||||
{
|
||||
"echasnovski/mini.animate",
|
||||
event = "BufRead",
|
||||
enabled = not is_neovide,
|
||||
opts = function()
|
||||
-- don't use animate when scrolling with the mouse
|
||||
local mouse_scrolled = false
|
||||
for _, scroll in ipairs({ "Up", "Down" }) do
|
||||
local key = "<ScrollWheel" .. scroll .. ">"
|
||||
vim.keymap.set({ "", "i" }, key, function()
|
||||
mouse_scrolled = true
|
||||
return key
|
||||
end, { expr = true })
|
||||
end
|
||||
|
||||
local animate = require("mini.animate")
|
||||
return {
|
||||
resize = {
|
||||
timing = animate.gen_timing.linear({ duration = 100, unit = "total" }),
|
||||
},
|
||||
scroll = {
|
||||
timing = animate.gen_timing.linear({ duration = 150, unit = "total" }),
|
||||
subscroll = animate.gen_subscroll.equal({
|
||||
predicate = function(total_scroll)
|
||||
if mouse_scrolled then
|
||||
mouse_scrolled = false
|
||||
return false
|
||||
end
|
||||
return total_scroll > 1
|
||||
end,
|
||||
}),
|
||||
},
|
||||
}
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("mini.animate").setup(opts)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
return {
|
||||
-- {
|
||||
-- "NvChad/nvim-colorizer.lua",
|
||||
-- opts = {
|
||||
-- user_default_options = {
|
||||
-- tailwind = true,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- {
|
||||
-- "hrsh7th/nvim-cmp",
|
||||
-- dependencies = {
|
||||
-- { "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
|
||||
-- },
|
||||
-- opts = function(_, opts)
|
||||
-- -- original kind icon formatter
|
||||
-- local format_kinds = opts.formatting.format
|
||||
-- opts.formatting.format = function(entry, item)
|
||||
-- format_kinds(entry, item) -- add icons
|
||||
-- return require("tailwindcss-colorizer-cmp").formatter(entry, item)
|
||||
-- end
|
||||
-- end,
|
||||
-- },
|
||||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
opts = {
|
||||
user_default_options = {
|
||||
tailwind = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
{ "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
|
||||
},
|
||||
opts = function(_, opts)
|
||||
-- original kind icon formatter
|
||||
local format_kinds = opts.formatting.format
|
||||
opts.formatting.format = function(entry, item)
|
||||
format_kinds(entry, item) -- add icons
|
||||
return require("tailwindcss-colorizer-cmp").formatter(entry, item)
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ return {
|
|||
{
|
||||
"folke/noice.nvim",
|
||||
lazy = true,
|
||||
enabled = true,
|
||||
dependencies = {
|
||||
{ "MunifTanjim/nui.nvim" },
|
||||
},
|
||||
|
|
|
@ -4,7 +4,6 @@ return {
|
|||
"nvim-lua/plenary.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
-- coding start
|
||||
-- coloring code
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
|
@ -54,28 +53,12 @@ return {
|
|||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
lazy = true,
|
||||
-- event = "InsertEnter",
|
||||
-- dependencies = {
|
||||
-- "rafamadriz/friendly-snippets",
|
||||
-- event = "BufRead",
|
||||
-- config = function()
|
||||
-- require("luasnip.loaders.from_vscode").lazy_load()
|
||||
-- require("user.snippets")
|
||||
-- end,
|
||||
-- },
|
||||
opts = {
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
-- {
|
||||
-- "<tab>",
|
||||
-- function()
|
||||
-- return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>"
|
||||
-- end,
|
||||
-- expr = true, silent = true, mode = "i",
|
||||
-- },
|
||||
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
|
||||
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
|
||||
},
|
||||
|
@ -84,34 +67,10 @@ return {
|
|||
"neovim/nvim-lspconfig",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
-- dependencies = {
|
||||
-- "williamboman/mason-lspconfig.nvim",
|
||||
-- },
|
||||
-- config = function()
|
||||
-- require("user.lsp")
|
||||
-- end,
|
||||
},
|
||||
-- {
|
||||
-- "williamboman/mason.nvim",
|
||||
-- event = "VeryLazy",
|
||||
-- cmd = {
|
||||
-- "Mason",
|
||||
-- "MasonInstall",
|
||||
-- "MasonUninstall",
|
||||
-- "MasonUninstallAll",
|
||||
-- "MasonLog",
|
||||
-- },
|
||||
-- dependencies = { "williamboman/mason-lspconfig.nvim" },
|
||||
-- init = function()
|
||||
-- vim.tbl_map(function(plugin)
|
||||
-- pcall(require, plugin)
|
||||
-- end, { "lspconfig", "null-ls" })
|
||||
-- end,
|
||||
-- },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
lazy = true,
|
||||
-- event = "InsertEnter",
|
||||
dependencies = { "williamboman/mason-lspconfig.nvim" },
|
||||
cmd = {
|
||||
"Mason",
|
||||
|
@ -120,7 +79,6 @@ return {
|
|||
"MasonUninstallAll",
|
||||
"MasonLog",
|
||||
},
|
||||
-- keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
config = function()
|
||||
require("user.lsp")
|
||||
end,
|
||||
|
@ -137,7 +95,6 @@ return {
|
|||
end
|
||||
illuminate.configure({
|
||||
options = {
|
||||
-- providers: provider used to get references in the buffer, ordered by priority
|
||||
providers = {
|
||||
"lsp",
|
||||
"treesitter",
|
||||
|
@ -189,7 +146,6 @@ return {
|
|||
"jayp0521/mason-null-ls.nvim",
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
-- "jose-elias-alvarez/null-ls.nvim",
|
||||
"nvimtools/none-ls.nvim",
|
||||
dependencies = {
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
|
@ -240,8 +196,6 @@ return {
|
|||
{
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
lazy = true,
|
||||
-- event = "BufWinEnter",
|
||||
-- event = "InsertEnter",
|
||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
config = function()
|
||||
require("ts_context_commentstring").setup({
|
||||
|
@ -251,8 +205,6 @@ return {
|
|||
},
|
||||
{
|
||||
"numToStr/Comment.nvim",
|
||||
-- event = "BufWinEnter",
|
||||
-- event = "InsertEnter",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("user.comment")
|
||||
|
@ -260,7 +212,7 @@ return {
|
|||
},
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
-- event = "BufWinEnter",
|
||||
version = "3.5.4",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
lazy = true,
|
||||
opts = {
|
||||
|
@ -297,30 +249,6 @@ return {
|
|||
},
|
||||
main = "ibl",
|
||||
},
|
||||
-- styleing indent
|
||||
-- {
|
||||
-- "lukas-reineke/indent-blankline.nvim",
|
||||
-- event = "BufRead",
|
||||
-- config = function()
|
||||
-- require("user.indentline")
|
||||
-- -- require("ibl").setup()
|
||||
-- end,
|
||||
-- },
|
||||
-- for Speed up loading Lua modules in Neovim to improve startup time.
|
||||
-- {
|
||||
-- "lewis6991/impatient.nvim",
|
||||
-- event = "BufWinEnter",
|
||||
-- config = function()
|
||||
-- require("user.impatient")
|
||||
-- end,
|
||||
-- },
|
||||
-- for live server html,css,js
|
||||
-- {
|
||||
-- "manzeloth/live-server",
|
||||
-- cmd = { "LiveServer" },
|
||||
-- event = "BufRead",
|
||||
-- build = "npm install -g live-server",
|
||||
-- },
|
||||
-- for multi cursor select
|
||||
{
|
||||
"mg979/vim-visual-multi",
|
||||
|
@ -339,7 +267,6 @@ return {
|
|||
-- for auto close tag
|
||||
{
|
||||
"windwp/nvim-ts-autotag",
|
||||
-- event = "BufWinEnter",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
|
@ -351,8 +278,6 @@ return {
|
|||
{
|
||||
"CRAG666/code_runner.nvim",
|
||||
lazy = true,
|
||||
-- event = "InsertEnter",
|
||||
-- dependencies = "nvim-lua/plenary.nvim",
|
||||
cmd = { "RunCode", "RunFile", "RunProject", "RunClose" },
|
||||
config = function()
|
||||
require("user.coderunner")
|
||||
|
@ -362,11 +287,7 @@ return {
|
|||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
lazy = true,
|
||||
-- event = "BufWinEnter",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
-- opts = function()
|
||||
-- require("user.colorizer")
|
||||
-- end,
|
||||
opts = {
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
|
@ -472,20 +393,12 @@ return {
|
|||
},
|
||||
-- for check startuptime
|
||||
{ "dstein64/vim-startuptime", lazy = true, cmd = "StartupTime" },
|
||||
-- for coloring pairs
|
||||
-- remark 20231101 - menyebabkan error treesitter
|
||||
-- {
|
||||
-- "p00f/nvim-ts-rainbow",
|
||||
-- "HiPhish/nvim-ts-rainbow2",
|
||||
-- lazy = true,
|
||||
-- event = "BufRead",
|
||||
-- dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
-- },
|
||||
-- for git
|
||||
{
|
||||
"HiPhish/nvim-ts-rainbow2",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
dependencies = "nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
lazy = true,
|
||||
|
@ -497,6 +410,4 @@ return {
|
|||
require("user.gitsigns")
|
||||
end,
|
||||
},
|
||||
-- remove duplicate
|
||||
-- { "tpope/vim-repeat", event = "InsertEnter" },
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ return {
|
|||
-- dashboard
|
||||
{
|
||||
"goolord/alpha-nvim",
|
||||
-- event = "BufWinEnter",
|
||||
lazy = true,
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
|
@ -13,8 +12,6 @@ return {
|
|||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
lazy = true,
|
||||
-- dependencies = { "kyazdani42/nvim-web-devicons", opt = true },
|
||||
-- event = "BufWinEnter",
|
||||
event = { "BufRead", "BufNewFile" },
|
||||
config = function()
|
||||
require("user.lualine_cfg")
|
||||
|
@ -25,7 +22,6 @@ return {
|
|||
"kyazdani42/nvim-web-devicons",
|
||||
lazy = true,
|
||||
dependencies = { "pojokcodeid/nvim-material-icon" },
|
||||
-- event = "BufRead",
|
||||
config = function()
|
||||
require("user.webdevicons")
|
||||
end,
|
||||
|
@ -34,9 +30,7 @@ return {
|
|||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
lazy = true,
|
||||
-- event = "BufRead",
|
||||
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
|
||||
|
@ -50,25 +44,21 @@ return {
|
|||
{
|
||||
"famiu/bufdelete.nvim",
|
||||
lazy = true,
|
||||
-- event = "InsertEnter",
|
||||
},
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
lazy = true,
|
||||
-- event = "BufWinEnter",
|
||||
branch = "main",
|
||||
event = { "BufRead", "InsertEnter", "BufNewFile" },
|
||||
config = function()
|
||||
require("user.bufferline")
|
||||
end,
|
||||
},
|
||||
-- for delete buffers (close files) without closing your windows or messing up your layout.
|
||||
-- { "moll/vim-bbye", event = "InsertEnter" },
|
||||
-- for view terminal
|
||||
{
|
||||
"akinsho/toggleterm.nvim",
|
||||
lazy = true,
|
||||
cmd = { "ToggleTerm" },
|
||||
-- event = "InsertEnter",
|
||||
config = function()
|
||||
require("user.toggleterm")
|
||||
end,
|
||||
|
@ -87,8 +77,6 @@ return {
|
|||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
lazy = true,
|
||||
-- event = "BufRead",
|
||||
-- dependencies = { { "nvim-lua/plenary.nvim" } },
|
||||
cmd = "Telescope",
|
||||
version = false, -- telescope did only one release, so use HEAD for now
|
||||
config = function()
|
||||
|
|
|
@ -10,7 +10,7 @@ local rfile = {
|
|||
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 = "g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
|
||||
cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
|
||||
scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css",
|
||||
javascript = 'node "$dir/$fileName"',
|
||||
}
|
||||
|
|
|
@ -19,11 +19,6 @@ M.capabilities = cmp_nvim_lsp.default_capabilities(M.capabilities)
|
|||
|
||||
M.setup = function()
|
||||
local signs = {
|
||||
|
||||
-- { name = "DiagnosticSignError", text = "" },
|
||||
-- { name = "DiagnosticSignWarn", text = "" },
|
||||
-- { name = "DiagnosticSignHint", text = "" },
|
||||
-- { name = "DiagnosticSignInfo", text = "" },
|
||||
{ name = "DiagnosticSignError", text = icons.diagnostics.Error },
|
||||
{ name = "DiagnosticSignWarn", text = icons.diagnostics.Warning },
|
||||
{ name = "DiagnosticSignHint", text = icons.diagnostics.Hint },
|
||||
|
@ -97,12 +92,13 @@ M.on_attach = function(client, bufnr)
|
|||
client.server_capabilities.documentFormattingProvider = false
|
||||
end
|
||||
|
||||
if client.name == "sumneko_lua" then
|
||||
if client.name == "lua_ls" then
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
end
|
||||
|
||||
if client.supports_method("textDocument/inlayHint") then
|
||||
vim.lsp.inlay_hint.enable(bufnr, true)
|
||||
-- vim.lsp.inlay_hint.enable(bufnr, true)
|
||||
vim.lsp.inlay_hint.enable(true)
|
||||
end
|
||||
|
||||
lsp_keymaps(bufnr)
|
||||
|
|
|
@ -28,11 +28,16 @@ configs.setup({
|
|||
-- json = "",
|
||||
-- },
|
||||
-- },
|
||||
-- rainbow = {
|
||||
-- enable = true,
|
||||
-- disable = { "html", "tsx" },
|
||||
-- equery = "rainbow-parens",
|
||||
-- strategy = require("ts-rainbow").strategy.global,
|
||||
-- },
|
||||
rainbow = {
|
||||
enable = true,
|
||||
disable = { "html", "tsx" },
|
||||
equery = "rainbow-parens",
|
||||
strategy = require("ts-rainbow").strategy.global,
|
||||
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 },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue