added bufferline and others
This commit is contained in:
parent
c9553d36a3
commit
e6f34faa53
|
@ -0,0 +1,33 @@
|
||||||
|
-- Setup nvim-cmp.
|
||||||
|
local status_ok, npairs = pcall(require, "nvim-autopairs")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
npairs.setup {
|
||||||
|
check_ts = true,
|
||||||
|
ts_config = {
|
||||||
|
lua = { "string", "source" },
|
||||||
|
javascript = { "string", "template_string" },
|
||||||
|
java = false,
|
||||||
|
},
|
||||||
|
disable_filetype = { "TelescopePrompt", "spectre_panel" },
|
||||||
|
fast_wrap = {
|
||||||
|
map = "<M-e>",
|
||||||
|
chars = { "{", "[", "(", '"', "'" },
|
||||||
|
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
|
||||||
|
offset = 0, -- Offset from pattern match
|
||||||
|
end_key = "$",
|
||||||
|
keys = "qwertyuiopzxcvbnmasdfghjkl",
|
||||||
|
check_comma = true,
|
||||||
|
highlight = "PmenuSel",
|
||||||
|
highlight_grey = "LineNr",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local cmp_autopairs = require "nvim-autopairs.completion.cmp"
|
||||||
|
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
|
|
@ -0,0 +1,167 @@
|
||||||
|
local status_ok, bufferline = pcall(require, "bufferline")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
bufferline.setup {
|
||||||
|
options = {
|
||||||
|
numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
|
||||||
|
close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
|
||||||
|
right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
|
||||||
|
left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions"
|
||||||
|
middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
|
||||||
|
-- NOTE: this plugin is designed with this icon in mind,
|
||||||
|
-- and so changing this is NOT recommended, this is intended
|
||||||
|
-- as an escape hatch for people who cannot bear it for whatever reason
|
||||||
|
indicator_icon = "▎",
|
||||||
|
buffer_close_icon = "",
|
||||||
|
-- buffer_close_icon = '',
|
||||||
|
modified_icon = "●",
|
||||||
|
close_icon = "",
|
||||||
|
-- close_icon = '',
|
||||||
|
left_trunc_marker = "",
|
||||||
|
right_trunc_marker = "",
|
||||||
|
--- name_formatter can be used to change the buffer's label in the bufferline.
|
||||||
|
--- Please note some names can/will break the
|
||||||
|
--- bufferline so use this at your discretion knowing that it has
|
||||||
|
--- some limitations that will *NOT* be fixed.
|
||||||
|
-- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr"
|
||||||
|
-- -- remove extension from markdown files for example
|
||||||
|
-- if buf.name:match('%.md') then
|
||||||
|
-- return vim.fn.fnamemodify(buf.name, ':t:r')
|
||||||
|
-- end
|
||||||
|
-- end,
|
||||||
|
max_name_length = 30,
|
||||||
|
max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
|
||||||
|
tab_size = 21,
|
||||||
|
diagnostics = false, -- | "nvim_lsp" | "coc",
|
||||||
|
diagnostics_update_in_insert = false,
|
||||||
|
-- diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
|
-- return "("..count..")"
|
||||||
|
-- end,
|
||||||
|
-- NOTE: this will be called a lot so don't do any heavy processing here
|
||||||
|
-- custom_filter = function(buf_number)
|
||||||
|
-- -- filter out filetypes you don't want to see
|
||||||
|
-- if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- -- filter out by buffer name
|
||||||
|
-- if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- -- filter out based on arbitrary rules
|
||||||
|
-- -- e.g. filter out vim wiki buffer from tabline in your work repo
|
||||||
|
-- if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- end,
|
||||||
|
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
|
||||||
|
show_buffer_icons = true,
|
||||||
|
show_buffer_close_icons = true,
|
||||||
|
show_close_icon = true,
|
||||||
|
show_tab_indicators = true,
|
||||||
|
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
|
||||||
|
-- can also be a table containing 2 custom separators
|
||||||
|
-- [focused and unfocused]. eg: { '|', '|' }
|
||||||
|
separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
|
||||||
|
enforce_regular_tabs = true,
|
||||||
|
always_show_bufferline = true,
|
||||||
|
-- sort_by = 'id' | 'extension' | 'relative_directory' | 'directory' | 'tabs' | function(buffer_a, buffer_b)
|
||||||
|
-- -- add custom logic
|
||||||
|
-- return buffer_a.modified > buffer_b.modified
|
||||||
|
-- end
|
||||||
|
},
|
||||||
|
highlights = {
|
||||||
|
fill = {
|
||||||
|
guifg = { attribute = "fg", highlight = "#ff0000" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
background = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- buffer_selected = {
|
||||||
|
-- guifg = {attribute='fg',highlight='#ff0000'},
|
||||||
|
-- guibg = {attribute='bg',highlight='#0000ff'},
|
||||||
|
-- gui = 'none'
|
||||||
|
-- },
|
||||||
|
buffer_visible = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
close_button = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
close_button_visible = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
-- close_button_selected = {
|
||||||
|
-- guifg = {attribute='fg',highlight='TabLineSel'},
|
||||||
|
-- guibg ={attribute='bg',highlight='TabLineSel'}
|
||||||
|
-- },
|
||||||
|
|
||||||
|
tab_selected = {
|
||||||
|
guifg = { attribute = "fg", highlight = "Normal" },
|
||||||
|
guibg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
tab = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
tab_close = {
|
||||||
|
-- guifg = {attribute='fg',highlight='LspDiagnosticsDefaultError'},
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
|
guibg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
|
||||||
|
duplicate_selected = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLineSel" },
|
||||||
|
gui = "italic",
|
||||||
|
},
|
||||||
|
duplicate_visible = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
gui = "italic",
|
||||||
|
},
|
||||||
|
duplicate = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
gui = "italic",
|
||||||
|
},
|
||||||
|
|
||||||
|
modified = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
modified_selected = {
|
||||||
|
guifg = { attribute = "fg", highlight = "Normal" },
|
||||||
|
guibg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
modified_visible = {
|
||||||
|
guifg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
separator = {
|
||||||
|
guifg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
guibg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
separator_selected = {
|
||||||
|
guifg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
guibg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
-- separator_visible = {
|
||||||
|
-- guifg = {attribute='bg',highlight='TabLine'},
|
||||||
|
-- guibg = {attribute='bg',highlight='TabLine'}
|
||||||
|
-- },
|
||||||
|
indicator_selected = {
|
||||||
|
guifg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
|
||||||
|
guibg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
local colorscheme = 'default'
|
local colorscheme = "tokyonight"
|
||||||
|
|
||||||
local status_ok, _ = pcall(vim.cmd, 'colorscheme ' .. colorscheme)
|
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
|
||||||
if not status_ok then
|
if not status_ok then
|
||||||
vim.notify('colorscheme ' .. colorscheme .. ' not found!')
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
|
@ -106,3 +106,6 @@ vim.keymap.set('n', '<leader>sn', function()
|
||||||
builtin.find_files { cwd = vim.fn.stdpath 'config' }
|
builtin.find_files { cwd = vim.fn.stdpath 'config' }
|
||||||
end, { desc = '[S]earch [N]eovim files' })
|
end, { desc = '[S]earch [N]eovim files' })
|
||||||
|
|
||||||
|
-- Nvimtree
|
||||||
|
keymap("n", "<leader>e", ":NvimTreeToggle<cr>", opts)
|
||||||
|
keymap("n", "<leader>f", ":Format<cr>", opts)
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
local status_ok, nvim_tree = pcall(require, "nvim-tree")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local function my_on_attach(bufnr)
|
||||||
|
local api = require "nvim-tree.api"
|
||||||
|
|
||||||
|
local function opts(desc)
|
||||||
|
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||||
|
end
|
||||||
|
|
||||||
|
-- default mappings
|
||||||
|
api.config.mappings.default_on_attach(bufnr)
|
||||||
|
|
||||||
|
-- custom mappings
|
||||||
|
vim.keymap.set("n", "<C-t>", api.tree.change_root_to_parent, opts("Up"))
|
||||||
|
vim.keymap.set("n", "?", api.tree.toggle_help, opts("Help"))
|
||||||
|
vim.keymap.set("n", "l", api.node.open.edit, opts("Open"))
|
||||||
|
vim.keymap.set("n", "h", api.node.navigate.parent_close, opts("close_node"))
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- set termguicolors to enable highlight groups
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
-- OR setup with some options
|
||||||
|
nvim_tree.setup({
|
||||||
|
on_attach = my_on_attach,
|
||||||
|
sort_by = "case_sensitive",
|
||||||
|
view = {
|
||||||
|
adaptive_size = true,
|
||||||
|
},
|
||||||
|
hijack_cursor = true,
|
||||||
|
renderer = {
|
||||||
|
highlight_git = true,
|
||||||
|
root_folder_modifier = ":t",
|
||||||
|
icons = {
|
||||||
|
show = {
|
||||||
|
file = true,
|
||||||
|
folder = true,
|
||||||
|
folder_arrow = true,
|
||||||
|
git = true,
|
||||||
|
},
|
||||||
|
glyphs = {
|
||||||
|
default = "",
|
||||||
|
symlink = "",
|
||||||
|
git = {
|
||||||
|
unstaged = "",
|
||||||
|
staged = "S",
|
||||||
|
unmerged = "",
|
||||||
|
renamed = "➜",
|
||||||
|
deleted = "",
|
||||||
|
untracked = "U",
|
||||||
|
ignored = "◌",
|
||||||
|
},
|
||||||
|
folder = {
|
||||||
|
default = "",
|
||||||
|
open = "",
|
||||||
|
empty = "",
|
||||||
|
empty_open = "",
|
||||||
|
symlink = "",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
dotfiles = true,
|
||||||
|
},
|
||||||
|
update_cwd = true,
|
||||||
|
diagnostics = {
|
||||||
|
enable = true,
|
||||||
|
icons = {
|
||||||
|
hint = "",
|
||||||
|
info = "",
|
||||||
|
warning = "",
|
||||||
|
error = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
|
@ -16,7 +16,7 @@ local options = {
|
||||||
splitbelow = true, -- force all horizontal splits to go below current window
|
splitbelow = true, -- force all horizontal splits to go below current window
|
||||||
splitright = true, -- force all vertical splits to go to the right of current window
|
splitright = true, -- force all vertical splits to go to the right of current window
|
||||||
swapfile = false, -- creates a swapfile
|
swapfile = false, -- creates a swapfile
|
||||||
termguicolors = true, -- set term gui colors (most terminals support this)
|
termguicolors = true, -- set term gui colors (most terminals support this)
|
||||||
timeoutlen = 1000, -- time to wait for a mapped sequence to complete (in milliseconds)
|
timeoutlen = 1000, -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||||
undofile = true, -- enable persistent undo
|
undofile = true, -- enable persistent undo
|
||||||
updatetime = 300, -- faster completion (4000ms default)
|
updatetime = 300, -- faster completion (4000ms default)
|
||||||
|
|
|
@ -44,10 +44,15 @@ return packer.startup(function(use)
|
||||||
use "wbthomason/packer.nvim" -- Have packer manage itself
|
use "wbthomason/packer.nvim" -- Have packer manage itself
|
||||||
use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim
|
use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim
|
||||||
use "nvim-lua/plenary.nvim" -- Useful lua functions used ny lots of plugins
|
use "nvim-lua/plenary.nvim" -- Useful lua functions used ny lots of plugins
|
||||||
|
use "windwp/nvim-autopairs" -- Autopairs
|
||||||
|
-- use "numToStr/Comment.nvim" -- Easily comment stuff
|
||||||
|
use 'kyazdani42/nvim-web-devicons'
|
||||||
|
use 'kyazdani42/nvim-tree.lua'
|
||||||
-- Colorschemes
|
-- Colorschemes
|
||||||
-- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out
|
-- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out
|
||||||
use "lunarvim/darkplus.nvim"
|
use "lunarvim/darkplus.nvim"
|
||||||
|
use "akinsho/bufferline.nvim"
|
||||||
|
use "moll/vim-bbye"
|
||||||
|
|
||||||
-- cmp plugins
|
-- cmp plugins
|
||||||
use "hrsh7th/nvim-cmp" -- The completion plugin
|
use "hrsh7th/nvim-cmp" -- The completion plugin
|
||||||
|
@ -73,6 +78,14 @@ return packer.startup(function(use)
|
||||||
}
|
}
|
||||||
use "nvim-telescope/telescope-media-files.nvim"
|
use "nvim-telescope/telescope-media-files.nvim"
|
||||||
|
|
||||||
|
-- Treesitter
|
||||||
|
use {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
run = ":TSUpdate",
|
||||||
|
}
|
||||||
|
-- use "p00f/nvim-ts-rainbow"
|
||||||
|
-- use "nvim-treesitter/playground"
|
||||||
|
|
||||||
-- Automatically set up your configuration after cloning packer.nvim
|
-- Automatically set up your configuration after cloning packer.nvim
|
||||||
-- Put this at the end after all plugins
|
-- Put this at the end after all plugins
|
||||||
if PACKER_BOOTSTRAP then
|
if PACKER_BOOTSTRAP then
|
||||||
|
|
|
@ -8,37 +8,6 @@ telescope.load_extension('media_files')
|
||||||
local actions = require "telescope.actions"
|
local actions = require "telescope.actions"
|
||||||
local builtin = require 'telescope.builtin'
|
local builtin = require 'telescope.builtin'
|
||||||
|
|
||||||
-- -- Enable Telescope extensions if they are installed
|
|
||||||
-- pcall(require('telescope').load_extension, 'fzf')
|
|
||||||
-- pcall(require('telescope').load_extension, 'ui-select')
|
|
||||||
--
|
|
||||||
--
|
|
||||||
-- -- Slightly advanced example of overriding default behavior and theme
|
|
||||||
-- vim.keymap.set('n', '<leader>/', function()
|
|
||||||
-- -- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
|
||||||
-- builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
|
|
||||||
-- winblend = 10,
|
|
||||||
-- previewer = false,
|
|
||||||
-- })
|
|
||||||
-- end, { desc = '[/] Fuzzily search in current buffer' })
|
|
||||||
--
|
|
||||||
-- -- It's also possible to pass additional configuration options.
|
|
||||||
-- -- See `:help telescope.builtin.live_grep()` for information about particular keys
|
|
||||||
-- vim.keymap.set('n', '<leader>s/', function()
|
|
||||||
-- builtin.live_grep {
|
|
||||||
-- grep_open_files = true,
|
|
||||||
-- prompt_title = 'Live Grep in Open Files',
|
|
||||||
-- }
|
|
||||||
-- end, { desc = '[S]earch [/] in Open Files' })
|
|
||||||
--
|
|
||||||
-- -- Shortcut for searching your Neovim configuration files
|
|
||||||
-- vim.keymap.set('n', '<leader>sn', function()
|
|
||||||
-- builtin.find_files { cwd = vim.fn.stdpath 'config' }
|
|
||||||
-- end, { desc = '[S]earch [N]eovim files' })
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
--
|
|
||||||
|
|
||||||
telescope.setup {
|
telescope.setup {
|
||||||
defaults = {
|
defaults = {
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
local status_ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
configs.setup {
|
||||||
|
ensure_installed = "all", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||||
|
sync_install = false, -- install languages synchronously (only applied to `ensure_installed`)
|
||||||
|
ignore_install = { "" }, -- List of parsers to ignore installing
|
||||||
|
autopairs = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
highlight = {
|
||||||
|
enable = true, -- false will disable the whole extension
|
||||||
|
disable = { "" }, -- list of language that will be disabled
|
||||||
|
additional_vim_regex_highlighting = true,
|
||||||
|
},
|
||||||
|
indent = { enable = true, disable = { "yaml" } },
|
||||||
|
context_commentstring = {
|
||||||
|
enable = true,
|
||||||
|
enable_autocmd = false,
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in New Issue