From 1027d8cb1684c38315969ea7417398bd57948614 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Tue, 14 Dec 2021 18:21:42 -0500 Subject: add bufferline --- lua/user/bufferline.lua | 167 ++++++++++++++++++++++++++++++++++++++++++++++++ lua/user/plugins.lua | 8 ++- 2 files changed, 172 insertions(+), 3 deletions(-) create mode 100644 lua/user/bufferline.lua (limited to 'lua/user') diff --git a/lua/user/bufferline.lua b/lua/user/bufferline.lua new file mode 100644 index 0000000..81015c5 --- /dev/null +++ b/lua/user/bufferline.lua @@ -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 ~= "" then + -- return true + -- end + -- -- filter out by buffer name + -- if vim.fn.bufname(buf_number) ~= "" 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() == "" 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 = "TabLineSel" }, + guibg = { attribute = "bg", highlight = "TabLineSel" }, + }, + close_button_visible = { + guifg = { attribute = "fg", highlight = "TabLineSel" }, + guibg = { attribute = "bg", highlight = "TabLineSel" }, + }, + -- 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" }, + }, + }, +} diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index 04c0bc9..530d7bf 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -46,8 +46,10 @@ return packer.startup(function(use) use "nvim-lua/plenary.nvim" -- Useful lua functions used ny lots of plugins use "windwp/nvim-autopairs" -- Autopairs, integrates with both cmp and treesitter use "numToStr/Comment.nvim" -- Easily comment stuff - use 'kyazdani42/nvim-web-devicons' - use 'kyazdani42/nvim-tree.lua' + use "kyazdani42/nvim-web-devicons" + use "kyazdani42/nvim-tree.lua" + use "akinsho/bufferline.nvim" + use "moll/vim-bbye" -- Colorschemes -- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out @@ -78,7 +80,7 @@ return packer.startup(function(use) "nvim-treesitter/nvim-treesitter", run = ":TSUpdate", } - use 'JoosepAlviste/nvim-ts-context-commentstring' + use "JoosepAlviste/nvim-ts-context-commentstring" -- Git use "lewis6991/gitsigns.nvim" -- cgit v1.2.3 From 6fddfcb743fe2f4980608853ef27fb9b5737a3ee Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Tue, 14 Dec 2021 18:25:42 -0500 Subject: add null-ls fix bufferline f --- lua/user/bufferline.lua | 8 ++++---- lua/user/keymaps.lua | 4 ---- lua/user/lsp/init.lua | 5 +++-- lua/user/lsp/null-ls.lua | 19 +++++++++++++++++++ lua/user/plugins.lua | 1 + 5 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 lua/user/lsp/null-ls.lua (limited to 'lua/user') diff --git a/lua/user/bufferline.lua b/lua/user/bufferline.lua index 81015c5..7d98cf0 100644 --- a/lua/user/bufferline.lua +++ b/lua/user/bufferline.lua @@ -92,12 +92,12 @@ bufferline.setup { }, close_button = { - guifg = { attribute = "fg", highlight = "TabLineSel" }, - guibg = { attribute = "bg", highlight = "TabLineSel" }, + guifg = { attribute = "fg", highlight = "TabLine" }, + guibg = { attribute = "bg", highlight = "TabLine" }, }, close_button_visible = { - guifg = { attribute = "fg", highlight = "TabLineSel" }, - guibg = { attribute = "bg", highlight = "TabLineSel" }, + guifg = { attribute = "fg", highlight = "TabLine" }, + guibg = { attribute = "bg", highlight = "TabLine" }, }, -- close_button_selected = { -- guifg = {attribute='fg',highlight='TabLineSel'}, diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua index b4d2195..638cab5 100644 --- a/lua/user/keymaps.lua +++ b/lua/user/keymaps.lua @@ -67,9 +67,5 @@ keymap("t", "", "j", term_opts) keymap("t", "", "k", term_opts) keymap("t", "", "l", term_opts) --- Comment -keymap("n", "/", "lua require('Comment').toggle()", opts) -keymap("v", "/", ":lua require(\"Comment.api\").gc(vim.fn.visualmode())", opts) - -- Nvimtree keymap("n", "e", ":NvimTreeToggle", opts) diff --git a/lua/user/lsp/init.lua b/lua/user/lsp/init.lua index a62e7aa..8158cf3 100644 --- a/lua/user/lsp/init.lua +++ b/lua/user/lsp/init.lua @@ -1,7 +1,8 @@ local status_ok, _ = pcall(require, "lspconfig") if not status_ok then - return + return end -require("user.lsp.lsp-installer") +require "user.lsp.lsp-installer" require("user.lsp.handlers").setup() +require "user.lsp.null-ls" diff --git a/lua/user/lsp/null-ls.lua b/lua/user/lsp/null-ls.lua new file mode 100644 index 0000000..874e19c --- /dev/null +++ b/lua/user/lsp/null-ls.lua @@ -0,0 +1,19 @@ +local null_ls_status_ok, null_ls = pcall(require, "null-ls") +if not null_ls_status_ok then + return +end + +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting +local formatting = null_ls.builtins.formatting +-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics +local diagnostics = null_ls.builtins.diagnostics + +null_ls.setup({ + debug = false, + sources = { + formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), + formatting.black.with({ extra_args = { "--fast" } }), + formatting.stylua, + -- diagnostics.flake8 + }, +}) diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index 530d7bf..614545c 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -71,6 +71,7 @@ return packer.startup(function(use) use "neovim/nvim-lspconfig" -- enable LSP use "williamboman/nvim-lsp-installer" -- simple to use language server installer use "tamago324/nlsp-settings.nvim" -- language server settings defined in json for + use "jose-elias-alvarez/null-ls.nvim" -- for formatters and linters -- Telescope use "nvim-telescope/telescope.nvim" -- cgit v1.2.3 From efd287ffa01e611a0981b34e70538528e5e96fdb Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Sun, 2 Jan 2022 14:27:12 -0500 Subject: update deprecated diagnostic show --- lua/user/lsp/handlers.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lua/user') diff --git a/lua/user/lsp/handlers.lua b/lua/user/lsp/handlers.lua index fb8b7f8..5dfde9b 100644 --- a/lua/user/lsp/handlers.lua +++ b/lua/user/lsp/handlers.lua @@ -76,7 +76,7 @@ local function lsp_keymaps(bufnr) bufnr, "n", "gl", - 'lua vim.lsp.diagnostic.show_line_diagnostics({ border = "rounded" })', + 'lua vim.diagnostic.open_float()', opts ) vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", 'lua vim.diagnostic.goto_next({ border = "rounded" })', opts) -- cgit v1.2.3 From a9f3e7f837775601941c51abfcde7eb9ca708241 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Sun, 2 Jan 2022 14:28:26 -0500 Subject: remove plugin --- lua/user/plugins.lua | 1 - 1 file changed, 1 deletion(-) (limited to 'lua/user') diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index 614545c..0035ad8 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -70,7 +70,6 @@ return packer.startup(function(use) -- LSP use "neovim/nvim-lspconfig" -- enable LSP use "williamboman/nvim-lsp-installer" -- simple to use language server installer - use "tamago324/nlsp-settings.nvim" -- language server settings defined in json for use "jose-elias-alvarez/null-ls.nvim" -- for formatters and linters -- Telescope -- cgit v1.2.3 From 65466d0b009251f5dfc745abfac9540f2b597eb8 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Sun, 2 Jan 2022 14:37:51 -0500 Subject: diagnostic flake8 enabled by default --- lua/user/lsp/null-ls.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lua/user') diff --git a/lua/user/lsp/null-ls.lua b/lua/user/lsp/null-ls.lua index 874e19c..c7d40fd 100644 --- a/lua/user/lsp/null-ls.lua +++ b/lua/user/lsp/null-ls.lua @@ -14,6 +14,6 @@ null_ls.setup({ formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), formatting.black.with({ extra_args = { "--fast" } }), formatting.stylua, - -- diagnostics.flake8 + diagnostics.flake8 }, }) -- cgit v1.2.3 From 8309138032f1bcd6eeb9586994994696f4786204 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Sun, 2 Jan 2022 15:13:39 -0500 Subject: updates for video --- lua/user/keymaps.lua | 1 + lua/user/lsp/handlers.lua | 8 +------- lua/user/lsp/null-ls.lua | 21 +++++++++++---------- 3 files changed, 13 insertions(+), 17 deletions(-) (limited to 'lua/user') diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua index 638cab5..6140fbd 100644 --- a/lua/user/keymaps.lua +++ b/lua/user/keymaps.lua @@ -69,3 +69,4 @@ keymap("t", "", "l", term_opts) -- Nvimtree keymap("n", "e", ":NvimTreeToggle", opts) +keymap("n", "f", ":Format", opts) diff --git a/lua/user/lsp/handlers.lua b/lua/user/lsp/handlers.lua index 5dfde9b..4868b79 100644 --- a/lua/user/lsp/handlers.lua +++ b/lua/user/lsp/handlers.lua @@ -72,13 +72,7 @@ local function lsp_keymaps(bufnr) -- vim.api.nvim_buf_set_keymap(bufnr, "n", "ca", "lua vim.lsp.buf.code_action()", opts) -- vim.api.nvim_buf_set_keymap(bufnr, "n", "f", "lua vim.diagnostic.open_float()", opts) vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", 'lua vim.diagnostic.goto_prev({ border = "rounded" })', opts) - vim.api.nvim_buf_set_keymap( - bufnr, - "n", - "gl", - 'lua vim.diagnostic.open_float()', - opts - ) + vim.api.nvim_buf_set_keymap(bufnr, "n", "gl", "lua vim.diagnostic.open_float()", opts) vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", 'lua vim.diagnostic.goto_next({ border = "rounded" })', opts) vim.api.nvim_buf_set_keymap(bufnr, "n", "q", "lua vim.diagnostic.setloclist()", opts) vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]] diff --git a/lua/user/lsp/null-ls.lua b/lua/user/lsp/null-ls.lua index c7d40fd..ec79994 100644 --- a/lua/user/lsp/null-ls.lua +++ b/lua/user/lsp/null-ls.lua @@ -1,6 +1,6 @@ local null_ls_status_ok, null_ls = pcall(require, "null-ls") if not null_ls_status_ok then - return + return end -- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting @@ -8,12 +8,13 @@ local formatting = null_ls.builtins.formatting -- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics local diagnostics = null_ls.builtins.diagnostics -null_ls.setup({ - debug = false, - sources = { - formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), - formatting.black.with({ extra_args = { "--fast" } }), - formatting.stylua, - diagnostics.flake8 - }, -}) +null_ls.setup { + debug = false, + sources = { + formatting.prettier.with { extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }, + formatting.black.with { extra_args = { "--fast" } }, + -- formatting.yapf, + formatting.stylua, + diagnostics.flake8, + }, +} -- cgit v1.2.3 From d362e34fd1044ae09158eb10243a7ec2cc502a4d Mon Sep 17 00:00:00 2001 From: "Vito G. Graffagnino" Date: Mon, 30 May 2022 22:40:25 +0100 Subject: plugins.lua --- lua/user/plugins.lua | 3 --- 1 file changed, 3 deletions(-) (limited to 'lua/user') diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index 5893e92..56ef86d 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -73,10 +73,7 @@ return packer.startup(function(use) -- LSP use "neovim/nvim-lspconfig" -- enable LSP use "williamboman/nvim-lsp-installer" -- simple to use language server installer -<<<<<<< HEAD use "jose-elias-alvarez/null-ls.nvim" -- for formatters and linters -======= ->>>>>>> vgg -- Telescope use "nvim-telescope/telescope.nvim" -- cgit v1.2.3