Compare commits
12 Commits
eac8a20744
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fdd562e942 | ||
|
|
798cf76793 | ||
|
|
4895b5472b | ||
|
|
867b395a65 | ||
|
|
3a0e025de9 | ||
|
|
7881ff3f4d | ||
|
|
ffab9d5ec5 | ||
|
|
906eeed8b4 | ||
|
|
f5bc6c305b | ||
|
|
7077bb188b | ||
|
|
73ae3af2eb | ||
|
|
077ba241cc |
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
tt.*
|
||||||
|
.tests
|
||||||
|
doc/tags
|
||||||
|
debug
|
||||||
|
.repro
|
||||||
|
foo.*
|
||||||
|
*.log
|
||||||
|
data
|
||||||
15
.neoconf.json
Normal file
15
.neoconf.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"neodev": {
|
||||||
|
"library": {
|
||||||
|
"enabled": true,
|
||||||
|
"plugins": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neoconf": {
|
||||||
|
"plugins": {
|
||||||
|
"lua_ls": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
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.
|
||||||
4
README.md
Normal file
4
README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# 💤 LazyVim
|
||||||
|
|
||||||
|
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||||
|
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||||
2
ftplugin/markdown.lua
Normal file
2
ftplugin/markdown.lua
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.spelllang = { "de" }
|
||||||
2
ftplugin/typst.lua
Normal file
2
ftplugin/typst.lua
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.spelllang = { "de" }
|
||||||
36
init.lua
36
init.lua
@@ -1,14 +1,30 @@
|
|||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
require("config.lazy")
|
require("config.lazy")
|
||||||
require("config.keybinds")
|
|
||||||
|
|
||||||
-- set theme
|
require("typst-preview").setup({
|
||||||
vim.cmd.colorscheme "catppuccin-frappe"
|
-- This function will be called to determine the root of the typst project
|
||||||
|
get_root = function()
|
||||||
|
local root = os.getenv("TYPST_ROOT")
|
||||||
|
if root then
|
||||||
|
return root
|
||||||
|
end
|
||||||
|
return vim.fs.root(0, { ".git" }) or vim.fn.getcwd()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
-- relative linenumbers
|
vim.opt.expandtab = false
|
||||||
vim.wo.relativenumber = true
|
|
||||||
vim.wo.number = true
|
|
||||||
|
|
||||||
-- tab-width
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
|
|
||||||
|
--OS detection
|
||||||
|
local mySysname = vim.loop.os_uname().sysname
|
||||||
|
local isMac = mySysname == "Darwin"
|
||||||
|
local isLinux = mySysname == "Linux"
|
||||||
|
local isWin = mySysname:find("Windows") and true or false
|
||||||
|
local isWsl = isLinux and vim.loop.os_uname().release:find("Microsoft") and true or false
|
||||||
|
--Set shell
|
||||||
|
if isWin then
|
||||||
|
if vim.fn.executable("pwsh") == 1 then
|
||||||
|
vim.opt.shell = "pwsh" --"pwsh" for 7.x if installed
|
||||||
|
else
|
||||||
|
vim.opt.shell = "powershell" --"powershell" for 5.x
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
220
lazy-lock.json
220
lazy-lock.json
@@ -1,6 +1,218 @@
|
|||||||
{
|
{
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
"LazyVim": {
|
||||||
"catppuccin": { "branch": "main", "commit": "c89184526212e04feffbddda9d06b041a8fca416" },
|
"branch": "main",
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"commit": "28db03f958d58dfff3c647ce28fdc1cb88ac158d"
|
||||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }
|
},
|
||||||
|
"SchemaStore.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "5f2299987a1937612c910f00db39156bab6a6b35"
|
||||||
|
},
|
||||||
|
"bufferline.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3"
|
||||||
|
},
|
||||||
|
"catppuccin": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "193e123cdbc4dd3e86db883d55349e9587f0ded6"
|
||||||
|
},
|
||||||
|
"cmp-buffer": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657"
|
||||||
|
},
|
||||||
|
"cmp-nvim-lsp": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef"
|
||||||
|
},
|
||||||
|
"cmp-path": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "c642487086dbd9a93160e1679a1327be111cbc25"
|
||||||
|
},
|
||||||
|
"conform.nvim": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "ffe26e8df8115c9665d24231f8a49fadb2d611ce"
|
||||||
|
},
|
||||||
|
"dial.nvim": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "f97c0c7fa7d5111bc04a91d0f693900fb2d95861"
|
||||||
|
},
|
||||||
|
"flash.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "fcea7ff883235d9024dc41e638f164a450c14ca2"
|
||||||
|
},
|
||||||
|
"friendly-snippets": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175"
|
||||||
|
},
|
||||||
|
"gitsigns.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "5813e4878748805f1518cee7abb50fd7205a3a48"
|
||||||
|
},
|
||||||
|
"grug-far.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "b58b2d65863f4ebad88b10a1ddd519e5380466e0"
|
||||||
|
},
|
||||||
|
"lazy.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "85c7ff3711b730b4030d03144f6db6375044ae82"
|
||||||
|
},
|
||||||
|
"lazydev.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d"
|
||||||
|
},
|
||||||
|
"lualine.nvim": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "47f91c416daef12db467145e16bed5bbfe00add8"
|
||||||
|
},
|
||||||
|
"markdown-preview.nvim": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee"
|
||||||
|
},
|
||||||
|
"mason-lspconfig.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "c55bd8a8fb191e24176c206a7af1dd51ce7276a5"
|
||||||
|
},
|
||||||
|
"mason-nvim-dap.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "9a10e096703966335bd5c46c8c875d5b0690dade"
|
||||||
|
},
|
||||||
|
"mason.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800"
|
||||||
|
},
|
||||||
|
"mini.ai": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "bfb26d9072670c3aaefab0f53024b2f3729c8083"
|
||||||
|
},
|
||||||
|
"mini.hipatterns": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "add8d8abad602787377ec5d81f6b248605828e0f"
|
||||||
|
},
|
||||||
|
"mini.icons": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428"
|
||||||
|
},
|
||||||
|
"mini.pairs": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "472ec50092a3314ec285d2db2baa48602d71fe93"
|
||||||
|
},
|
||||||
|
"neotest": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "deadfb1af5ce458742671ad3a013acb9a6b41178"
|
||||||
|
},
|
||||||
|
"neotest-golang": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "37e400cfe9d193e508b1a512e96cbef83b08deb6"
|
||||||
|
},
|
||||||
|
"neotest-python": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9"
|
||||||
|
},
|
||||||
|
"noice.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "7bfd942445fb63089b59f97ca487d605e715f155"
|
||||||
|
},
|
||||||
|
"nui.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "de740991c12411b663994b2860f1a4fd0937c130"
|
||||||
|
},
|
||||||
|
"nvim-cmp": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc"
|
||||||
|
},
|
||||||
|
"nvim-dap": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "5860c7c501eb428d3137ee22c522828d20cca0b3"
|
||||||
|
},
|
||||||
|
"nvim-dap-go": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "b4421153ead5d726603b02743ea40cf26a51ed5f"
|
||||||
|
},
|
||||||
|
"nvim-dap-python": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "64652d1ae1db80870d9aac7132d76e37acd86a26"
|
||||||
|
},
|
||||||
|
"nvim-dap-ui": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122"
|
||||||
|
},
|
||||||
|
"nvim-dap-virtual-text": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6"
|
||||||
|
},
|
||||||
|
"nvim-lint": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "897f7771c1ca4b11659dfe372d9376acd9fe3097"
|
||||||
|
},
|
||||||
|
"nvim-lspconfig": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "7af6f57d517d8cc68f249e0d27364c188a097812"
|
||||||
|
},
|
||||||
|
"nvim-nio": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662"
|
||||||
|
},
|
||||||
|
"nvim-snippets": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "56b4052f71220144689caaa2e5b66222ba5661eb"
|
||||||
|
},
|
||||||
|
"nvim-treesitter": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "2979e048b356cfd32dc419d5803dc356b9832adf"
|
||||||
|
},
|
||||||
|
"nvim-treesitter-textobjects": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "76deedf0f1cec4496ef8d49b6d1f020f6d0c6ec9"
|
||||||
|
},
|
||||||
|
"nvim-ts-autotag": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc"
|
||||||
|
},
|
||||||
|
"persistence.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c"
|
||||||
|
},
|
||||||
|
"plenary.nvim": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509"
|
||||||
|
},
|
||||||
|
"render-markdown.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "26097a4eb95b391d0308c1b77cce89b28bbc9916"
|
||||||
|
},
|
||||||
|
"snacks.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b"
|
||||||
|
},
|
||||||
|
"tailwindcss-colorizer-cmp.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86"
|
||||||
|
},
|
||||||
|
"todo-comments.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668"
|
||||||
|
},
|
||||||
|
"tokyonight.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd"
|
||||||
|
},
|
||||||
|
"trouble.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a"
|
||||||
|
},
|
||||||
|
"ts-comments.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "123a9fb12e7229342f807ec9e6de478b1102b041"
|
||||||
|
},
|
||||||
|
"typst-preview.nvim": {
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "291972a39db85c5d2e76249748aba4206dfd3bc2"
|
||||||
|
},
|
||||||
|
"venv-selector.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "58bae72c84b9f7f864c879ec1896e384296f9ffb"
|
||||||
|
},
|
||||||
|
"which-key.nvim": {
|
||||||
|
"branch": "main",
|
||||||
|
"commit": "3aab2147e74890957785941f0c1ad87d0a44c15a"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
26
lazyvim.json
Normal file
26
lazyvim.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"extras": [
|
||||||
|
"lazyvim.plugins.extras.coding.nvim-cmp",
|
||||||
|
"lazyvim.plugins.extras.dap.core",
|
||||||
|
"lazyvim.plugins.extras.editor.dial",
|
||||||
|
"lazyvim.plugins.extras.formatting.prettier",
|
||||||
|
"lazyvim.plugins.extras.lang.docker",
|
||||||
|
"lazyvim.plugins.extras.lang.go",
|
||||||
|
"lazyvim.plugins.extras.lang.json",
|
||||||
|
"lazyvim.plugins.extras.lang.markdown",
|
||||||
|
"lazyvim.plugins.extras.lang.python",
|
||||||
|
"lazyvim.plugins.extras.lang.tailwind",
|
||||||
|
"lazyvim.plugins.extras.lang.typescript",
|
||||||
|
"lazyvim.plugins.extras.lang.typst",
|
||||||
|
"lazyvim.plugins.extras.lang.vue",
|
||||||
|
"lazyvim.plugins.extras.lang.yaml",
|
||||||
|
"lazyvim.plugins.extras.linting.eslint",
|
||||||
|
"lazyvim.plugins.extras.test.core",
|
||||||
|
"lazyvim.plugins.extras.util.mini-hipatterns"
|
||||||
|
],
|
||||||
|
"install_version": 8,
|
||||||
|
"news": {
|
||||||
|
"NEWS.md": "11866"
|
||||||
|
},
|
||||||
|
"version": 8
|
||||||
|
}
|
||||||
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")
|
||||||
@@ -1 +0,0 @@
|
|||||||
vim.api.nvim_set_keymap('n', '', ':set wrap!\n', {})
|
|
||||||
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
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
@@ -15,21 +14,40 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
spec = {
|
spec = {
|
||||||
-- import your plugins
|
-- add LazyVim and import its plugins
|
||||||
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
|
-- import/override with your plugins
|
||||||
{ import = "plugins" },
|
{ import = "plugins" },
|
||||||
},
|
},
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
defaults = {
|
||||||
-- colorscheme that will be used when installing plugins.
|
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||||
install = { colorscheme = { "habamax" } },
|
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||||
-- automatically check for plugin updates
|
lazy = false,
|
||||||
checker = { enabled = true },
|
-- 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 +0,0 @@
|
|||||||
return { "catppuccin/nvim", name = "catppuccin", priority = 1000 }
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
'numToStr/Comment.nvim',
|
|
||||||
opts = {
|
|
||||||
-- add any options here
|
|
||||||
toggler = {
|
|
||||||
line = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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,4 +0,0 @@
|
|||||||
return {
|
|
||||||
"mason-org/mason.nvim",
|
|
||||||
opts = {}
|
|
||||||
}
|
|
||||||
4
stylua.toml
Normal file
4
stylua.toml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
indent_type = "Tabs"
|
||||||
|
indent_width = 4
|
||||||
|
column_width = 120
|
||||||
|
|
||||||
Reference in New Issue
Block a user