test
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
local opts = {
|
||||
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
|
||||
popup_border_style = Util.ui.borderchars("thick", "tl-t-tr-r-br-b-bl-l"),
|
||||
sources = {
|
||||
"filesystem",
|
||||
"buffers",
|
||||
"git_status",
|
||||
"diagnostics",
|
||||
-- "document_symbols",
|
||||
},
|
||||
source_selector = {
|
||||
winbar = true, -- toggle to show selector on winbar
|
||||
content_layout = "center",
|
||||
tabs_layout = "equal",
|
||||
show_separator_on_edge = true,
|
||||
sources = {
|
||||
{ source = "filesystem", display_name = "" },
|
||||
{ source = "buffers", display_name = "" },
|
||||
{ source = "git_status", display_name = "" },
|
||||
-- { source = "document_symbols", display_name = "o" },
|
||||
{ source = "diagnostics", display_name = "" },
|
||||
},
|
||||
},
|
||||
default_component_configs = {
|
||||
indent = {
|
||||
indent_size = 2,
|
||||
padding = 1, -- extra padding on left hand side
|
||||
-- indent guides
|
||||
with_markers = true,
|
||||
indent_marker = "│",
|
||||
last_indent_marker = "└",
|
||||
-- expander config, needed for nesting files
|
||||
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
||||
expander_collapsed = "",
|
||||
expander_expanded = "",
|
||||
expander_highlight = "NeoTreeExpander",
|
||||
},
|
||||
icon = {
|
||||
folder_closed = "",
|
||||
folder_open = "",
|
||||
folder_empty = "",
|
||||
folder_empty_open = "",
|
||||
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
|
||||
-- then these will never be used.
|
||||
default = " ",
|
||||
},
|
||||
modified = { symbol = "" },
|
||||
git_status = { symbols = Icon.git },
|
||||
diagnostics = { symbols = Icon.diagnostics },
|
||||
},
|
||||
window = {
|
||||
width = 40,
|
||||
mappings = {
|
||||
["<1-LeftMouse>"] = "open",
|
||||
["l"] = "open",
|
||||
["<space>"] = "none",
|
||||
["P"] = { "toggle_preview", config = { use_float = false } },
|
||||
},
|
||||
},
|
||||
filesystem = {
|
||||
window = {
|
||||
mappings = {
|
||||
["H"] = "navigate_up",
|
||||
["<bs>"] = "toggle_hidden",
|
||||
["."] = "set_root",
|
||||
["/"] = "fuzzy_finder",
|
||||
["f"] = "filter_on_submit",
|
||||
["<c-x>"] = "clear_filter",
|
||||
["a"] = { "add", config = { show_path = "relative" } }, -- "none", "relative", "absolute"
|
||||
},
|
||||
},
|
||||
filtered_items = {
|
||||
hide_dotfiles = false,
|
||||
hide_gitignored = false,
|
||||
},
|
||||
follow_current_file = {
|
||||
enabled = true,
|
||||
}, -- This will find and focus the file in the active buffer every
|
||||
-- time the current file is changed while the tree is open.
|
||||
group_empty_dirs = true, -- when true, empty folders will be grouped together
|
||||
},
|
||||
async_directory_scan = "always",
|
||||
}
|
||||
|
||||
opts.filesystem.components =
|
||||
require "config.features.neo-tree.sources.filesystem.components"
|
||||
local function hideCursor()
|
||||
vim.cmd [[
|
||||
setlocal guicursor=n:block-Cursor
|
||||
setlocal foldcolumn=0
|
||||
hi Cursor blend=100
|
||||
]]
|
||||
end
|
||||
local function showCursor()
|
||||
vim.cmd [[
|
||||
setlocal guicursor=n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20
|
||||
hi Cursor blend=0
|
||||
]]
|
||||
end
|
||||
|
||||
local neotree_group = Util.augroup "neo-tree_hide_cursor"
|
||||
|
||||
vim.api.nvim_create_autocmd({ "WinEnter", "BufEnter", "InsertEnter" }, {
|
||||
group = neotree_group,
|
||||
callback = function()
|
||||
local action = vim.bo.filetype == "neo-tree" and hideCursor
|
||||
or showCursor
|
||||
action()
|
||||
end,
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ "WinLeave", "BufLeave", "InsertEnter" }, {
|
||||
group = neotree_group,
|
||||
callback = function()
|
||||
showCursor()
|
||||
end,
|
||||
})
|
||||
|
||||
return opts
|
||||
@@ -0,0 +1,86 @@
|
||||
local M = {}
|
||||
|
||||
function M.name(config, node, state)
|
||||
local common = require "neo-tree.sources.common.components"
|
||||
local highlights = require "neo-tree.ui.highlights"
|
||||
|
||||
local highlight = config.highlight or highlights.FILE_NAME
|
||||
local text = node.name
|
||||
if node.type == "directory" then
|
||||
highlight = highlights.DIRECTORY_NAME
|
||||
if config.trailing_slash and text ~= "/" then
|
||||
text = text .. "/"
|
||||
end
|
||||
end
|
||||
|
||||
if node:get_depth() == 1 and node.type ~= "message" then
|
||||
highlight = highlights.ROOT_NAME
|
||||
text = vim.fn.fnamemodify(text, ":p:h:t")
|
||||
text = string.upper(text)
|
||||
else
|
||||
local filtered_by = common.filtered_by(config, node, state)
|
||||
highlight = filtered_by.highlight or highlight
|
||||
if config.use_git_status_colors then
|
||||
local git_status = state.components.git_status({}, node, state)
|
||||
if git_status and git_status.highlight then
|
||||
highlight = git_status.highlight
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if type(config.right_padding) == "number" then
|
||||
if config.right_padding > 0 then
|
||||
text = text .. string.rep(" ", config.right_padding)
|
||||
end
|
||||
else
|
||||
text = text .. " "
|
||||
end
|
||||
|
||||
return {
|
||||
text = text,
|
||||
highlight = highlight,
|
||||
}
|
||||
end
|
||||
|
||||
function M.icon(config, node, state)
|
||||
local common = require "neo-tree.sources.common.components"
|
||||
local highlights = require "neo-tree.ui.highlights"
|
||||
|
||||
local icon = config.default or " "
|
||||
local highlight = config.highlight or highlights.FILE_ICON
|
||||
if node.type == "directory" then
|
||||
highlight = highlights.DIRECTORY_ICON
|
||||
if node.loaded and not node:has_children() then
|
||||
icon = not node.empty_expanded and config.folder_empty
|
||||
or config.folder_empty_open
|
||||
elseif node:is_expanded() then
|
||||
icon = config.folder_open or "-"
|
||||
else
|
||||
icon = config.folder_closed or "+"
|
||||
end
|
||||
elseif node.type == "file" or node.type == "terminal" then
|
||||
local success, web_devicons = pcall(require, "nvim-web-devicons")
|
||||
if success then
|
||||
local devicon, hl = web_devicons.get_icon(node.name, node.ext)
|
||||
icon = devicon or icon
|
||||
highlight = hl or highlight
|
||||
end
|
||||
end
|
||||
|
||||
local filtered_by = common.filtered_by(config, node, state)
|
||||
|
||||
-- Don't render icon in root folder
|
||||
if node:get_depth() == 1 then
|
||||
return {
|
||||
text = nil,
|
||||
highlight = highlight,
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
text = icon .. " ",
|
||||
highlight = filtered_by.highlight or highlight,
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,44 @@
|
||||
local palettes = {}
|
||||
|
||||
require("github-theme").setup {
|
||||
options = {
|
||||
compile_path = vim.fn.stdpath "cache" .. "/github-theme",
|
||||
compile_file_suffix = "_compiled",
|
||||
hide_end_of_buffer = true,
|
||||
hide_nc_statusline = true,
|
||||
transparent = false,
|
||||
terminal_colors = true,
|
||||
dim_inactive = false,
|
||||
module_default = true,
|
||||
styles = {
|
||||
comments = "italic",
|
||||
functions = "NONE",
|
||||
keywords = "NONE",
|
||||
variables = "NONE",
|
||||
conditionals = "NONE",
|
||||
constants = "NONE",
|
||||
numbers = "NONE",
|
||||
operators = "NONE",
|
||||
strings = "NONE",
|
||||
types = "NONE",
|
||||
},
|
||||
inverse = {
|
||||
match_paren = false,
|
||||
visual = false,
|
||||
search = false,
|
||||
},
|
||||
darken = {
|
||||
floats = true,
|
||||
sidebars = {
|
||||
enable = true,
|
||||
list = {},
|
||||
},
|
||||
},
|
||||
modules = {},
|
||||
},
|
||||
palettes = {},
|
||||
specs = {},
|
||||
groups = {},
|
||||
}
|
||||
|
||||
vim.cmd "colorscheme github_dark"
|
||||
@@ -92,67 +92,7 @@ require("mason-lspconfig").setup {
|
||||
},
|
||||
}
|
||||
|
||||
-- cmp.setup {
|
||||
-- preselect = 'None',
|
||||
-- formatting = {
|
||||
-- fields = { 'kind', 'abbr' },
|
||||
-- format = function(entry, vim_item)
|
||||
-- vim_item.kind = cmp_kinds[vim_item.kind] or ''
|
||||
-- if entry.completion_item.detail then
|
||||
-- vim_item.menu = entry.completion_item.detail
|
||||
-- end
|
||||
-- return vim_item
|
||||
-- end,
|
||||
-- },
|
||||
-- completion = { completeopt = "menu,menuone" },
|
||||
-- snippet = {
|
||||
-- expand = function(args)
|
||||
-- require("luasnip").lsp_expand(args.body)
|
||||
-- end,
|
||||
-- },
|
||||
--
|
||||
-- mapping = {
|
||||
-- ["<C-p>"] = cmp.mapping.select_prev_item(),
|
||||
-- ["<C-n>"] = cmp.mapping.select_next_item(),
|
||||
-- ["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
-- ["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
-- ["<C-Space>"] = cmp.mapping.complete(),
|
||||
-- ["<C-e>"] = cmp.mapping.close(),
|
||||
-- ["<CR>"] = cmp.mapping.confirm {
|
||||
-- behavior = cmp.ConfirmBehavior.Insert,
|
||||
-- select = true,
|
||||
-- },
|
||||
-- ["<Tab>"] = cmp.mapping(function(fallback)
|
||||
-- if cmp.visible() then
|
||||
-- cmp.select_next_item()
|
||||
-- elseif require("luasnip").expand_or_jumpable() then
|
||||
-- require("luasnip").expand_or_jump()
|
||||
-- else
|
||||
-- fallback()
|
||||
-- end
|
||||
-- end, { "i", "s" }),
|
||||
-- ["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
-- if cmp.visible() then
|
||||
-- cmp.select_prev_item()
|
||||
-- elseif require("luasnip").jumpable(-1) then
|
||||
-- require("luasnip").jump(-1)
|
||||
-- else
|
||||
-- fallback()
|
||||
-- end
|
||||
-- end, { "i", "s" }),
|
||||
-- },
|
||||
--
|
||||
-- sources = cmp.config.sources({
|
||||
-- { name = "path" },
|
||||
-- { name = "nvim_lsp" },
|
||||
-- { name = "luasnip" },
|
||||
-- { name = "buffer" },
|
||||
-- { name = "nvim_lua" },
|
||||
-- }),
|
||||
-- }
|
||||
|
||||
vim.diagnostic.config {
|
||||
-- update_in_insert = true,
|
||||
virtual_text = false,
|
||||
virtual_lines = false,
|
||||
signs = true,
|
||||
@@ -264,6 +204,10 @@ local flat_servers = flatten_to_array(servers)
|
||||
for _, server in ipairs(flat_servers) do
|
||||
lspconfig(server, {
|
||||
on_attach = function(client, bufnr)
|
||||
if client.name == "typos_lsp" then
|
||||
return
|
||||
end
|
||||
|
||||
require("workspace-diagnostics").populate_workspace_diagnostics(
|
||||
client,
|
||||
bufnr
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
-- local colors = require("monokai-pro.octagon.colors").setup()
|
||||
|
||||
require("scrollbar").setup {
|
||||
handle = {},
|
||||
marks = {},
|
||||
}
|
||||
Reference in New Issue
Block a user