mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-21 11:05:08 +02:00
Merge branch 'master' of github.com:ChristianChiarulli/LunarVim into stable
This commit is contained in:
commit
bc720781eb
6 changed files with 139 additions and 79 deletions
|
@ -23,7 +23,8 @@ require'lspconfig'.sumneko_lua.setup {
|
||||||
[vim.fn.expand('$VIMRUNTIME/lua')] = true,
|
[vim.fn.expand('$VIMRUNTIME/lua')] = true,
|
||||||
[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true
|
[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true
|
||||||
},
|
},
|
||||||
maxPreload = 10000
|
maxPreload = 100000,
|
||||||
|
preloadFileSize = 1000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,75 +1,87 @@
|
||||||
local opts = {
|
if O.lang.rust.rust_tools.active then
|
||||||
tools = { -- rust-tools options
|
local opts = {
|
||||||
-- automatically set inlay hints (type hints)
|
tools = { -- rust-tools options
|
||||||
-- There is an issue due to which the hints are not applied on the first
|
-- automatically set inlay hints (type hints)
|
||||||
-- opened file. For now, write to the file to trigger a reapplication of
|
-- There is an issue due to which the hints are not applied on the first
|
||||||
-- the hints or just run :RustSetInlayHints.
|
-- opened file. For now, write to the file to trigger a reapplication of
|
||||||
-- default: true
|
-- the hints or just run :RustSetInlayHints.
|
||||||
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
|
|
||||||
-- default: true
|
-- default: true
|
||||||
use_telescope = true
|
autoSetHints = true,
|
||||||
|
|
||||||
-- rest of the opts are forwarded to telescope
|
-- whether to show hover actions inside the hover window
|
||||||
},
|
-- this overrides the default hover handler
|
||||||
|
|
||||||
inlay_hints = {
|
|
||||||
-- wheter to show parameter hints with the inlay hints or not
|
|
||||||
-- default: true
|
-- default: true
|
||||||
show_parameter_hints = true,
|
hover_with_actions = true,
|
||||||
|
|
||||||
-- prefix for parameter hints
|
runnables = {
|
||||||
-- default: "<-"
|
-- whether to use telescope for selection menu or not
|
||||||
parameter_hints_prefix = "<-",
|
-- default: true
|
||||||
|
use_telescope = true
|
||||||
|
|
||||||
-- prefix for all the other hints (type, chaining)
|
-- rest of the opts are forwarded to telescope
|
||||||
-- default: "=>"
|
},
|
||||||
other_hints_prefix = "=>",
|
|
||||||
|
|
||||||
-- whether to align to the lenght of the longest line in the file
|
inlay_hints = {
|
||||||
max_len_align = false,
|
-- wheter to show parameter hints with the inlay hints or not
|
||||||
|
-- default: true
|
||||||
|
show_parameter_hints = true,
|
||||||
|
|
||||||
-- padding from the left if max_len_align is true
|
-- prefix for parameter hints
|
||||||
max_len_align_padding = 1,
|
-- default: "<-"
|
||||||
|
parameter_hints_prefix = "<-",
|
||||||
|
|
||||||
-- whether to align to the extreme right or not
|
-- prefix for all the other hints (type, chaining)
|
||||||
right_align = false,
|
-- default: "=>"
|
||||||
|
other_hints_prefix = "=>",
|
||||||
|
|
||||||
-- padding from the right if right_align is true
|
-- whether to align to the lenght of the longest line in the file
|
||||||
right_align_padding = 7
|
max_len_align = false,
|
||||||
},
|
|
||||||
|
|
||||||
hover_actions = {
|
-- padding from the left if max_len_align is true
|
||||||
-- the border that is used for the hover window
|
max_len_align_padding = 1,
|
||||||
-- see vim.api.nvim_open_win()
|
|
||||||
border = {
|
-- whether to align to the extreme right or not
|
||||||
{"╭", "FloatBorder"}, {"─", "FloatBorder"},
|
right_align = false,
|
||||||
{"╮", "FloatBorder"}, {"│", "FloatBorder"},
|
|
||||||
{"╯", "FloatBorder"}, {"─", "FloatBorder"},
|
-- padding from the right if right_align is true
|
||||||
{"╰", "FloatBorder"}, {"│", "FloatBorder"}
|
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"}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
},
|
|
||||||
|
|
||||||
-- all the opts to send to nvim-lspconfig
|
-- all the opts to send to nvim-lspconfig
|
||||||
-- these override the defaults set by rust-tools.nvim
|
-- these override the defaults set by rust-tools.nvim
|
||||||
-- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
|
-- see https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer
|
||||||
server = {
|
server = {
|
||||||
|
cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
|
||||||
|
on_attach = require'lsp'.common_on_attach
|
||||||
|
} -- rust-analyser options
|
||||||
|
}
|
||||||
|
require('rust-tools').setup(opts)
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
require'lspconfig'.rust_analyzer.setup {
|
||||||
cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
|
cmd = {DATA_PATH .. "/lspinstall/rust/rust-analyzer"},
|
||||||
on_attach = require'lsp'.common_on_attach
|
on_attach = require'lsp'.common_on_attach,
|
||||||
} -- rust-analyser options
|
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([[
|
vim.api.nvim_exec([[
|
||||||
autocmd Filetype rust nnoremap <leader>lm <Cmd>RustExpandMacro<CR>
|
autocmd Filetype rust nnoremap <leader>lm <Cmd>RustExpandMacro<CR>
|
||||||
autocmd Filetype rust nnoremap <leader>lH <Cmd>RustToggleInlayHints<CR>
|
autocmd Filetype rust nnoremap <leader>lH <Cmd>RustToggleInlayHints<CR>
|
||||||
|
|
|
@ -167,6 +167,9 @@ O = {
|
||||||
yaml = {},
|
yaml = {},
|
||||||
terraform = {},
|
terraform = {},
|
||||||
rust = {
|
rust = {
|
||||||
|
rust_tools = {
|
||||||
|
active = false
|
||||||
|
},
|
||||||
linter = '',
|
linter = '',
|
||||||
formatter = '',
|
formatter = '',
|
||||||
autoformat = false,
|
autoformat = false,
|
||||||
|
|
|
@ -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 })
|
|
52
lua/lv-bufferline/init.lua
Normal file
52
lua/lv-bufferline/init.lua
Normal file
|
@ -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
|
|
@ -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
|
-- Snap TODO disable for now, need to only install fzy when user specifies they want to use snap
|
||||||
-- use {
|
-- use {
|
||||||
-- "camspiers/snap",
|
-- "camspiers/snap",
|
||||||
-- rocks = "fzy",
|
-- rocks = "fzy",
|
||||||
-- config = function()
|
-- config = function()
|
||||||
-- require("lv-snap").config()
|
-- require("lv-snap").config()
|
||||||
-- end,
|
-- end,
|
||||||
-- disable = not O.plugin.snap.active
|
-- disable = not O.plugin.snap.active
|
||||||
-- }
|
-- }
|
||||||
-- Autocomplete
|
-- Autocomplete
|
||||||
use {
|
use {
|
||||||
|
@ -114,15 +114,9 @@ return require("packer").startup(function(use)
|
||||||
use {"glepnir/galaxyline.nvim"}
|
use {"glepnir/galaxyline.nvim"}
|
||||||
|
|
||||||
use {
|
use {
|
||||||
"romgrk/barbar.nvim",
|
"akinsho/nvim-bufferline.lua",
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
vim.api.nvim_set_keymap('n', '<TAB>', ':BufferNext<CR>',
|
require("lv-bufferline").config()
|
||||||
{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})
|
|
||||||
end,
|
end,
|
||||||
event = "BufRead"
|
event = "BufRead"
|
||||||
|
|
||||||
|
@ -228,8 +222,9 @@ return require("packer").startup(function(use)
|
||||||
vim.g.indentLine_enabled = 1
|
vim.g.indentLine_enabled = 1
|
||||||
vim.g.indent_blankline_char = "▏"
|
vim.g.indent_blankline_char = "▏"
|
||||||
|
|
||||||
vim.g.indent_blankline_filetype_exclude =
|
vim.g.indent_blankline_filetype_exclude = {
|
||||||
{"help", "terminal", "dashboard"}
|
"help", "terminal", "dashboard"
|
||||||
|
}
|
||||||
vim.g.indent_blankline_buftype_exclude = {"terminal"}
|
vim.g.indent_blankline_buftype_exclude = {"terminal"}
|
||||||
|
|
||||||
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
||||||
|
@ -378,7 +373,7 @@ return require("packer").startup(function(use)
|
||||||
cmd = "LazyGit",
|
cmd = "LazyGit",
|
||||||
disable = not O.plugin.lazygit.active
|
disable = not O.plugin.lazygit.active
|
||||||
}
|
}
|
||||||
-- Lazygit
|
-- Octo
|
||||||
use {
|
use {
|
||||||
"pwntester/octo.nvim",
|
"pwntester/octo.nvim",
|
||||||
event = "BufRead",
|
event = "BufRead",
|
||||||
|
@ -401,7 +396,7 @@ return require("packer").startup(function(use)
|
||||||
use {
|
use {
|
||||||
"rktjmp/lush.nvim",
|
"rktjmp/lush.nvim",
|
||||||
-- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"},
|
-- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"},
|
||||||
disable = not O.plugin.lush.active,
|
disable = not O.plugin.lush.active
|
||||||
}
|
}
|
||||||
-- HTML preview
|
-- HTML preview
|
||||||
use {
|
use {
|
||||||
|
|
Loading…
Reference in a new issue