Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 25623b9161 | |||
|
|
808daf7c4c | ||
|
|
ace4c27d70 | ||
|
|
cfe99fe351 | ||
|
|
10906c7fcf | ||
|
|
148c8a0716 | ||
|
|
5ac6e4b5ea | ||
|
|
4f3a964e42 | ||
|
|
e97cbf946c |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,7 +0,0 @@
|
|||||||
tags
|
|
||||||
test.sh
|
|
||||||
.luarc.json
|
|
||||||
nvim
|
|
||||||
|
|
||||||
spell/
|
|
||||||
lazy-lock.json
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
column_width = 160
|
|
||||||
line_endings = "Unix"
|
|
||||||
indent_type = "Spaces"
|
|
||||||
indent_width = 2
|
|
||||||
quote_style = "AutoPreferSingle"
|
|
||||||
call_parentheses = "None"
|
|
||||||
201
LICENSE
Normal file
201
LICENSE
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
19
LICENSE.md
19
LICENSE.md
@@ -1,19 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
36
README.md
36
README.md
@@ -1,34 +1,4 @@
|
|||||||
# AstroNvim Template
|
# 💤 LazyVim
|
||||||
|
|
||||||
**NOTE:** This is for AstroNvim v5+
|
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||||
|
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||||
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
|
|
||||||
|
|
||||||
## 🛠️ Installation
|
|
||||||
|
|
||||||
#### Make a backup of your current nvim and shared folder
|
|
||||||
|
|
||||||
```shell
|
|
||||||
mv ~/.config/nvim ~/.config/nvim.bak
|
|
||||||
mv ~/.local/share/nvim ~/.local/share/nvim.bak
|
|
||||||
mv ~/.local/state/nvim ~/.local/state/nvim.bak
|
|
||||||
mv ~/.cache/nvim ~/.cache/nvim.bak
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Create a new user repository from this template
|
|
||||||
|
|
||||||
Press the "Use this template" button above to create a new repository to store your user configuration.
|
|
||||||
|
|
||||||
You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
|
|
||||||
|
|
||||||
#### Clone the repository
|
|
||||||
|
|
||||||
```shell
|
|
||||||
git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Start Neovim
|
|
||||||
|
|
||||||
```shell
|
|
||||||
nvim
|
|
||||||
```
|
|
||||||
|
|||||||
29
init.lua
29
init.lua
@@ -1,27 +1,2 @@
|
|||||||
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
require("config.lazy")
|
||||||
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
|
||||||
|
|
||||||
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
|
||||||
-- stylua: ignore
|
|
||||||
local result = vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.api.nvim_echo({ { ("Error cloning lazy.nvim:\n%s\n"):format(result), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
vim.cmd.quit()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- validate that lazy is available
|
|
||||||
if not pcall(require, "lazy") then
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
vim.cmd.quit()
|
|
||||||
end
|
|
||||||
|
|
||||||
require "lazy_setup"
|
|
||||||
require "polish"
|
|
||||||
|
|||||||
42
lazy-lock.json
Normal file
42
lazy-lock.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"LazyVim": { "branch": "main", "commit": "28db03f958d58dfff3c647ce28fdc1cb88ac158d" },
|
||||||
|
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
|
||||||
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
|
"catppuccin": { "branch": "main", "commit": "234fc048de931a0e42ebcad675bf6559d75e23df" },
|
||||||
|
"conform.nvim": { "branch": "master", "commit": "cde4da5c1083d3527776fee69536107d98dae6c9" },
|
||||||
|
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
|
||||||
|
"grug-far.nvim": { "branch": "main", "commit": "3e72397465f774b01aa38e4fe8e6eecf23d766d9" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||||
|
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "d7b5feb6e769e995f7fcf44d92f49f811c51d10c" },
|
||||||
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||||
|
"mini.ai": { "branch": "main", "commit": "0d3c9cf22e37b86b7a0dfbe7ef129ee7a5f4f93c" },
|
||||||
|
"mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
|
||||||
|
"mini.pairs": { "branch": "main", "commit": "b316e68f2d242d5bd010deaab645daa27ed86297" },
|
||||||
|
"neotest": { "branch": "master", "commit": "366175e1e74ff112787f9adbfb072eeaedd2a88e" },
|
||||||
|
"neotest-golang": { "branch": "main", "commit": "2806bc07066a734d6ed94d45d2d2557a0e2195d8" },
|
||||||
|
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
|
"nvim-dap": { "branch": "master", "commit": "e97dc47e134ffb33da008658fecfae8f8547c528" },
|
||||||
|
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
|
||||||
|
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||||
|
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
||||||
|
"nvim-lint": { "branch": "master", "commit": "8b349e822a36e9480aed96c6dd2f757f80524a35" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "2010fc6ec03e2da552b4886fceb2f7bc0fc2e9c0" },
|
||||||
|
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||||
|
"nvim-treesitter": { "branch": "main", "commit": "5eca61b32a5ce298f55ecdfd48511977f5c37f77" },
|
||||||
|
"nvim-treesitter-textobjects": { "branch": "main", "commit": "2e5b8735a61d3cfaa65d9a8ff787a7b0a0a81b70" },
|
||||||
|
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||||
|
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
|
"snacks.nvim": { "branch": "main", "commit": "f1c7f62f9fd6974da3dc8526f454cd364cd73eeb" },
|
||||||
|
"todo-comments.nvim": { "branch": "main", "commit": "411503d3bedeff88484de572f2509c248e499b38" },
|
||||||
|
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
||||||
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
|
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
|
}
|
||||||
12
lazyvim.json
Normal file
12
lazyvim.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"extras": [
|
||||||
|
"lazyvim.plugins.extras.dap.core",
|
||||||
|
"lazyvim.plugins.extras.lang.go",
|
||||||
|
"lazyvim.plugins.extras.test.core"
|
||||||
|
],
|
||||||
|
"install_version": 8,
|
||||||
|
"news": {
|
||||||
|
"NEWS.md": "11866"
|
||||||
|
},
|
||||||
|
"version": 8
|
||||||
|
}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
-- AstroCommunity: import any community modules here
|
|
||||||
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
|
|
||||||
-- This guarantees that the specs are processed before any user plugins.
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
'AstroNvim/astrocommunity',
|
|
||||||
|
|
||||||
{ import = 'astrocommunity.colorscheme.tokyonight-nvim' },
|
|
||||||
|
|
||||||
{ import = 'astrocommunity.editing-support.conform-nvim' },
|
|
||||||
{ import = 'astrocommunity.git.diffview-nvim' },
|
|
||||||
|
|
||||||
{ import = 'astrocommunity.pack.go' },
|
|
||||||
{ import = 'astrocommunity.pack.lua' },
|
|
||||||
|
|
||||||
{ import = 'astrocommunity.test.neotest' },
|
|
||||||
}
|
|
||||||
8
lua/config/autocmds.lua
Normal file
8
lua/config/autocmds.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
-- Autocmds are automatically loaded on the VeryLazy event
|
||||||
|
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||||
|
--
|
||||||
|
-- Add any additional autocmds here
|
||||||
|
-- with `vim.api.nvim_create_autocmd`
|
||||||
|
--
|
||||||
|
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
||||||
|
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
|
||||||
3
lua/config/keymaps.lua
Normal file
3
lua/config/keymaps.lua
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
-- Keymaps are automatically loaded on the VeryLazy event
|
||||||
|
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||||
|
-- Add any additional keymaps here
|
||||||
53
lua/config/lazy.lua
Normal file
53
lua/config/lazy.lua
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
vim.api.nvim_echo({
|
||||||
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
|
{ out, "WarningMsg" },
|
||||||
|
{ "\nPress any key to exit..." },
|
||||||
|
}, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = {
|
||||||
|
-- add LazyVim and import its plugins
|
||||||
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
|
-- import/override with your plugins
|
||||||
|
{ import = "plugins" },
|
||||||
|
},
|
||||||
|
defaults = {
|
||||||
|
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||||
|
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||||
|
lazy = false,
|
||||||
|
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||||
|
-- have outdated releases, which may break your Neovim install.
|
||||||
|
version = false, -- always use the latest git commit
|
||||||
|
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||||
|
},
|
||||||
|
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||||
|
checker = {
|
||||||
|
enabled = true, -- check for plugin updates periodically
|
||||||
|
notify = false, -- notify on update
|
||||||
|
}, -- automatically check for plugin updates
|
||||||
|
performance = {
|
||||||
|
rtp = {
|
||||||
|
-- disable some rtp plugins
|
||||||
|
disabled_plugins = {
|
||||||
|
"gzip",
|
||||||
|
-- "matchit",
|
||||||
|
-- "matchparen",
|
||||||
|
-- "netrwPlugin",
|
||||||
|
"tarPlugin",
|
||||||
|
"tohtml",
|
||||||
|
"tutor",
|
||||||
|
"zipPlugin",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
3
lua/config/options.lua
Normal file
3
lua/config/options.lua
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
-- Options are automatically loaded before lazy.nvim startup
|
||||||
|
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||||
|
-- Add any additional options here
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
require("lazy").setup({
|
|
||||||
{
|
|
||||||
"AstroNvim/AstroNvim",
|
|
||||||
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
|
|
||||||
import = "astronvim.plugins",
|
|
||||||
opts = { -- AstroNvim options must be set here with the `import` key
|
|
||||||
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
|
||||||
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
|
||||||
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
|
||||||
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
|
||||||
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ import = "community" },
|
|
||||||
{ import = "plugins" },
|
|
||||||
} --[[@as LazySpec]], {
|
|
||||||
-- Configure any other `lazy.nvim` configuration options here
|
|
||||||
install = { colorscheme = { "astrotheme", "habamax" } },
|
|
||||||
ui = { backdrop = 100 },
|
|
||||||
performance = {
|
|
||||||
rtp = {
|
|
||||||
-- disable some rtp plugins, add more to your liking
|
|
||||||
disabled_plugins = {
|
|
||||||
"gzip",
|
|
||||||
"netrwPlugin",
|
|
||||||
"tarPlugin",
|
|
||||||
"tohtml",
|
|
||||||
"zipPlugin",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
} --[[@as LazyConfig]])
|
|
||||||
@@ -1,165 +0,0 @@
|
|||||||
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
|
|
||||||
-- Configuration documentation can be found with `:h astrocore`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
'AstroNvim/astrocore',
|
|
||||||
---@type AstroCoreOpts
|
|
||||||
opts = {
|
|
||||||
-- Configure core features of AstroNvim
|
|
||||||
features = {
|
|
||||||
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
|
|
||||||
autopairs = true, -- enable autopairs at start
|
|
||||||
cmp = true, -- enable completion at start
|
|
||||||
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
|
|
||||||
highlighturl = true, -- highlight URLs at start
|
|
||||||
notifications = true, -- enable notifications at start
|
|
||||||
},
|
|
||||||
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
|
|
||||||
diagnostics = {
|
|
||||||
virtual_text = true,
|
|
||||||
underline = true,
|
|
||||||
},
|
|
||||||
-- passed to `vim.filetype.add`
|
|
||||||
filetypes = {
|
|
||||||
-- see `:h vim.filetype.add` for usage
|
|
||||||
extension = {
|
|
||||||
foo = 'fooscript',
|
|
||||||
},
|
|
||||||
filename = {
|
|
||||||
['.foorc'] = 'fooscript',
|
|
||||||
},
|
|
||||||
pattern = {
|
|
||||||
['.*/etc/foo/.*'] = 'fooscript',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- vim options can be configured here
|
|
||||||
options = {
|
|
||||||
opt = { -- vim.opt.<key>
|
|
||||||
relativenumber = true, -- sets vim.opt.relativenumber
|
|
||||||
number = true, -- sets vim.opt.number
|
|
||||||
spell = false, -- sets vim.opt.spell
|
|
||||||
signcolumn = 'yes', -- sets vim.opt.signcolumn to yes
|
|
||||||
wrap = false, -- sets vim.opt.wrap
|
|
||||||
},
|
|
||||||
g = { -- vim.g.<key>
|
|
||||||
-- configure global vim variables (vim.g)
|
|
||||||
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
|
|
||||||
-- This can be found in the `lua/lazy_setup.lua` file
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Mappings can be configured through AstroCore as well.
|
|
||||||
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
|
|
||||||
mappings = {
|
|
||||||
-- first key is the mode
|
|
||||||
n = {
|
|
||||||
-- second key is the lefthand side of the map
|
|
||||||
|
|
||||||
-- navigate buffer tabs
|
|
||||||
[']b'] = {
|
|
||||||
function()
|
|
||||||
require('astrocore.buffer').nav(vim.v.count1)
|
|
||||||
end,
|
|
||||||
desc = 'Next buffer',
|
|
||||||
},
|
|
||||||
['[b'] = {
|
|
||||||
function()
|
|
||||||
require('astrocore.buffer').nav(-vim.v.count1)
|
|
||||||
end,
|
|
||||||
desc = 'Previous buffer',
|
|
||||||
},
|
|
||||||
|
|
||||||
-- mappings seen under group name "Buffer"
|
|
||||||
['<Leader>bd'] = {
|
|
||||||
function()
|
|
||||||
require('astroui.status.heirline').buffer_picker(function(bufnr)
|
|
||||||
require('astrocore.buffer').close(bufnr)
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
desc = 'Close buffer from tabline',
|
|
||||||
},
|
|
||||||
|
|
||||||
['<Leader>xq'] = {
|
|
||||||
function()
|
|
||||||
local win_id
|
|
||||||
for _, win in ipairs(vim.fn.getwininfo()) do
|
|
||||||
if win.quickfix == 1 then
|
|
||||||
win_id = win.winid
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if win_id then
|
|
||||||
if vim.api.nvim_get_current_win() ~= win_id then
|
|
||||||
vim.api.nvim_set_current_win(win_id)
|
|
||||||
else
|
|
||||||
vim.cmd.cclose()
|
|
||||||
end
|
|
||||||
else
|
|
||||||
vim.cmd.copen()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
desc = 'Toggle Quickfix list',
|
|
||||||
},
|
|
||||||
|
|
||||||
['<Leader>xl'] = {
|
|
||||||
function()
|
|
||||||
local win_id
|
|
||||||
for _, win in ipairs(vim.fn.getwininfo()) do
|
|
||||||
if win.loclist == 1 then
|
|
||||||
win_id = win.winid
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if win_id then
|
|
||||||
if vim.api.nvim_get_current_win() ~= win_id then
|
|
||||||
vim.api.nvim_set_current_win(win_id)
|
|
||||||
else
|
|
||||||
vim.cmd.lclose()
|
|
||||||
end
|
|
||||||
else
|
|
||||||
vim.cmd.lopen()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
desc = 'Toggle Local list',
|
|
||||||
},
|
|
||||||
|
|
||||||
['<Leader>tr'] = {
|
|
||||||
function()
|
|
||||||
require('neotest').run.run()
|
|
||||||
end,
|
|
||||||
desc = 'Test: run nearest test',
|
|
||||||
},
|
|
||||||
|
|
||||||
['<Leader>td'] = {
|
|
||||||
function()
|
|
||||||
require('neotest').run.run { strategy = 'dap' }
|
|
||||||
end,
|
|
||||||
desc = 'Test: debug nearest test',
|
|
||||||
},
|
|
||||||
|
|
||||||
['<Leader>ta'] = {
|
|
||||||
function()
|
|
||||||
require('neotest').run.run(vim.fn.expand '%')
|
|
||||||
end,
|
|
||||||
desc = 'Test: run all test in file',
|
|
||||||
},
|
|
||||||
|
|
||||||
-- tables with just a `desc` key will be registered with which-key if it's installed
|
|
||||||
-- this is useful for naming menus
|
|
||||||
-- ["<Leader>b"] = { desc = "Buffers" },
|
|
||||||
|
|
||||||
-- setting a mapping to false will disable it
|
|
||||||
-- ["<C-S>"] = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
v = {
|
|
||||||
['J'] = ":m '>+1<CR>gv=gv",
|
|
||||||
['K'] = ":m '<-2<CR>gv=gv",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
|
|
||||||
-- Configuration documentation can be found with `:h astrolsp`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
'AstroNvim/astrolsp',
|
|
||||||
---@type AstroLSPOpts
|
|
||||||
opts = {
|
|
||||||
-- Configuration table of features provided by AstroLSP
|
|
||||||
features = {
|
|
||||||
codelens = true, -- enable/disable codelens refresh on start
|
|
||||||
inlay_hints = false, -- enable/disable inlay hints on start
|
|
||||||
semantic_tokens = true, -- enable/disable semantic token highlighting
|
|
||||||
},
|
|
||||||
-- customize lsp formatting options
|
|
||||||
formatting = {
|
|
||||||
-- control auto formatting on save
|
|
||||||
format_on_save = {
|
|
||||||
enabled = true, -- enable or disable format on save globally
|
|
||||||
allow_filetypes = { -- enable format on save for specified filetypes only
|
|
||||||
-- "go",
|
|
||||||
},
|
|
||||||
ignore_filetypes = { -- disable format on save for specified filetypes
|
|
||||||
-- "python",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
disabled = { -- disable formatting capabilities for the listed language servers
|
|
||||||
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
|
|
||||||
-- "lua_ls",
|
|
||||||
},
|
|
||||||
timeout_ms = 1000, -- default format timeout
|
|
||||||
-- filter = function(client) -- fully override the default formatting function
|
|
||||||
-- return true
|
|
||||||
-- end
|
|
||||||
},
|
|
||||||
-- enable servers that you already have installed without mason
|
|
||||||
servers = {
|
|
||||||
-- "pyright"
|
|
||||||
},
|
|
||||||
-- customize language server configuration options passed to `lspconfig`
|
|
||||||
---@diagnostic disable: missing-fields
|
|
||||||
config = {
|
|
||||||
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
|
|
||||||
},
|
|
||||||
-- customize how language servers are attached
|
|
||||||
handlers = {
|
|
||||||
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
|
|
||||||
-- function(server, opts) require("lspconfig")[server].setup(opts) end
|
|
||||||
|
|
||||||
-- the key is the server that is being setup with `lspconfig`
|
|
||||||
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
|
|
||||||
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
|
|
||||||
},
|
|
||||||
-- Configure buffer local auto commands to add when attaching a language server
|
|
||||||
autocmds = {
|
|
||||||
-- first key is the `augroup` to add the auto commands to (:h augroup)
|
|
||||||
lsp_codelens_refresh = {
|
|
||||||
-- Optional condition to create/delete auto command group
|
|
||||||
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
|
|
||||||
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
|
|
||||||
-- the auto commands will be deleted for that buffer
|
|
||||||
cond = 'textDocument/codeLens',
|
|
||||||
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
|
|
||||||
-- list of auto commands to set
|
|
||||||
{
|
|
||||||
-- events to trigger
|
|
||||||
event = { 'InsertLeave', 'BufEnter' },
|
|
||||||
-- the rest of the autocmd options (:h nvim_create_autocmd)
|
|
||||||
desc = 'Refresh codelens (buffer)',
|
|
||||||
callback = function(args)
|
|
||||||
if require('astrolsp').config.features.codelens then
|
|
||||||
vim.lsp.codelens.refresh { bufnr = args.buf }
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- mappings to be set up on attaching of a language server
|
|
||||||
mappings = {
|
|
||||||
n = {
|
|
||||||
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
|
|
||||||
gD = {
|
|
||||||
function()
|
|
||||||
vim.lsp.buf.declaration()
|
|
||||||
end,
|
|
||||||
desc = 'Declaration of current symbol',
|
|
||||||
cond = 'textDocument/declaration',
|
|
||||||
},
|
|
||||||
['<Leader>uY'] = {
|
|
||||||
function()
|
|
||||||
require('astrolsp.toggles').buffer_semantic_tokens()
|
|
||||||
end,
|
|
||||||
desc = 'Toggle LSP semantic highlight (buffer)',
|
|
||||||
cond = function(client)
|
|
||||||
return client.supports_method 'textDocument/semanticTokens/full' and vim.lsp.semantic_tokens ~= nil
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- A custom `on_attach` function to be run after the default `on_attach` function
|
|
||||||
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
-- this would disable semanticTokensProvider for all clients
|
|
||||||
-- client.server_capabilities.semanticTokensProvider = nil
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
-- AstroUI provides the basis for configuring the AstroNvim User Interface
|
|
||||||
-- Configuration documentation can be found with `:h astroui`
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
'AstroNvim/astroui',
|
|
||||||
---@type AstroUIOpts
|
|
||||||
opts = {
|
|
||||||
colorscheme = 'tokyonight-moon',
|
|
||||||
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
|
|
||||||
highlights = {
|
|
||||||
init = { -- this table overrides highlights in all themes
|
|
||||||
-- Normal = { bg = "#000000" },
|
|
||||||
},
|
|
||||||
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
|
|
||||||
-- Normal = { bg = "#000000" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
folding = false,
|
|
||||||
-- Icons can be configured throughout the interface
|
|
||||||
icons = {
|
|
||||||
-- configure the loading of the lsp in the status line
|
|
||||||
LSPLoading1 = '⠋',
|
|
||||||
LSPLoading2 = '⠙',
|
|
||||||
LSPLoading3 = '⠹',
|
|
||||||
LSPLoading4 = '⠸',
|
|
||||||
LSPLoading5 = '⠼',
|
|
||||||
LSPLoading6 = '⠴',
|
|
||||||
LSPLoading7 = '⠦',
|
|
||||||
LSPLoading8 = '⠧',
|
|
||||||
LSPLoading9 = '⠇',
|
|
||||||
LSPLoading10 = '⠏',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
'greggh/claude-code.nvim',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-lua/plenary.nvim',
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require('claude-code').setup()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
6
lua/plugins/disabled.lua
Normal file
6
lua/plugins/disabled.lua
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"akinsho/bufferline.nvim",
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
}
|
||||||
197
lua/plugins/example.lua
Normal file
197
lua/plugins/example.lua
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
-- 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 the "plugins" directory 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 {
|
||||||
|
-- add gruvbox
|
||||||
|
{ "ellisonleao/gruvbox.nvim" },
|
||||||
|
|
||||||
|
-- Configure LazyVim to load gruvbox
|
||||||
|
{
|
||||||
|
"LazyVim/LazyVim",
|
||||||
|
opts = {
|
||||||
|
colorscheme = "gruvbox",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- 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 },
|
||||||
|
|
||||||
|
-- override nvim-cmp and add cmp-emoji
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
dependencies = { "hrsh7th/cmp-emoji" },
|
||||||
|
---@param opts cmp.ConfigSchema
|
||||||
|
opts = function(_, opts)
|
||||||
|
table.insert(opts.sources, { name = "emoji" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- change some telescope options and a keymap to browse plugin files
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- add pyright to lspconfig
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
---@class PluginLspOpts
|
||||||
|
opts = {
|
||||||
|
---@type lspconfig.options
|
||||||
|
servers = {
|
||||||
|
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||||
|
pyright = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
dependencies = {
|
||||||
|
"jose-elias-alvarez/typescript.nvim",
|
||||||
|
init = function()
|
||||||
|
require("lazyvim.util").lsp.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 = {
|
||||||
|
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||||
|
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",
|
||||||
|
"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 new value.
|
||||||
|
-- If you'd rather extend the default config, use the code below instead:
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = function(_, opts)
|
||||||
|
-- add tsx and treesitter
|
||||||
|
vim.list_extend(opts.ensure_installed, {
|
||||||
|
"tsx",
|
||||||
|
"typescript",
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- the opts function can also be used to change the default opts:
|
||||||
|
{
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = function(_, opts)
|
||||||
|
table.insert(opts.sections.lualine_x, {
|
||||||
|
function()
|
||||||
|
return "😄"
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
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 packages, and 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",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
-- use mason-tool-installer for automatically installing Mason packages
|
|
||||||
{
|
|
||||||
'WhoIsSethDaniel/mason-tool-installer.nvim',
|
|
||||||
-- overrides `require("mason-tool-installer").setup(...)`
|
|
||||||
opts = {
|
|
||||||
-- Make sure to use the names found in `:Mason`
|
|
||||||
ensure_installed = {
|
|
||||||
'jq',
|
|
||||||
'vacuum', -- openapi
|
|
||||||
'bash-language-server',
|
|
||||||
|
|
||||||
-- install any other package
|
|
||||||
'tree-sitter-cli',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
return {
|
|
||||||
'nvim-neo-tree/neo-tree.nvim',
|
|
||||||
opts = function(_, opts)
|
|
||||||
opts.filesystem.filtered_items = {
|
|
||||||
visible = true,
|
|
||||||
always_show = { -- remains visible even if other settings would normally hide it
|
|
||||||
'.gitignore',
|
|
||||||
},
|
|
||||||
always_show_by_pattern = {
|
|
||||||
'.env*',
|
|
||||||
},
|
|
||||||
never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show
|
|
||||||
'.DS_Store',
|
|
||||||
--"thumbs.db"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- Customize None-ls sources
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"nvimtools/none-ls.nvim",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- opts variable is the default configuration table for the setup function call
|
|
||||||
-- local null_ls = require "null-ls"
|
|
||||||
|
|
||||||
-- Check supported formatters and linters
|
|
||||||
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
|
||||||
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
|
||||||
|
|
||||||
-- Only insert new sources, do not replace the existing ones
|
|
||||||
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
|
|
||||||
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
|
|
||||||
-- Set a formatter
|
|
||||||
-- null_ls.builtins.formatting.stylua,
|
|
||||||
-- null_ls.builtins.formatting.prettier,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
-- Customize Treesitter
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
'bash',
|
|
||||||
'diff',
|
|
||||||
'html',
|
|
||||||
'luadoc',
|
|
||||||
'markdown',
|
|
||||||
'markdown_inline',
|
|
||||||
'query',
|
|
||||||
'vim',
|
|
||||||
'vimdoc',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
-- You can also add or configure plugins by creating files in this `plugins/` folder
|
|
||||||
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
|
|
||||||
-- Here are some examples:
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
|
|
||||||
-- == Examples of Adding Plugins ==
|
|
||||||
|
|
||||||
{
|
|
||||||
'ray-x/lsp_signature.nvim',
|
|
||||||
event = 'BufRead',
|
|
||||||
config = function()
|
|
||||||
require('lsp_signature').setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- == Examples of Overriding Plugins ==
|
|
||||||
|
|
||||||
-- customize dashboard options
|
|
||||||
{
|
|
||||||
'folke/snacks.nvim',
|
|
||||||
opts = {
|
|
||||||
dashboard = {
|
|
||||||
preset = {
|
|
||||||
header = table.concat({
|
|
||||||
' █████ ███████ ████████ ██████ ██████ ',
|
|
||||||
'██ ██ ██ ██ ██ ██ ██ ██',
|
|
||||||
'███████ ███████ ██ ██████ ██ ██',
|
|
||||||
'██ ██ ██ ██ ██ ██ ██ ██',
|
|
||||||
'██ ██ ███████ ██ ██ ██ ██████ ',
|
|
||||||
'',
|
|
||||||
'███ ██ ██ ██ ██ ███ ███',
|
|
||||||
'████ ██ ██ ██ ██ ████ ████',
|
|
||||||
'██ ██ ██ ██ ██ ██ ██ ████ ██',
|
|
||||||
'██ ██ ██ ██ ██ ██ ██ ██ ██',
|
|
||||||
'██ ████ ████ ██ ██ ██',
|
|
||||||
}, '\n'),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- You can disable default plugins as follows:
|
|
||||||
{ 'max397574/better-escape.nvim', enabled = false },
|
|
||||||
|
|
||||||
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
|
|
||||||
{
|
|
||||||
'L3MON4D3/LuaSnip',
|
|
||||||
config = function(plugin, opts)
|
|
||||||
require 'astronvim.plugins.configs.luasnip'(plugin, opts) -- include the default astronvim config that calls the setup call
|
|
||||||
-- add more custom luasnip configuration such as filetype extend or custom snippets
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
luasnip.filetype_extend('javascript', { 'javascriptreact' })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'windwp/nvim-autopairs',
|
|
||||||
config = function(plugin, opts)
|
|
||||||
require 'astronvim.plugins.configs.nvim-autopairs'(plugin, opts) -- include the default astronvim config that calls the setup call
|
|
||||||
-- local npairs = require "nvim-autopairs"
|
|
||||||
-- local Rule = require "nvim-autopairs.rule"
|
|
||||||
|
|
||||||
-- npairs.add_rules(
|
|
||||||
-- -- disable for .vim files, but it work for another filetypes
|
|
||||||
-- Rule("a", "a", "-vim")
|
|
||||||
-- )
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'folke/todo-comments.nvim',
|
|
||||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
|
|
||||||
|
|
||||||
-- This will run last in the setup process.
|
|
||||||
-- This is just pure lua so anything that doesn't
|
|
||||||
-- fit in the normal config locations above can go here
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
base: lua51
|
|
||||||
|
|
||||||
globals:
|
|
||||||
vim:
|
|
||||||
any: true
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
std = "neovim"
|
|
||||||
|
|
||||||
[rules]
|
|
||||||
global_usage = "allow"
|
|
||||||
if_same_then_else = "allow"
|
|
||||||
incorrect_standard_library_use = "allow"
|
|
||||||
mixed_table = "allow"
|
|
||||||
multiple_statements = "allow"
|
|
||||||
3
stylua.toml
Normal file
3
stylua.toml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
column_width = 120
|
||||||
Reference in New Issue
Block a user