diff --git a/lua/core/init.lua b/lua/core/init.lua index c77801c..4eefbce 100644 --- a/lua/core/init.lua +++ b/lua/core/init.lua @@ -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") diff --git a/lua/core/neovide.lua b/lua/core/neovide.lua index f749364..3113708 100644 --- a/lua/core/neovide.lua +++ b/lua/core/neovide.lua @@ -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", "", ":w") -- Save - vim.keymap.set("v", "", '"+y') -- Copy - vim.keymap.set("n", "", '"+P') -- Paste normal mode - vim.keymap.set("v", "", '"+P') -- Paste visual mode - vim.keymap.set("c", "", "+") -- Paste command mode - vim.keymap.set("i", "", 'l"+Pli') -- Paste insert mode - vim.keymap.set("n", "", "lua require('Comment.api').toggle.linewise.current()$i") - vim.keymap.set("i", "", "lua require('Comment.api').toggle.linewise.current()$i") - vim.keymap.set("v", "", "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())") + vim.keymap.set("n", "", ":w", opts) -- Save + vim.keymap.set("v", "", '"+y', opts) -- Copy + vim.keymap.set("n", "", '"+P', opts) -- Paste normal mode + vim.keymap.set("v", "", '"+P', opts) -- Paste visual mode + vim.keymap.set("x", "", '"+P', opts) -- Paste visual mode + vim.keymap.set("c", "", "+", opts) -- Paste command mode + vim.keymap.set("c", "", '"+P', opts) -- Paste command mode + vim.keymap.set("i", "", 'l"+Pli', opts) -- Paste insert mode + vim.keymap.set( + "n", + "", + "lua require('Comment.api').toggle.linewise.current()$i", + opts + ) + vim.keymap.set( + "i", + "", + "lua require('Comment.api').toggle.linewise.current()$i", + opts + ) + vim.keymap.set("v", "", "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", opts) + + -- vim.keymap.set("n", "", ":w", opts) -- Save + -- vim.keymap.set("v", "", '"+y', opts) -- Copy + -- vim.keymap.set("n", "", '"+P', opts) -- Paste normal mode + -- vim.keymap.set("v", "", '"+P', opts) -- Paste visual mode + -- vim.keymap.set("c", "", "+", opts) -- Paste command mode + -- vim.keymap.set("i", "", 'l"+Pli', opts) -- Paste insert mode + -- vim.keymap.set("t", "", '"+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("", "", "+p", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("!", "", "+", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true }) -vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true }) +-- -- Allow clipboard copy paste in neovim +-- vim.g.neovide_input_use_logo = 1 +-- vim.api.nvim_set_keymap("", "", "+p", { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap("!", "", "+", { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true }) diff --git a/lua/custom/keymaps.lua b/lua/custom/keymaps.lua index 76a2297..77e505c 100644 --- a/lua/custom/keymaps.lua +++ b/lua/custom/keymaps.lua @@ -3,3 +3,9 @@ local keymap = vim.api.nvim_set_keymap keymap("n", "]h", 'lua print("Testing")', opts) keymap("n", "f", "NvimTreeFindFileToggle", opts) + +-- Allow clipboard copy paste in neovim +vim.api.nvim_set_keymap("", "", "+p", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("!", "", "+", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true }) diff --git a/lua/custom/plugins/bufferline.lua b/lua/custom/plugins/bufferline.lua index 130d45c..63050ed 100644 --- a/lua/custom/plugins/bufferline.lua +++ b/lua/custom/plugins/bufferline.lua @@ -1,5 +1,6 @@ return { "akinsho/bufferline.nvim", + branch = "main", event = { "BufRead", "InsertEnter", "BufNewFile" }, config = function() local status_ok, bufferline = pcall(require, "bufferline") diff --git a/lua/custom/plugins/githubdark.lua b/lua/custom/plugins/githubdark.lua index 680a32f..bc134de 100644 --- a/lua/custom/plugins/githubdark.lua +++ b/lua/custom/plugins/githubdark.lua @@ -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" }, - -- ["@tag.javascript"] = { fg = "#faa356" }, - -- ["@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, - -- }, + { + "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" }, + ["@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, + }, } diff --git a/lua/custom/plugins/lualine_github.lua b/lua/custom/plugins/lualine_github.lua new file mode 100644 index 0000000..cc7c168 --- /dev/null +++ b/lua/custom/plugins/lualine_github.lua @@ -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, + }, +} diff --git a/lua/custom/plugins/lualine_onedark.lua b/lua/custom/plugins/lualine_onedark.lua index 29717e6..e8bcb54 100644 --- a/lua/custom/plugins/lualine_onedark.lua +++ b/lua/custom/plugins/lualine_onedark.lua @@ -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, + -- }, } diff --git a/lua/custom/plugins/mini-animate.lua b/lua/custom/plugins/mini-animate.lua index e893d1a..b1b1b92 100644 --- a/lua/custom/plugins/mini-animate.lua +++ b/lua/custom/plugins/mini-animate.lua @@ -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 = "" - -- 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 = "" + 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, + }, } diff --git a/lua/custom/plugins/tailwind.lua b/lua/custom/plugins/tailwind.lua index 1186c0c..df1f231 100644 --- a/lua/custom/plugins/tailwind.lua +++ b/lua/custom/plugins/tailwind.lua @@ -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, + }, } diff --git a/lua/plugins/cmp_cmdline.lua b/lua/plugins/cmp_cmdline.lua index 7e3a529..780f8a2 100644 --- a/lua/plugins/cmp_cmdline.lua +++ b/lua/plugins/cmp_cmdline.lua @@ -20,6 +20,7 @@ return { { "folke/noice.nvim", lazy = true, + enabled = true, dependencies = { { "MunifTanjim/nui.nvim" }, }, diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index f11a9e0..7714417 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -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 = { - -- { - -- "", - -- function() - -- return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" - -- end, - -- expr = true, silent = true, mode = "i", - -- }, { "", function() require("luasnip").jump(1) end, mode = "s" }, { "", 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 = { { "cm", "Mason", 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" }, } diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua index 93a2713..889d6b9 100644 --- a/lua/plugins/ui.lua +++ b/lua/plugins/ui.lua @@ -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() diff --git a/lua/user/coderunner.lua b/lua/user/coderunner.lua index 4c8d930..ae7d53f 100644 --- a/lua/user/coderunner.lua +++ b/lua/user/coderunner.lua @@ -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"', } diff --git a/lua/user/lsp/handlers.lua b/lua/user/lsp/handlers.lua index 1481185..ebd37f4 100644 --- a/lua/user/lsp/handlers.lua +++ b/lua/user/lsp/handlers.lua @@ -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) diff --git a/lua/user/treesitter.lua b/lua/user/treesitter.lua index 2dbd9f5..6503b6f 100644 --- a/lua/user/treesitter.lua +++ b/lua/user/treesitter.lua @@ -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 },