summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchristianchiarulli <[email protected]>2021-07-04 01:45:13 -0400
committerchristianchiarulli <[email protected]>2021-07-04 01:45:13 -0400
commitbc720781ebbb1818f8bfb31f4d191216c7deac85 (patch)
treec85d5c2dbe5be09965bf78ea85352ac993f406be
parentddc0c71dae44aaf39742201704c22f9cf92073de (diff)
parente4da06abb0c229ae87997d3018d9190356fb3b08 (diff)
Merge branch 'master' of github.com:ChristianChiarulli/LunarVim into stable
-rw-r--r--ftplugin/lua.lua3
-rw-r--r--ftplugin/rust.lua138
-rw-r--r--lua/default-config.lua3
-rw-r--r--lua/lv-barbar/init.lua3
-rw-r--r--lua/lv-bufferline/init.lua52
-rw-r--r--lua/plugins.lua31
6 files changed, 145 insertions, 85 deletions
diff --git a/ftplugin/lua.lua b/ftplugin/lua.lua
index cfcd9b92..bd541177 100644
--- a/ftplugin/lua.lua
+++ b/ftplugin/lua.lua
@@ -23,7 +23,8 @@ require'lspconfig'.sumneko_lua.setup {
[vim.fn.expand('$VIMRUNTIME/lua')] = true,
[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true
},
- maxPreload = 10000
+ maxPreload = 100000,
+ preloadFileSize = 1000
}
}
}
diff --git a/ftplugin/rust.lua b/ftplugin/rust.lua
index d210cadb..2fddb982 100644
--- a/ftplugin/rust.lua
+++ b/ftplugin/rust.lua
@@ -1,75 +1,87 @@
-local opts = {
- tools = { -- rust-tools options
- -- automatically set inlay hints (type hints)
- -- There is an issue due to which the hints are not applied on the first
- -- opened file. For now, write to the file to trigger a reapplication of
- -- the hints or just run :RustSetInlayHints.
- -- default: true
- autoSetHints = true,
-
- -- whether to show hover actions inside the hover window
- -- this overrides the default hover handler
- -- default: true
- hover_with_actions = true,
-
- runnables = {
- -- whether to use telescope for selection menu or not
+if O.lang.rust.rust_tools.active then
+ local opts = {
+ tools = { -- rust-tools options
+ -- automatically set inlay hints (type hints)
+ -- There is an issue due to which the hints are not applied on the first
+ -- opened file. For now, write to the file to trigger a reapplication of
+ -- the hints or just run :RustSetInlayHints.
-- default: true
- use_telescope = true
+ autoSetHints = true,
- -- rest of the opts are forwarded to telescope
- },
-
- inlay_hints = {
- -- wheter to show parameter hints with the inlay hints or not
+ -- whether to show hover actions inside the hover window
+ -- this overrides the default hover handler
-- default: true
- show_parameter_hints = true,
-
- -- prefix for parameter hints
- -- default: "<-"
- parameter_hints_prefix = "<-",
-
- -- prefix for all the other hints (type, chaining)
- -- default: "=>"
- other_hints_prefix = "=>",
-
- -- whether to align to the lenght of the longest line in the file
- max_len_align = false,
-
- -- padding from the left if max_len_align is true
- max_len_align_padding = 1,
-
- -- whether to align to the extreme right or not
- right_align = false,
-
- -- padding from the right if right_align is true
- right_align_padding = 7
+ hover_with_actions = true,
+
+ runnables = {
+ -- whether to use telescope for selection menu or not
+ -- default: true
+ use_telescope = true
+
+ -- rest of the opts are forwarded to telescope
+ },
+
+ inlay_hints = {
+ -- wheter to show parameter hints with the inlay hints or not
+ -- default: true
+ show_parameter_hints = true,
+
+ -- prefix for parameter hints
+ -- default: "<-"
+ parameter_hints_prefix = "<-",
+
+ -- prefix for all the other hints (type, chaining)
+ -- default: "=>"
+ other_hints_prefix = "=>",
+
+ -- whether to align to the lenght of the longest line in the file
+ max_len_align = false,
+
+ -- padding from the left if max_len_align is true
+ max_len_align_padding = 1,
+
+ -- whether to align to the extreme right or not
+ right_align = false,
+
+ -- padding from the right if right_align is true
+ right_align_padding = 7
+ },
+
+ hover_actions = {
+ -- the border that is used for the hover window
+ -- see vim.api.nvim_open_win()
+ border = {
+ {"╭", "FloatBorder"}, {"─", "FloatBorder"},
+ {"╮", "FloatBorder"}, {"│", "FloatBorder"},
+ {"╯", "FloatBorder"}, {"─", "FloatBorder"},
+ {"╰", "FloatBorder"}, {"│", "FloatBorder"}
+ }
+ }
},
- hover_actions = {
- -- the border that is used for the hover window
- -- see vim.api.nvim_open_win()
- border = {
- {"╭", "FloatBorder"}, {"─", "FloatBorder"},
- {"╮", "FloatBorder"}, {"│", "FloatBorder"},
- {"╯", "FloatBorder"}, {"─", "FloatBorder"},
- {"╰", "FloatBorder"}, {"│", "FloatBorder"}
- }
- }
- },
+ -- all the opts to send to nvim-lspconfig
+ -- these override the defaults set by rust-tools.nvim
+ -- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
+ server = {
+ cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
+ on_attach = require'lsp'.common_on_attach
+ } -- rust-analyser options
+ }
+ require('rust-tools').setup(opts)
+
+else
- -- all the opts to send to nvim-lspconfig
- -- these override the defaults set by rust-tools.nvim
- -- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
- server = {
+ require'lspconfig'.rust_analyzer.setup {
cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
- on_attach = require'lsp'.common_on_attach
- } -- rust-analyser options
-}
+ on_attach = require'lsp'.common_on_attach,
+ filetypes = {"rust"},
+ root_dir = require'lspconfig.util'.root_pattern("Cargo.toml",
+ "rust-project.json")
+ }
-require('rust-tools').setup(opts)
+end
--- TODO add this later
+-- TODO fix these mappings
vim.api.nvim_exec([[
autocmd Filetype rust nnoremap <leader>lm <Cmd>RustExpandMacro<CR>
autocmd Filetype rust nnoremap <leader>lH <Cmd>RustToggleInlayHints<CR>
diff --git a/lua/default-config.lua b/lua/default-config.lua
index 7a26f242..9563ffe5 100644
--- a/lua/default-config.lua
+++ b/lua/default-config.lua
@@ -167,6 +167,9 @@ O = {
yaml = {},
terraform = {},
rust = {
+ rust_tools = {
+ active = false
+ },
linter = '',
formatter = '',
autoformat = false,
diff --git a/lua/lv-barbar/init.lua b/lua/lv-barbar/init.lua
deleted file mode 100644
index 49c1206b..00000000
--- a/lua/lv-barbar/init.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-vim.api.nvim_set_keymap('n', '<TAB>', ':BufferNext<CR>', { noremap = true, silent = true })
-vim.api.nvim_set_keymap('n', '<S-TAB>', ':BufferPrevious<CR>', { noremap = true, silent = true })
-vim.api.nvim_set_keymap('n', '<S-x>', ':BufferClose<CR>', { noremap = true, silent = true })
diff --git a/lua/lv-bufferline/init.lua b/lua/lv-bufferline/init.lua
new file mode 100644
index 00000000..c6c37371
--- /dev/null
+++ b/lua/lv-bufferline/init.lua
@@ -0,0 +1,52 @@
+local M = {}
+
+M.config = function()
+require('bufferline').setup {
+ options = {
+ -- numbers = "none" | "ordinal" | "buffer_id" | "both",
+ -- number_style = "superscript" | "" | { "none", "subscript" }, -- buffer_id at index 1, ordinal at index 2
+ -- mappings = true | false,
+ -- 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"
+ indicator_icon = '▎',
+ buffer_close_icon = '',
+ modified_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 = 18,
+ max_prefix_length = 15, -- prefix used when a buffer is de-duplicated
+ tab_size = 18,
+ -- diagnostics = "nvim_lsp",
+ offsets = {{filetype = "NvimTree", text = "File Explorer", text_align = "left", padding = 1}},
+ -- show_buffer_icons = true | false, -- disable filetype icons for buffers
+ show_buffer_close_icons = true
+ -- show_close_icon = true | false,
+ -- show_tab_indicators = true | false,
+ -- 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 = "slant" | "thick" | "thin" | { 'any', 'any' },
+ -- enforce_regular_tabs = false | true,
+ -- always_show_bufferline = true | false,
+ -- sort_by = 'extension' | 'relative_directory' | 'directory' | function(buffer_a, buffer_b)
+ -- add custom logic
+ -- return buffer_a.modified > buffer_b.modified
+ -- end
+ }
+}
+end
+
+return M
diff --git a/lua/plugins.lua b/lua/plugins.lua
index 0a59ae8d..bdda5847 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -46,12 +46,12 @@ return require("packer").startup(function(use)
}
-- Snap TODO disable for now, need to only install fzy when user specifies they want to use snap
-- use {
- -- "camspiers/snap",
- -- rocks = "fzy",
- -- config = function()
- -- require("lv-snap").config()
- -- end,
- -- disable = not O.plugin.snap.active
+ -- "camspiers/snap",
+ -- rocks = "fzy",
+ -- config = function()
+ -- require("lv-snap").config()
+ -- end,
+ -- disable = not O.plugin.snap.active
-- }
-- Autocomplete
use {
@@ -114,15 +114,9 @@ return require("packer").startup(function(use)
use {"glepnir/galaxyline.nvim"}
use {
- "romgrk/barbar.nvim",
-
+ "akinsho/nvim-bufferline.lua",
config = function()
- vim.api.nvim_set_keymap('n', '<TAB>', ':BufferNext<CR>',
- {noremap = true, silent = true})
- vim.api.nvim_set_keymap('n', '<S-TAB>', ':BufferPrevious<CR>',
- {noremap = true, silent = true})
- vim.api.nvim_set_keymap('n', '<S-x>', ':BufferClose<CR>',
- {noremap = true, silent = true})
+ require("lv-bufferline").config()
end,
event = "BufRead"
@@ -228,8 +222,9 @@ return require("packer").startup(function(use)
vim.g.indentLine_enabled = 1
vim.g.indent_blankline_char = "▏"
- vim.g.indent_blankline_filetype_exclude =
- {"help", "terminal", "dashboard"}
+ vim.g.indent_blankline_filetype_exclude = {
+ "help", "terminal", "dashboard"
+ }
vim.g.indent_blankline_buftype_exclude = {"terminal"}
vim.g.indent_blankline_show_trailing_blankline_indent = false
@@ -378,7 +373,7 @@ return require("packer").startup(function(use)
cmd = "LazyGit",
disable = not O.plugin.lazygit.active
}
- -- Lazygit
+ -- Octo
use {
"pwntester/octo.nvim",
event = "BufRead",
@@ -401,7 +396,7 @@ return require("packer").startup(function(use)
use {
"rktjmp/lush.nvim",
-- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"},
- disable = not O.plugin.lush.active,
+ disable = not O.plugin.lush.active
}
-- HTML preview
use {