mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-21 02:55:09 +02:00
ccb80e41ee
* refactor: convert plugins spec to lazy * refactor(lazy): remove impatient * fix(telescope): no more errors if theme is nil * refactor(lazy): use lazy in plugin_loader * refactor(lazy): pin plugins with packer's snapshot * fix: add plugins to rtp before config:init * fix: fs_stat nil check * feat: lazy cache * feat(lazy): reloading * refactor(lazy): plugin-loader functions * feat(lazy): cache reset * refactor: set runtimepath manually * fix: runtimepath * refactor(rtp) * refactor(lazy): packer -> lazy in various places * fix(lazy): disable tree-sitter ensure installed * refactor(lazy): restore order to bootstrap * refactor(lazy): remove unused impatient profiler * small fixes * `lvim.plugins` deprecation handling * fix: deprecation of `requires` in plugin specs * feat: core plugins pinning * refactor(lazy): plugin loader tests * refactor(lazy): use lazy in scripts * refactor(lazy): which-key keybinds * chore: format * fix: installer * fix: first time setup * feat: changes required for packaging commit 951ac2b7c01b5200b973660c967852d1706cce28 Author: LostNeophyte <lostneophyte@tuta.io> Date: Wed Dec 28 13:49:44 2022 +0100 fix: clean folder before copying plugins commit 64e9afa44b8e528ba527e0510d0d8c2d2237a095 Author: LostNeophyte <lostneophyte@tuta.io> Date: Wed Dec 28 13:35:41 2022 +0100 feat: copy core plugins on first run commit 2d8e72090c7624f68c09a9aa6582223373a810c1 Author: LostNeophyte <lostneophyte@tuta.io> Date: Wed Dec 28 13:11:22 2022 +0100 feat(utils): fs_copy commit 85c1f025a6ba13183e85141f75f60e2eefc77bb5 Author: LostNeophyte <lostneophyte@tuta.io> Date: Wed Dec 28 13:04:38 2022 +0100 fix: copy correct example config * fix: packer specs deprecation handling * fix: plugin specs deprecation * feat: pin lazy's version * fix: remove plugins form rtp before loading lazy * fix: plugin-loader test * feat(lazy): add keymappings for profile, log, and debug (#3665) * feat(lazy): Add keymappings for profile, log, and debug * feat(lazy): Add keymap for cleaning * chore: format * pref: lazy load many plugins Co-authored-by: Uzair Aftab <uzaaft@outlook.com> * fix: bootstrap correct version of lazy * fix: also use CmdLineEnter event for cmp * fix: don't use lazy's modules before it's set up * perf: (hack) enable lazy's cache before loading lazy * fix: plugins.lua * fix: plugins bump script * chore: remove debug print * feat: add rounded border for `:Lazy` * fix: bufferline flashing * fix: don't close lazy on startup * fix: load breadcrumbs on startup * fix: don't lazy load bufferline * chore: bump lazy's version * fix: remove site from rtp (fixes treesitter issues) * revert default config copying changes * fix(bootstrap): actually remove plugins dir on windows * chore: bump lazy's version * chore: bump lazy's version Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com> Co-authored-by: Uzair Aftab <48220549+Uzaaft@users.noreply.github.com> Co-authored-by: Uzair Aftab <uzaaft@outlook.com> Co-authored-by: opalmay <opal.mizrahi2@gmail.com>
130 lines
4.5 KiB
Lua
130 lines
4.5 KiB
Lua
--[[
|
|
THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT
|
|
`lvim` is the global options object
|
|
]]
|
|
|
|
-- Enable powershell as your default shell
|
|
vim.opt.shell = "pwsh.exe -NoLogo"
|
|
vim.opt.shellcmdflag =
|
|
"-NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;"
|
|
vim.cmd [[
|
|
let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
|
|
let &shellpipe = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
|
|
set shellquote= shellxquote=
|
|
]]
|
|
|
|
-- Set a compatible clipboard manager
|
|
vim.g.clipboard = {
|
|
copy = {
|
|
["+"] = "win32yank.exe -i --crlf",
|
|
["*"] = "win32yank.exe -i --crlf",
|
|
},
|
|
paste = {
|
|
["+"] = "win32yank.exe -o --lf",
|
|
["*"] = "win32yank.exe -o --lf",
|
|
},
|
|
}
|
|
|
|
-- vim options
|
|
vim.opt.shiftwidth = 2
|
|
vim.opt.tabstop = 2
|
|
vim.opt.relativenumber = true
|
|
|
|
-- general
|
|
lvim.log.level = "info"
|
|
lvim.format_on_save = {
|
|
enabled = true,
|
|
pattern = "*.lua",
|
|
timeout = 1000,
|
|
}
|
|
-- to disable icons and use a minimalist setup, uncomment the following
|
|
-- lvim.use_icons = false
|
|
|
|
-- keymappings <https://www.lunarvim.org/docs/configuration/keybindings>
|
|
lvim.leader = "space"
|
|
-- add your own keymapping
|
|
lvim.keys.normal_mode["<C-s>"] = ":w<cr>"
|
|
|
|
-- lvim.keys.normal_mode["<S-l>"] = ":BufferLineCycleNext<CR>"
|
|
-- lvim.keys.normal_mode["<S-h>"] = ":BufferLineCyclePrev<CR>"
|
|
|
|
-- -- Use which-key to add extra bindings with the leader-key prefix
|
|
-- lvim.builtin.which_key.mappings["W"] = { "<cmd>noautocmd w<cr>", "Save without formatting" }
|
|
-- lvim.builtin.which_key.mappings["P"] = { "<cmd>Telescope projects<CR>", "Projects" }
|
|
|
|
-- -- Change theme settings
|
|
-- lvim.colorscheme = "lunar"
|
|
|
|
lvim.builtin.alpha.active = true
|
|
lvim.builtin.alpha.mode = "dashboard"
|
|
lvim.builtin.terminal.active = true
|
|
lvim.builtin.nvimtree.setup.view.side = "left"
|
|
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
|
|
|
|
-- Automatically install missing parsers when entering buffer
|
|
lvim.builtin.treesitter.auto_install = true
|
|
|
|
-- lvim.builtin.treesitter.ignore_install = { "haskell" }
|
|
|
|
-- -- generic LSP settings <https://www.lunarvim.org/docs/languages#lsp-support>
|
|
|
|
-- --- disable automatic installation of servers
|
|
-- lvim.lsp.installer.setup.automatic_installation = false
|
|
|
|
-- ---configure a server manually. IMPORTANT: Requires `:LvimCacheReset` to take effect
|
|
-- ---see the full default list `:lua =lvim.lsp.automatic_configuration.skipped_servers`
|
|
-- vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" })
|
|
-- local opts = {} -- check the lspconfig documentation for a list of all possible options
|
|
-- require("lvim.lsp.manager").setup("pyright", opts)
|
|
|
|
-- ---remove a server from the skipped list, e.g. eslint, or emmet_ls. IMPORTANT: Requires `:LvimCacheReset` to take effect
|
|
-- ---`:LvimInfo` lists which server(s) are skipped for the current filetype
|
|
-- lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server)
|
|
-- return server ~= "emmet_ls"
|
|
-- end, lvim.lsp.automatic_configuration.skipped_servers)
|
|
|
|
-- -- you can set a custom on_attach function that will be used for all the language servers
|
|
-- -- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion>
|
|
-- lvim.lsp.on_attach_callback = function(client, bufnr)
|
|
-- local function buf_set_option(...)
|
|
-- vim.api.nvim_buf_set_option(bufnr, ...)
|
|
-- end
|
|
-- --Enable completion triggered by <c-x><c-o>
|
|
-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
|
|
-- end
|
|
|
|
-- -- linters and formatters <https://www.lunarvim.org/docs/languages#lintingformatting>
|
|
-- local formatters = require "lvim.lsp.null-ls.formatters"
|
|
-- formatters.setup {
|
|
-- { command = "stylua" },
|
|
-- {
|
|
-- command = "prettier",
|
|
-- extra_args = { "--print-width", "100" },
|
|
-- filetypes = { "typescript", "typescriptreact" },
|
|
-- },
|
|
-- }
|
|
-- local linters = require "lvim.lsp.null-ls.linters"
|
|
-- linters.setup {
|
|
-- { command = "flake8", filetypes = { "python" } },
|
|
-- {
|
|
-- command = "shellcheck",
|
|
-- args = { "--severity", "warning" },
|
|
-- },
|
|
-- }
|
|
|
|
-- -- Additional Plugins <https://www.lunarvim.org/docs/plugins#user-plugins>
|
|
-- lvim.plugins = {
|
|
-- {
|
|
-- "folke/trouble.nvim",
|
|
-- cmd = "TroubleToggle",
|
|
-- },
|
|
-- }
|
|
|
|
-- -- Autocommands (`:help autocmd`) <https://neovim.io/doc/user/autocmd.html>
|
|
-- vim.api.nvim_create_autocmd("FileType", {
|
|
-- pattern = "zsh",
|
|
-- callback = function()
|
|
-- -- let treesitter use bash highlight for zsh files as well
|
|
-- require("nvim-treesitter.highlight").attach(0, "bash")
|
|
-- end,
|
|
-- })
|