diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/config/lazy.lua | 3 | ||||
| -rw-r--r-- | lua/plugins/editor.lua | 29 | ||||
| -rw-r--r-- | lua/plugins/example.lua | 189 | ||||
| -rw-r--r-- | lua/plugins/lsp.lua | 51 | ||||
| -rw-r--r-- | lua/plugins/treesitter.lua | 26 | ||||
| -rw-r--r-- | lua/plugins/ui.lua | 4 | 
6 files changed, 192 insertions, 110 deletions
diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index 9208df7..8a3b188 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -12,6 +12,9 @@ require("lazy").setup({      { "LazyVim/LazyVim", import = "lazyvim.plugins" },      -- import/override with your plugins      { import = "plugins" }, +    -- import any extras modules here +    -- { import = "lazyvim.plugins.extras.lang.typescript" }, +    -- { import = "lazyvim.plugins.extras.lang.json" },    },    defaults = {      lazy = true, -- every plugin is lazy-loaded by default diff --git a/lua/plugins/editor.lua b/lua/plugins/editor.lua deleted file mode 100644 index c9ff400..0000000 --- a/lua/plugins/editor.lua +++ /dev/null @@ -1,29 +0,0 @@ --- every spec file under config.plugins will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins -return { -  -- change trouble config -  -- { -  --   "folke/trouble.nvim", -  --   opts = { use_diagnostic_signs = true }, -  -- }, - -  -- add symbols-outline -  -- { -  --   "simrat39/symbols-outline.nvim", -  --   cmd = "SymbolsOutline", -  --   keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, -  --   config = true, -  -- }, - -  -- add zen-mode -  -- { -  --   "folke/zen-mode.nvim", -  --   cmd = "ZenMode", -  --   config = true, -  --   keys = { { "<leader>z", "<cmd>ZenMode<cr>", desc = "Zen Mode" } }, -  -- }, -} diff --git a/lua/plugins/example.lua b/lua/plugins/example.lua new file mode 100644 index 0000000..1e18038 --- /dev/null +++ b/lua/plugins/example.lua @@ -0,0 +1,189 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under config.plugins will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { +  -- change trouble config +  { +    "folke/trouble.nvim", +    -- opts will be merged with the parent spec +    opts = { use_diagnostic_signs = true }, +  }, + +  -- disable trouble +  { "folke/trouble.nvim", enabled = false }, + +  -- add symbols-outline +  { +    "simrat39/symbols-outline.nvim", +    cmd = "SymbolsOutline", +    keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, +    config = true, +  }, + +  -- override nvim-cmp and add cmp-emoji +  { +    "hrsh7th/nvim-cmp", +    dependencies = { "hrsh7th/cmp-emoji" }, +    ---@param opts cmp.ConfigSchema +    opts = function(_, opts) +      local cmp = require("cmp") +      opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) +    end, +  }, + +  -- change some telescope options and add telescope-fzf-native +  { +    "nvim-telescope/telescope.nvim", +    dependencies = { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" } }, +    keys = { +      -- add a keymap to browse plugin files +      -- stylua: ignore +      { +        "<leader>fp", +        function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, +        desc = "Find Plugin File", +      }, +    }, +    -- change some options +    opts = { +      defaults = { +        layout_strategy = "horizontal", +        layout_config = { prompt_position = "top" }, +        sorting_strategy = "ascending", +        winblend = 0, +      }, +    }, +    -- apply the config and additionally load fzf-native +    config = function(_, opts) +      local telescope = require("telescope") +      telescope.setup(opts) +      telescope.load_extension("fzf") +    end, +  }, + +  -- add pyright and setup tsserver with typescript.nvim +  { +    "neovim/nvim-lspconfig", +    dependencies = { +      "jose-elias-alvarez/typescript.nvim", +      init = function() +        require("lazyvim.util").on_attach(function(_, buffer) +          -- stylua: ignore +          vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) +          vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) +        end) +      end, +    }, +    ---@class PluginLspOpts +    opts = { +      ---@type lspconfig.options +      servers = { +        -- pyright will be automatically installed with mason and loaded with lspconfig +        pyright = {}, +        tsserver = {}, +      }, +      -- you can do any additional lsp server setup here +      -- return true if you don't want this server to be setup with lspconfig +      ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> +      setup = { +        -- example to setup with typescript.nvim +        tsserver = function(_, opts) +          require("typescript").setup({ server = opts }) +          return true +        end, +        -- Specify * to use this function as a fallback for any server +        -- ["*"] = function(server, opts) end, +      }, +    }, +  }, + +  -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, +  -- treesitter, mason and typescript.nvim. So instead of the above, you can use: +  { import = "lazyvim.plugins.extras.lang.typescript" }, + +  -- add more treesitter parsers +  { +    "nvim-treesitter/nvim-treesitter", +    opts = { +      ensure_installed = { +        "bash", +        "help", +        "html", +        "javascript", +        "json", +        "lua", +        "markdown", +        "markdown_inline", +        "python", +        "query", +        "regex", +        "tsx", +        "typescript", +        "vim", +        "yaml", +      }, +    }, +  }, + +  -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above +  -- would overwrite `ensure_installed` with the ne value. +  -- If you'd rather extend the default config, use the code below instead: +  { +    "nvim-treesitter/nvim-treesitter", +    opts = function(_, opts) +      vim.list_extend(opts.ensure_installed, { +        -- add tsx and treesitter +        ensure_installed = { +          "tsx", +          "typescript", +        }, +      }) +    end, +  }, + +  -- the opts function can als be used to change the default opts: +  { +    "nvim-lualine/lualine.nvim", +    event = "VeryLazy", +    opts = function(_, opts) +      table.insert(opts.sections.lualine_x, "😄") +    end, +  }, + +  -- or you can return new options to override all the defaults +  { +    "nvim-lualine/lualine.nvim", +    event = "VeryLazy", +    opts = function() +      return { +        --[[add your custom lualine config here]] +      } +    end, +  }, + +  -- use mini.starter instead of alpha +  { import = "lazyvim.plugins.extras.ui.mini-starter" }, + +  -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc +  { import = "lazyvim.plugins.extras.lang.json" }, + +  -- add any tools you want to have installed below +  { +    "williamboman/mason.nvim", +    opts = { +      ensure_installed = { +        "stylua", +        "shellcheck", +        "shfmt", +        "flake8", +      }, +    }, +  }, +} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua deleted file mode 100644 index 342d408..0000000 --- a/lua/plugins/lsp.lua +++ /dev/null @@ -1,51 +0,0 @@ -return { - -  -- uncomment and add lsp servers with their config to servers below -  { -    "neovim/nvim-lspconfig", -    -- ---@class PluginLspOpts -    -- opts = { -    --   ---@type lspconfig.options -    --   servers = { -    --     jsonls = {}, -    --     sumneko_lua = { -    --       settings = { -    --         Lua = { -    --           workspace = { -    --             checkThirdParty = false, -    --           }, -    --           completion = { -    --             callSnippet = "Replace", -    --           }, -    --         }, -    --       }, -    --     }, -    --   }, -    --   -- you can do any additional lsp server setup here -    --   -- return true if you don't want this server to be setup with lspconfig -    --   ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> -    --   setup = { -    --     -- example to setup with typescript.nvim -    --     -- tsserver = function(_, opts) -    --     --   require("typescript").setup({ server = opts }) -    --     --   return true -    --     -- end, -    --     -- Specify * to use this function as a fallback for any server -    --     -- ["*"] = function(server, opts) end, -    --   }, -    -- }, -  }, - -  -- uncomment and add tools to ensure_installed below -  { -    "williamboman/mason.nvim", -    -- opts = { -    --   ensure_installed = { -    --     "stylua", -    --     "shellcheck", -    --     "shfmt", -    --     "flake8", -    --   }, -    -- }, -  }, -} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua deleted file mode 100644 index 38279ca..0000000 --- a/lua/plugins/treesitter.lua +++ /dev/null @@ -1,26 +0,0 @@ -return { - -  -- treesitter -  { -    "nvim-treesitter/nvim-treesitter", -    -- opts = { -    --   ensure_installed = { -    --     "bash", -    --     "help", -    --     "html", -    --     "javascript", -    --     "json", -    --     "lua", -    --     "markdown", -    --     "markdown_inline", -    --     "python", -    --     "query", -    --     "regex", -    --     "tsx", -    --     "typescript", -    --     "vim", -    --     "yaml", -    --   }, -    -- }, -  }, -} diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua deleted file mode 100644 index f0caa47..0000000 --- a/lua/plugins/ui.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { -  -- use mini.starter instead of alpha -  -- { import = "lazyvim.plugins.extras.ui.mini-starter" }, -}  | 
