Untitled
unknown
plain_text
2 years ago
5.7 kB
6
Indexable
-- Read the docs: https://www.lunarvim.org/docs/configuration -- Video Tutorials: https://www.youtube.com/watch?v=sFA9kX-Ud_c&list=PLhoH5vyxr6QqGu0i7tt_XoVK9v-KvZ3m6 -- Forum: https://www.reddit.com/r/lunarvim/ -- Discord: https://discord.com/invite/Xb9B4Ny -- -- --[[ THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT `lvim` is the global options object ]] -- vim options vim.opt.shiftwidth = 2 vim.opt.tabstop = 2 vim.opt.relativenumber = true vim.g.transparent_enabled = 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 = "kanagawa" 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.webdev_colors = true -- lvim.builtin.nvimtree.setup.renderer.icons.show.git = true --make git icons to view in right of nvim tree lvim.builtin.nvimtree.setup.renderer.icons.glyphs.git = { unstaged = "✗", staged = "✓", unmerged = "", renamed = "➜", untracked = "★", deleted = "", ignored = "◌" } -- Automatically install missing parsers when entering buffer lvim.builtin.treesitter.auto_install = true -- lvim.builtin.treesitter.ignore_install = { "haskell" } -- -- always installed on startup, useful for parsers without a strict filetype -- lvim.builtin.treesitter.ensure_installed = { "comment", "markdown_inline", "regex" } -- -- 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 = { { 'Exafunction/codeium.vim', config = function() -- Change '<C-g>' here to any keycode you like. vim.keymap.set('i', '<c-Alt>', function() return vim.fn['codeium#Accept']() end, { expr = true }) vim.keymap.set('i', '<c-;>', function() return vim.fn['codeium#CycleCompletions'](1) end, { expr = true }) vim.keymap.set('i', '<c-,>', function() return vim.fn['codeium#CycleCompletions'](-1) end, { expr = true }) vim.keymap.set('i', '<c-x>', function() return vim.fn['codeium#Clear']() end, { expr = true }) end }, { "xiyaowong/transparent.nvim" }, { "ellisonleao/gruvbox.nvim" }, { "rebelot/kanagawa.nvim" }, { "EdenEast/nightfox.nvim" }, { "lunarvim/colorschemes" }, { "folke/tokyonight.nvim" }, { "folke/trouble.nvim", cmd = "TroubleToggle", }, { 'saecki/crates.nvim', dependecies = { 'nvim-lua/plenary.nvim' }, config = function() require('crates').setup() end, }, } -- 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, -- }) -- -- local null_ls = require('null-ls') require('crates').setup { null_ls = { enabled = true, name = "crates.nvim", }, }
Editor is loading...