Add .config/nvim/LICENSE
Add .config/nvim/README.md Add .config/nvim/.gitignore Add .config/nvim/.neoconf.json Add .config/nvim/init.lua Add .config/nvim/lazy-lock.json Add .config/nvim/lua/config/autocmds.lua Add .config/nvim/lua/config/keymaps.lua Add .config/nvim/lua/config/lazy.lua Add .config/nvim/lua/config/options.lua Add .config/nvim/lua/plugins/catppuccin.lua Add .config/nvim/lua/plugins/copilot-cmp.lua Add .config/nvim/lua/plugins/copilot.lua Add .config/nvim/lua/plugins/core.lua Add .config/nvim/lua/plugins/crates.lua Add .config/nvim/lua/plugins/example.lua Add .config/nvim/lua/plugins/lspconfig.lua Add .config/nvim/lua/plugins/neoconf.lua Add .config/nvim/lua/plugins/neorg.lua Add .config/nvim/lua/plugins/noice.lua Add .config/nvim/lua/plugins/null-ls.lua Add .config/nvim/lua/plugins/nvim-cmp.lua Add .config/nvim/lua/plugins/nvim-dap.lua Add .config/nvim/lua/plugins/ranger.lua Add .config/nvim/lua/plugins/rust-tools.lua Add .config/nvim/lua/plugins/tmux.lua Add .config/nvim/lua/plugins/toggleterm.lua Add .config/nvim/lua/plugins/treesitter.lua Add .config/nvim/lua/plugins/vim-wordmotion.lua Add .config/nvim/lua/plugins/zen-mode.lua Add .config/nvim/neoconf.json Add .config/nvim/queries/hurl/highlights.scm Add .config/nvim/queries/hurl/injections.scm Add .config/nvim/stylua.toml Add .config/ranger/.keep Add .config/toot/config.json Add .config/zathura/.keep Add .config/zellij/config.kdl Update .zimrc
This commit is contained in:
parent
2cf06bbf3b
commit
d80976a36b
201
dot_config/nvim/LICENSE
Normal file
201
dot_config/nvim/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.
|
3
dot_config/nvim/README.md
Normal file
3
dot_config/nvim/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Kjuulh Lazy git fork
|
||||
|
||||
|
8
dot_config/nvim/dot_gitignore
Normal file
8
dot_config/nvim/dot_gitignore
Normal file
@ -0,0 +1,8 @@
|
||||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
15
dot_config/nvim/dot_neoconf.json
Normal file
15
dot_config/nvim/dot_neoconf.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"sumneko_lua": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
2
dot_config/nvim/init.lua
Normal file
2
dot_config/nvim/init.lua
Normal file
@ -0,0 +1,2 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
62
dot_config/nvim/lazy-lock.json
Normal file
62
dot_config/nvim/lazy-lock.json
Normal file
@ -0,0 +1,62 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "142e6bec209704210db23b3424b4d51896bb206a" },
|
||||
"LuaSnip": { "branch": "master", "commit": "0b4950a237ce441a6a3a947d501622453f6860ea" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "99f0932365b34e22549ff58e1bea388465d15e99" },
|
||||
"catppuccin": { "branch": "main", "commit": "6425df128d46f2db2cccf9aa7a66ca2823c1d153" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||
"copilot-cmp": { "branch": "master", "commit": "c2cdb3c0f5078b0619055af192295830a7987790" },
|
||||
"crates.nvim": { "branch": "main", "commit": "1dffccc0a95f656ebe00cacb4de282473430c5a1" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "39611852fd7bbac117e939a26759bb37361f0c90" },
|
||||
"flash.nvim": { "branch": "main", "commit": "967117690bd677cb7b6a87f0bc0077d2c0be3a27" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "adcf2c7f2f495f5df148683764bf7cba6a70f34c" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" },
|
||||
"mason.nvim": { "branch": "main", "commit": "3f6b544c75c01549f7a2a9e395e0f1cea42b25dd" },
|
||||
"mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" },
|
||||
"mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" },
|
||||
"mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" },
|
||||
"mini.hipatterns": { "branch": "main", "commit": "eb93970cf1f92233e6475008dfc10fac7b025475" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" },
|
||||
"mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" },
|
||||
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "866b6b6e687a93ba98851a03a74bf6d9211b7299" },
|
||||
"neorg": { "branch": "main", "commit": "774f5dd80d15aa11d0221aba767da699f9533e32" },
|
||||
"noice.nvim": { "branch": "main", "commit": "c7969e3c25530087b3a52128030163280a7cf679" },
|
||||
"nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" },
|
||||
"nvim-dap": { "branch": "master", "commit": "d17d1bba23ec72a157bd183c57840c39e323f515" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "dd11ba7b3c8f82d51b6d4dd7d68fce2d78bf78a0" },
|
||||
"nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" },
|
||||
"nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "3ba6edeea1390457caaf73e96ab9c086ff6f90e9" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "7b04e8b67eec7d92daadf9f0717dd272ddfc81a3" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ef32a5c24b767d165ed63fd2b24ac8dc52742521" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"ranger.nvim": { "branch": "main", "commit": "82dd670c0e4867419969cb55bd9c3a5e7ea73ddc" },
|
||||
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "1228f3b15ca3d9b95dcb92efda6a3448871030bd" },
|
||||
"tmux.nvim": { "branch": "main", "commit": "03e28fdaa2ef54b975ba1930f1e69b5e231dedc9" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "00c13dccc78c09fa5da4c5edda990a363e75035e" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "0e6703c1d37d2d34ed029ab54f9bd66e3f2ecbf7" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" },
|
||||
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" },
|
||||
"vim-wordmotion": { "branch": "master", "commit": "81d9bd298376ab0dc465c85d55afa4cb8d5f47a1" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" },
|
||||
"zen-mode.nvim": { "branch": "main", "commit": "68f554702de63f4b7b6b6d4bcb10178f41a0acc7" }
|
||||
}
|
3
dot_config/nvim/lua/config/autocmds.lua
Normal file
3
dot_config/nvim/lua/config/autocmds.lua
Normal file
@ -0,0 +1,3 @@
|
||||
-- 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
|
12
dot_config/nvim/lua/config/keymaps.lua
Normal file
12
dot_config/nvim/lua/config/keymaps.lua
Normal file
@ -0,0 +1,12 @@
|
||||
-- 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
|
||||
--
|
||||
|
||||
function _G.set_terminal_keymaps()
|
||||
local opts = { buffer = 0 }
|
||||
vim.keymap.set("t", "<C-esc>", [[<C-\><C-n>]], opts)
|
||||
end
|
||||
|
||||
-- if you only want these mappings for toggle term use term://*toggleterm#* instead
|
||||
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|
53
dot_config/nvim/lua/config/lazy.lua
Normal file
53
dot_config/nvim/lua/config/lazy.lua
Normal file
@ -0,0 +1,53 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
-- bootstrap lazy.nvim
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable",
|
||||
lazypath })
|
||||
end
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
--{ import = "lazyvim.plugins.extras.editor.flash" },
|
||||
--{ import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||
{ import = "lazyvim.plugins.extras.util.mini-hipatterns" },
|
||||
{ import = "lazyvim.plugins.extras.util.project" },
|
||||
|
||||
|
||||
|
||||
-- import any extras modules here
|
||||
-- { import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
-- { import = "lazyvim.plugins.extras.lang.json" },
|
||||
-- { import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||
-- 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
|
||||
},
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
5
dot_config/nvim/lua/config/options.lua
Normal file
5
dot_config/nvim/lua/config/options.lua
Normal file
@ -0,0 +1,5 @@
|
||||
-- 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
|
||||
vim.o.termguicolors = true
|
||||
--vim.cmd'colorscheme yourfavcolorscheme'
|
11
dot_config/nvim/lua/plugins/catppuccin.lua
Normal file
11
dot_config/nvim/lua/plugins/catppuccin.lua
Normal file
@ -0,0 +1,11 @@
|
||||
return {
|
||||
"catppuccin/nvim",
|
||||
lazy = true,
|
||||
name = "catppuccin",
|
||||
config = function()
|
||||
require("catppuccin").setup({
|
||||
--flavour = "espresso"
|
||||
--flavour = "macchiato"
|
||||
})
|
||||
end
|
||||
}
|
6
dot_config/nvim/lua/plugins/copilot-cmp.lua
Normal file
6
dot_config/nvim/lua/plugins/copilot-cmp.lua
Normal file
@ -0,0 +1,6 @@
|
||||
return {
|
||||
"zbirenbaum/copilot-cmp",
|
||||
config = function()
|
||||
require("copilot_cmp").setup()
|
||||
end
|
||||
}
|
19
dot_config/nvim/lua/plugins/copilot.lua
Normal file
19
dot_config/nvim/lua/plugins/copilot.lua
Normal file
@ -0,0 +1,19 @@
|
||||
return {
|
||||
"zbirenbaum/copilot.lua",
|
||||
enabled = false,
|
||||
cmd = "Copilot",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("copilot").setup({
|
||||
suggestion = { enabled = false },
|
||||
panel = { enabled = false },
|
||||
|
||||
--suggestion = {
|
||||
-- auto_trigger = true,
|
||||
-- keymap = {
|
||||
-- accept = "<C-S-l>",
|
||||
-- }
|
||||
--}
|
||||
})
|
||||
end,
|
||||
}
|
6
dot_config/nvim/lua/plugins/core.lua
Normal file
6
dot_config/nvim/lua/plugins/core.lua
Normal file
@ -0,0 +1,6 @@
|
||||
return {
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "catppuccin"
|
||||
}
|
||||
}
|
8
dot_config/nvim/lua/plugins/crates.lua
Normal file
8
dot_config/nvim/lua/plugins/crates.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
'saecki/crates.nvim',
|
||||
tag = 'v0.3.0',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
config = function()
|
||||
require('crates').setup()
|
||||
end,
|
||||
}
|
267
dot_config/nvim/lua/plugins/example.lua
Normal file
267
dot_config/nvim/lua/plugins/example.lua
Normal file
@ -0,0 +1,267 @@
|
||||
-- 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 {
|
||||
-- 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 },
|
||||
|
||||
-- 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 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 telescope-fzf-native
|
||||
{
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
build = "make",
|
||||
config = function()
|
||||
require("telescope").load_extension("fzf")
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
-- 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").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",
|
||||
"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 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, "😄")
|
||||
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",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Use <tab> for completion and snippets (supertab)
|
||||
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
-- then: setup supertab in cmp
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-emoji",
|
||||
},
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local luasnip = require("luasnip")
|
||||
local cmp = require("cmp")
|
||||
|
||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
|
||||
-- they way you will only jump inside the snippet region
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
122
dot_config/nvim/lua/plugins/lspconfig.lua
Normal file
122
dot_config/nvim/lua/plugins/lspconfig.lua
Normal file
@ -0,0 +1,122 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
tailwindcss = {
|
||||
filetypes = {
|
||||
"css",
|
||||
"scss",
|
||||
"sass",
|
||||
"html",
|
||||
"javascriptreact",
|
||||
"typescriptreact",
|
||||
"rust",
|
||||
"svelte",
|
||||
},
|
||||
init_options = {
|
||||
userLanguages = {
|
||||
rust = "html"
|
||||
}
|
||||
},
|
||||
settings = {
|
||||
includeLanguages = {
|
||||
rust = "html",
|
||||
}
|
||||
},
|
||||
tailwindcss = {
|
||||
experimental = {
|
||||
classRegex = {
|
||||
[[class= "([^"]*)]],
|
||||
[[class: "([^"]*)]],
|
||||
'~H""".*class="([^"]*)".*"""',
|
||||
'~F""".*class="([^"]*)".*"""',
|
||||
},
|
||||
},
|
||||
validate = true
|
||||
}
|
||||
},
|
||||
jsonls = {
|
||||
on_new_config = function(new_config)
|
||||
new_config.settings.json.schemas = new_config.settings.json.schemas or {
|
||||
}
|
||||
vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas())
|
||||
end,
|
||||
settings = {
|
||||
json = {
|
||||
validate = { enable = true },
|
||||
schemas = {
|
||||
{
|
||||
description = "shuttle go plan",
|
||||
fileMatch = {
|
||||
"shuttle.yaml"
|
||||
},
|
||||
name = "shuttle.yaml",
|
||||
url = "file:///Users/kah/git/github.com/lunarway/lw-shuttle-go-plan/.schemastore/schema.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
yamlls = {
|
||||
on_new_config = function(new_config)
|
||||
new_config.settings.json.schemas = new_config.settings.json.schemas or {
|
||||
}
|
||||
vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas())
|
||||
end,
|
||||
settings = {
|
||||
yaml = {
|
||||
validate = true,
|
||||
schemas = {
|
||||
["file:///Users/kah/git/github.com/lunarway/lw-shuttle-go-plan/.schemastore/schema.json"] = "shuttle.yaml"
|
||||
--{
|
||||
-- description = "shuttle go plan",
|
||||
-- fileMatch = {
|
||||
-- "shuttle.yaml"
|
||||
-- },
|
||||
-- name = "shuttle.yaml",
|
||||
-- url =
|
||||
--}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
pylsp = {
|
||||
settings = {
|
||||
pylsp = {
|
||||
plugins = {
|
||||
autopep8 = {
|
||||
enabled = false
|
||||
},
|
||||
yapf = {
|
||||
enabled = false
|
||||
},
|
||||
pylint = {
|
||||
enabled = true
|
||||
},
|
||||
flake8 = {
|
||||
enabled = true
|
||||
},
|
||||
["pylsp-mypy"] = {
|
||||
enabled = true,
|
||||
livemode = true
|
||||
},
|
||||
["pylsp-rope"] = {
|
||||
enabled = true
|
||||
},
|
||||
["pyls-isort"] = {
|
||||
enabled = true
|
||||
},
|
||||
["python-lsp-black"] = {
|
||||
enabled = true
|
||||
},
|
||||
["pyls-memestra"] = {
|
||||
enabled = true
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
3
dot_config/nvim/lua/plugins/neoconf.lua
Normal file
3
dot_config/nvim/lua/plugins/neoconf.lua
Normal file
@ -0,0 +1,3 @@
|
||||
return {
|
||||
"folke/neoconf.nvim",
|
||||
}
|
4
dot_config/nvim/lua/plugins/neorg.lua
Normal file
4
dot_config/nvim/lua/plugins/neorg.lua
Normal file
@ -0,0 +1,4 @@
|
||||
return {
|
||||
"nvim-neorg/neorg",
|
||||
ft = "norg"
|
||||
}
|
18
dot_config/nvim/lua/plugins/noice.lua
Normal file
18
dot_config/nvim/lua/plugins/noice.lua
Normal file
@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
routes = {
|
||||
{
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
kind = "",
|
||||
--find = "written"
|
||||
},
|
||||
opts = {
|
||||
skip = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
63
dot_config/nvim/lua/plugins/null-ls.lua
Normal file
63
dot_config/nvim/lua/plugins/null-ls.lua
Normal file
@ -0,0 +1,63 @@
|
||||
local h = require("null-ls.helpers")
|
||||
local methods = require("null-ls.methods")
|
||||
local u = require("null-ls.utils")
|
||||
|
||||
local FORMATTING = methods.internal.FORMATTING
|
||||
|
||||
local leptosfmt = h.make_builtin({
|
||||
name = "leptosfmt",
|
||||
meta = {
|
||||
url = "https://github.com/bram209/leptosfmt",
|
||||
description = "A formatter for the leptos view! macro"
|
||||
},
|
||||
method = FORMATTING,
|
||||
filetypes = { "rust" },
|
||||
generator_opts = {
|
||||
command = "leptosfmt",
|
||||
args = { "--quiet", "--stdin" },
|
||||
to_stdin = true,
|
||||
},
|
||||
factory = h.formatter_factory,
|
||||
})
|
||||
|
||||
|
||||
return {
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
event = "BufReadPre",
|
||||
dependencies = { "mason.nvim" },
|
||||
opts = function()
|
||||
local nls = require("null-ls")
|
||||
return {
|
||||
sources = {
|
||||
nls.builtins.formatting.terraform_fmt,
|
||||
--nls.builtins.formatting.yamlfmt,
|
||||
nls.builtins.formatting.deno_fmt.with({
|
||||
filetypes = { "markdown" }
|
||||
}),
|
||||
nls.builtins.formatting.golines,
|
||||
nls.builtins.formatting.goimports_reviser,
|
||||
nls.builtins.formatting.goimports,
|
||||
nls.builtins.formatting.gofumpt,
|
||||
nls.builtins.formatting.taplo,
|
||||
nls.builtins.formatting.prettierd.with({
|
||||
filetypes = { "graphql" }
|
||||
}),
|
||||
nls.builtins.formatting.shfmt,
|
||||
nls.builtins.code_actions.gitsigns,
|
||||
nls.builtins.code_actions.refactoring,
|
||||
nls.builtins.formatting.rustfmt.with({
|
||||
extra_args = { "--edition=2021" },
|
||||
filetypes = { "rust" }
|
||||
}),
|
||||
leptosfmt.with({
|
||||
condition = function(utils)
|
||||
return utils.root_has_file({ "leptosfmt.toml" })
|
||||
end,
|
||||
}),
|
||||
nls.builtins.diagnostics.revive,
|
||||
nls.builtins.code_actions.impl,
|
||||
nls.builtins.code_actions.refactoring,
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
9
dot_config/nvim/lua/plugins/nvim-cmp.lua
Normal file
9
dot_config/nvim/lua/plugins/nvim-cmp.lua
Normal file
@ -0,0 +1,9 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
opts = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot", group_index = 2 } }))
|
||||
|
||||
return opts
|
||||
end
|
||||
}
|
3
dot_config/nvim/lua/plugins/nvim-dap.lua
Normal file
3
dot_config/nvim/lua/plugins/nvim-dap.lua
Normal file
@ -0,0 +1,3 @@
|
||||
return {
|
||||
"mfussenegger/nvim-dap"
|
||||
}
|
9
dot_config/nvim/lua/plugins/ranger.lua
Normal file
9
dot_config/nvim/lua/plugins/ranger.lua
Normal file
@ -0,0 +1,9 @@
|
||||
return {
|
||||
"kjuulh/ranger.nvim",
|
||||
config = function()
|
||||
require("ranger").setup()
|
||||
end,
|
||||
keys = {
|
||||
{ "<leader>.", "<CMD>Ranger<CR>", "Opens the ranger file manager" },
|
||||
},
|
||||
}
|
40
dot_config/nvim/lua/plugins/rust-tools.lua
Normal file
40
dot_config/nvim/lua/plugins/rust-tools.lua
Normal file
@ -0,0 +1,40 @@
|
||||
return {
|
||||
"simrat39/rust-tools.nvim",
|
||||
config = function()
|
||||
local rt = require("rust-tools")
|
||||
|
||||
rt.setup({
|
||||
server = {
|
||||
on_attach = function(_, bufnr)
|
||||
-- Hover actions
|
||||
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
|
||||
-- Code action groups
|
||||
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
end,
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
imports = {
|
||||
granularity = {
|
||||
group = "module",
|
||||
},
|
||||
prefix = "self",
|
||||
},
|
||||
cargo = {
|
||||
allFeatures = true,
|
||||
buildScripts = {
|
||||
enable = true,
|
||||
},
|
||||
procMacro = {
|
||||
enable = true,
|
||||
}
|
||||
},
|
||||
checkOnSave = {
|
||||
allFeatures = true,
|
||||
enable = true
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
6
dot_config/nvim/lua/plugins/tmux.lua
Normal file
6
dot_config/nvim/lua/plugins/tmux.lua
Normal file
@ -0,0 +1,6 @@
|
||||
return {
|
||||
"aserowy/tmux.nvim",
|
||||
config = function()
|
||||
require("tmux").setup()
|
||||
end
|
||||
}
|
26
dot_config/nvim/lua/plugins/toggleterm.lua
Normal file
26
dot_config/nvim/lua/plugins/toggleterm.lua
Normal file
@ -0,0 +1,26 @@
|
||||
return {
|
||||
"akinsho/toggleterm.nvim",
|
||||
config = function()
|
||||
require("toggleterm").setup({
|
||||
shading_factor = 2,
|
||||
open_mapping = [[<C-T>]],
|
||||
insert_mapping = true,
|
||||
terminal_mapping = true,
|
||||
direction = "float",
|
||||
float_opts = {
|
||||
border = "curved",
|
||||
highlights = {
|
||||
border = "Normal",
|
||||
background = "Normal",
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<leader>t",
|
||||
"<cmd>ToggleTerm<CR>",
|
||||
desc = "Open a terminal",
|
||||
},
|
||||
},
|
||||
}
|
35
dot_config/nvim/lua/plugins/treesitter.lua
Normal file
35
dot_config/nvim/lua/plugins/treesitter.lua
Normal file
@ -0,0 +1,35 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, _)
|
||||
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
|
||||
|
||||
|
||||
-- https://github.com/nvim-treesitter/nvim-treesitter/tree/master#adding-parsers
|
||||
parser_config.hurl = {
|
||||
install_info = {
|
||||
url = "~/git/github.com/kjuulh/tree-sitter-hurl",
|
||||
files = { "src/parser.c" },
|
||||
branch = "main",
|
||||
generate_requires_npm = false,
|
||||
requires_generate_from_grammar = false,
|
||||
},
|
||||
filetype = "hurl",
|
||||
}
|
||||
|
||||
|
||||
vim.treesitter.language.register('xml', 'html')
|
||||
vim.filetype.add({
|
||||
extension = {
|
||||
xml = "html"
|
||||
}
|
||||
})
|
||||
|
||||
-- https://neovim.io/doc/user/lua.html#vim.filetype.add()
|
||||
-- Search for vim.filetype.add
|
||||
vim.filetype.add({
|
||||
extension = {
|
||||
hurl = "hurl"
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
3
dot_config/nvim/lua/plugins/vim-wordmotion.lua
Normal file
3
dot_config/nvim/lua/plugins/vim-wordmotion.lua
Normal file
@ -0,0 +1,3 @@
|
||||
return {
|
||||
"chaoren/vim-wordmotion",
|
||||
}
|
13
dot_config/nvim/lua/plugins/zen-mode.lua
Normal file
13
dot_config/nvim/lua/plugins/zen-mode.lua
Normal file
@ -0,0 +1,13 @@
|
||||
return {
|
||||
"folke/zen-mode.nvim",
|
||||
config = function()
|
||||
require("zen-mode").setup {
|
||||
plugins = {
|
||||
kitty = {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
end,
|
||||
keys = { { "<leader>wz", "<cmd>ZenMode<cr>", desc = "Toggle zen mode" } },
|
||||
}
|
1
dot_config/nvim/neoconf.json
Normal file
1
dot_config/nvim/neoconf.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
33
dot_config/nvim/queries/hurl/highlights.scm
Normal file
33
dot_config/nvim/queries/hurl/highlights.scm
Normal file
@ -0,0 +1,33 @@
|
||||
[
|
||||
"GET"
|
||||
"POST"
|
||||
"PUT"
|
||||
"DELETE"
|
||||
"CONNECT"
|
||||
"OPTIONS"
|
||||
"TRACE"
|
||||
"PATCH"
|
||||
"LINK"
|
||||
"UNLINK"
|
||||
"PURGE"
|
||||
"LOCK"
|
||||
"UNLOCK"
|
||||
"PROPFIND"
|
||||
"VIEW"
|
||||
] @keyword
|
||||
|
||||
[
|
||||
(url)
|
||||
] @string
|
||||
|
||||
[
|
||||
(response)
|
||||
] @keyword.response
|
||||
|
||||
[
|
||||
(status_code_pattern)
|
||||
] @constant
|
||||
|
||||
(comment) @comment
|
||||
|
||||
(assert_literal) @constant.buildin
|
3
dot_config/nvim/queries/hurl/injections.scm
Normal file
3
dot_config/nvim/queries/hurl/injections.scm
Normal file
@ -0,0 +1,3 @@
|
||||
(json_request_declaration) @json
|
||||
|
||||
(text_body_declaration) @markdown
|
3
dot_config/nvim/stylua.toml
Normal file
3
dot_config/nvim/stylua.toml
Normal file
@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
0
dot_config/ranger/.keep
Normal file
0
dot_config/ranger/.keep
Normal file
29
dot_config/toot/private_config.json
Normal file
29
dot_config/toot/private_config.json
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"active_user": "kjuulh@fosstodon.org",
|
||||
"apps": {
|
||||
"fosstodon.org": {
|
||||
"base_url": "https://fosstodon.org",
|
||||
"client_id": "AcZhHGTxxuLbjNvcSgjPoDJK95LIJkdPYgKvy72uQIg",
|
||||
"client_secret": "7W6cxIzYaT_h2NYAmcuBWDFPvuVh5wJ4NPb21mvqrOI",
|
||||
"instance": "fosstodon.org"
|
||||
},
|
||||
"mastodon.social": {
|
||||
"base_url": "https://mastodon.social",
|
||||
"client_id": "G56QDXm4ubJ7zVBWgVT4HsjaXasQSfw71zZIbDsOnjY",
|
||||
"client_secret": "4SMgejSYxg3IgBvPnLqLSpTYxnbGbr9FI_DaGoGcpE8",
|
||||
"instance": "mastodon.social"
|
||||
}
|
||||
},
|
||||
"users": {
|
||||
"kjuulh@fosstodon.org": {
|
||||
"access_token": "LEcjEWFSnCfOFbfEC1bQXbTPeqaNaDukwG8yFYpiQaA",
|
||||
"instance": "fosstodon.org",
|
||||
"username": "kjuulh"
|
||||
},
|
||||
"kjuulh@mastodon.social": {
|
||||
"access_token": "GT8PmkBFIRd6uuRTT6B3RUF2uJfZ--2h534ObKSg14I",
|
||||
"instance": "mastodon.social",
|
||||
"username": "kjuulh"
|
||||
}
|
||||
}
|
||||
}
|
0
dot_config/zathura/.keep
Normal file
0
dot_config/zathura/.keep
Normal file
315
dot_config/zellij/config.kdl
Normal file
315
dot_config/zellij/config.kdl
Normal file
@ -0,0 +1,315 @@
|
||||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
keybinds {
|
||||
normal {
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Ctrl n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Increase Left"; }
|
||||
bind "j" "Down" { Resize "Increase Down"; }
|
||||
bind "k" "Up" { Resize "Increase Up"; }
|
||||
bind "l" "Right" { Resize "Increase Right"; }
|
||||
bind "H" { Resize "Decrease Left"; }
|
||||
bind "J" { Resize "Decrease Down"; }
|
||||
bind "K" { Resize "Decrease Up"; }
|
||||
bind "L" { Resize "Decrease Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
}
|
||||
pane {
|
||||
bind "Ctrl p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "l" "Right" { MoveFocus "Right"; }
|
||||
bind "j" "Down" { MoveFocus "Down"; }
|
||||
bind "k" "Up" { MoveFocus "Up"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Ctrl h" { SwitchToMode "Normal"; }
|
||||
bind "n" "Tab" { MovePane; }
|
||||
bind "p" { MovePaneBackwards; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "j" "Down" { MovePane "Down"; }
|
||||
bind "k" "Up" { MovePane "Up"; }
|
||||
bind "l" "Right" { MovePane "Right"; }
|
||||
}
|
||||
tab {
|
||||
bind "Ctrl t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
search {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
}
|
||||
session {
|
||||
bind "Ctrl o" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
tmux {
|
||||
bind "[" { SwitchToMode "Scroll"; }
|
||||
bind "Ctrl a" { Write 2; SwitchToMode "Normal"; }
|
||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "," { SwitchToMode "RenameTab"; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "d" { Detach; }
|
||||
bind "Space" { NextSwapLayout; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Ctrl g" { SwitchToMode "Locked"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
bind "Alt [" { PreviousSwapLayout; }
|
||||
bind "Alt ]" { NextSwapLayout; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
||||
}
|
||||
shared_except "move" "locked" {
|
||||
bind "Ctrl h" { SwitchToMode "Move"; }
|
||||
}
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Ctrl a" { SwitchToMode "Tmux"; }
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
tab-bar { path "tab-bar"; }
|
||||
status-bar { path "status-bar"; }
|
||||
strider { path "strider"; }
|
||||
compact-bar { path "compact-bar"; }
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Choose the path to override cwd that zellij will use for opening new panes
|
||||
//
|
||||
// default_cwd ""
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// auto_layout true
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
// themes {
|
||||
// dracula {
|
||||
// fg 248 248 242
|
||||
// bg 40 42 54
|
||||
// red 255 85 85
|
||||
// green 80 250 123
|
||||
// yellow 241 250 140
|
||||
// blue 98 114 164
|
||||
// magenta 255 121 198
|
||||
// orange 255 184 108
|
||||
// cyan 139 233 253
|
||||
// black 0 0 0
|
||||
// white 255 255 255
|
||||
// }
|
||||
// }
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
theme "dracula"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// mouse_mode false
|
||||
|
||||
// Configure the scroll back buffer size
|
||||
// This is the number of lines zellij stores for each pane in the scroll back
|
||||
// buffer. Excess number of lines are discarded in a FIFO fashion.
|
||||
// Valid values: positive integers
|
||||
// Default value: 10000
|
||||
//
|
||||
// scroll_buffer_size 10000
|
||||
|
||||
// Provide a command to execute when copying text. The text will be piped to
|
||||
// the stdin of the program to perform the copy. This can be used with
|
||||
// terminal emulators which do not support the OSC 52 ANSI control sequence
|
||||
// that will be used by default if this option is not set.
|
||||
// Examples:
|
||||
//
|
||||
// copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
copy_command "pbcopy" // osx
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
//
|
||||
// layout_dir "/path/to/my/layout_dir"
|
||||
|
||||
// The folder in which Zellij will look for themes
|
||||
//
|
||||
// theme_dir "/path/to/my/theme_dir"
|
Loading…
Reference in New Issue
Block a user