some changes

This commit is contained in:
pika 2024-08-17 21:36:00 +02:00
parent c7dab936bf
commit 0000f5203c
4 changed files with 62 additions and 32 deletions

View file

@ -11,4 +11,4 @@ local function apply_colorscheme(name)
vim.cmd.colorscheme(name) vim.cmd.colorscheme(name)
end end
apply_colorscheme("eldritch") -- Change "witch" to your desired colorscheme name apply_colorscheme("bamboo")

View file

@ -1,5 +1,4 @@
return { return {
{ {
"sontungexpt/witch", "sontungexpt/witch",
-- priority = 1000, -- priority = 1000,
@ -7,7 +6,6 @@ return {
opts = {}, opts = {},
}, },
{ "savq/melange-nvim" },
{ "rose-pine/neovim" }, { "rose-pine/neovim" },
{ {

View file

@ -1,10 +1,40 @@
local function setup_open_file_indicators()
-- Table to store open buffers
local open_buffers = {}
-- Function to update open_buffers table
local function update_open_buffers()
open_buffers = {}
for _, buf in ipairs(vim.api.nvim_list_bufs()) do
if vim.api.nvim_buf_is_valid(buf) and vim.bo[buf].buflisted then
local file_path = vim.api.nvim_buf_get_name(buf)
open_buffers[file_path] = true
end
end
end
-- Custom component to display open file indicator
local function open_file_indicator(config, node, state)
local result = require("neo-tree.sources.common.components").icon(config, node, state)
if node.type == "file" and open_buffers[node:get_id()] then
result.text = result.text .. " 󱞇"
end
return result
end
return {
update_open_buffers = update_open_buffers,
open_file_indicator = open_file_indicator
}
end
return { return {
{ {
"nvim-neo-tree/neo-tree.nvim", "nvim-neo-tree/neo-tree.nvim",
opts = { opts = {
sources = { "filesystem", "buffers", "git_status" }, sources = { "filesystem", "buffers", "git_status" },
open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" },
close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab close_if_last_window = false,
popup_border_style = "rounded", popup_border_style = "rounded",
enable_git_status = true, enable_git_status = true,
enable_diagnostics = true, enable_diagnostics = true,
@ -13,25 +43,7 @@ return {
follow_current_file = { enabled = true }, follow_current_file = { enabled = true },
use_libuv_file_watcher = true, use_libuv_file_watcher = true,
components = { components = {
name = function(config, node, state) icon = setup_open_file_indicators().open_file_indicator,
local result = require("neo-tree.sources.filesystem.components").name(config, node, state)
-- Check if the file is open in a buffer
local is_open = false
for _, buf in ipairs(vim.api.nvim_list_bufs()) do
if vim.api.nvim_buf_get_name(buf) == node.path then
is_open = true
break
end
end
-- Add an indicator if the file is open
if is_open then
result.text = result.text .. " 󱞇"
end
return result
end,
}, },
}, },
window = { window = {
@ -56,12 +68,11 @@ return {
["P"] = { "toggle_preview", config = { use_float = false } }, ["P"] = { "toggle_preview", config = { use_float = false } },
}, },
}, },
default_component_configs = { default_component_configs = {
indent = { indent = {
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders with_expanders = true,
expander_collapsed = "", expander_collapsed = "",
expander_expanded = "", expander_expanded = "",
expander_highlight = "NeoTreeExpander", expander_highlight = "NeoTreeExpander",
}, },
git_status = { git_status = {
@ -75,10 +86,25 @@ return {
branch = "v3.x", branch = "v3.x",
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "nvim-tree/nvim-web-devicons",
-- "MunifTanjim/nui.nvim", "3rd/image.nvim",
"3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information },
} config = function(_, opts)
} local indicators = setup_open_file_indicators()
}
-- Set up autocmds to update open_buffers and refresh Neo-tree
local group = vim.api.nvim_create_augroup("NeoTreeOpenFileIndicator", { clear = true })
vim.api.nvim_create_autocmd({"BufAdd", "BufDelete", "BufWipeout"}, {
group = group,
callback = function()
indicators.update_open_buffers()
if package.loaded["neo-tree.sources.manager"] then
require("neo-tree.sources.manager").refresh("filesystem")
end
end,
})
require("neo-tree").setup(opts)
end,
}
}

View file

@ -0,0 +1,6 @@
return{
{
'renerocksai/telekasten.nvim',
dependencies = {'nvim-telescope/telescope.nvim'}
},
}