LazyVIM and some updated configurations
This commit is contained in:
		
							parent
							
								
									451c1ed56d
								
							
						
					
					
						commit
						7d50f578b1
					
				
					 46 changed files with 1269 additions and 969 deletions
				
			
		
							
								
								
									
										15
									
								
								nvim/.neoconf.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								nvim/.neoconf.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | { | ||||||
|  |   "neodev": { | ||||||
|  |     "library": { | ||||||
|  |       "enabled": true, | ||||||
|  |       "plugins": true | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "neoconf": { | ||||||
|  |     "plugins": { | ||||||
|  |       "lua_ls": { | ||||||
|  |         "enabled": true | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										201
									
								
								nvim/LICENSE
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								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. | ||||||
							
								
								
									
										4
									
								
								nvim/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								nvim/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. | ||||||
|  | @ -1,16 +1,2 @@ | ||||||
| require("blakeridgway.plugins-setup") | -- bootstrap lazy.nvim, LazyVim and your plugins | ||||||
| require("blakeridgway.core.options") | require("config.lazy") | ||||||
| require("blakeridgway.core.keymaps") |  | ||||||
| require("blakeridgway.core.colorscheme") |  | ||||||
| require("blakeridgway.plugins.comment") |  | ||||||
| require("blakeridgway.plugins.nvim-tree") |  | ||||||
| require("blakeridgway.plugins.lualine") |  | ||||||
| require("blakeridgway.plugins.telescope") |  | ||||||
| require("blakeridgway.plugins.nvim-cmp") |  | ||||||
| require("blakeridgway.plugins.lsp.mason") |  | ||||||
| require("blakeridgway.plugins.lsp.lspconfig") |  | ||||||
| require("blakeridgway.plugins.lsp.null-ls") |  | ||||||
| require("blakeridgway.plugins.autopairs") |  | ||||||
| require("blakeridgway.plugins.treesitter") |  | ||||||
| require("blakeridgway.plugins.gitsigns") |  | ||||||
| require("blakeridgway.plugins.discord") |  | ||||||
|  |  | ||||||
							
								
								
									
										65
									
								
								nvim/lazy-lock.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								nvim/lazy-lock.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | ||||||
|  | { | ||||||
|  |   "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, | ||||||
|  |   "LuaSnip": { "branch": "master", "commit": "6a001360cea89df50f7c5cc8c7a75e6a21f1ef5c" }, | ||||||
|  |   "SchemaStore.nvim": { "branch": "main", "commit": "de7a5763edab2075e1925869af827ca38109ebfa" }, | ||||||
|  |   "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, | ||||||
|  |   "catppuccin": { "branch": "main", "commit": "079500a625f3ae5aa6efb758f1a17fe4c7a57e52" }, | ||||||
|  |   "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, | ||||||
|  |   "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, | ||||||
|  |   "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, | ||||||
|  |   "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, | ||||||
|  |   "conform.nvim": { "branch": "master", "commit": "8b407bb6175846cdc4c499e2a8d28109615a2089" }, | ||||||
|  |   "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, | ||||||
|  |   "copilot.lua": { "branch": "master", "commit": "dcaaed5b58e6c2d395bca18d25d34e6384856722" }, | ||||||
|  |   "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, | ||||||
|  |   "dressing.nvim": { "branch": "master", "commit": "8b7ae53d7f04f33be3439a441db8071c96092d19" }, | ||||||
|  |   "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, | ||||||
|  |   "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, | ||||||
|  |   "inc-rename.nvim": { "branch": "main", "commit": "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2" }, | ||||||
|  |   "incline.nvim": { "branch": "main", "commit": "fdd7e08a6e3d0dd8d9aa02428861fa30c37ba306" }, | ||||||
|  |   "indent-blankline.nvim": { "branch": "master", "commit": "d4c718467d35bc93714425a7102d82e7e5065280" }, | ||||||
|  |   "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, | ||||||
|  |   "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, | ||||||
|  |   "mason-lspconfig.nvim": { "branch": "main", "commit": "9453e3d6cd2ca45d96e20f343e8f1b927364b630" }, | ||||||
|  |   "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, | ||||||
|  |   "mini.ai": { "branch": "main", "commit": "c28f7d7348f27425a180b1b7dcaa77651f8b71ee" }, | ||||||
|  |   "mini.animate": { "branch": "main", "commit": "507c43c4402c7d7a2101bc72bece6e2202152afa" }, | ||||||
|  |   "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, | ||||||
|  |   "mini.comment": { "branch": "main", "commit": "3d9c8009615857e982f09bc5357fc95f2a2175f3" }, | ||||||
|  |   "mini.hipatterns": { "branch": "main", "commit": "af0306665ee2d5c5fbf8e07e82237fc01ec3baa3" }, | ||||||
|  |   "mini.indentscope": { "branch": "main", "commit": "dc26fa1a6c8976f42930c9f53da88d3d441bb13f" }, | ||||||
|  |   "mini.pairs": { "branch": "main", "commit": "71f117fd57f930da6ef4126b24f594dd398bac26" }, | ||||||
|  |   "mini.surround": { "branch": "main", "commit": "af8129efcabe95fc08a233e9f91569829bed031f" }, | ||||||
|  |   "neo-tree.nvim": { "branch": "v3.x", "commit": "230ff118613fa07138ba579b89d13ec2201530b9" }, | ||||||
|  |   "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, | ||||||
|  |   "neodev.nvim": { "branch": "main", "commit": "40b608b31f3da728e298051c4bf579d8e8a84294" }, | ||||||
|  |   "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, | ||||||
|  |   "nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, | ||||||
|  |   "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, | ||||||
|  |   "nvim-lint": { "branch": "master", "commit": "5b42e12f397e9fd2629e6f0ce1c780a12b9e6597" }, | ||||||
|  |   "nvim-lspconfig": { "branch": "master", "commit": "84f2dd42efffa20d505ac44c78568d778ca7e0a1" }, | ||||||
|  |   "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, | ||||||
|  |   "nvim-spectre": { "branch": "master", "commit": "a18a58015b46f02b4fe537ebfffd82e46110ff24" }, | ||||||
|  |   "nvim-treesitter": { "branch": "master", "commit": "000f71842bf08840df1e70004b17507fa92b2fb7" }, | ||||||
|  |   "nvim-treesitter-context": { "branch": "master", "commit": "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb" }, | ||||||
|  |   "nvim-treesitter-textobjects": { "branch": "master", "commit": "ec1c5bdb3d87ac971749fa6c7dbc2b14884f1f6a" }, | ||||||
|  |   "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, | ||||||
|  |   "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, | ||||||
|  |   "nvim-web-devicons": { "branch": "master", "commit": "a1425903ab52a0a0460622519e827f224e5b4fee" }, | ||||||
|  |   "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, | ||||||
|  |   "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, | ||||||
|  |   "refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" }, | ||||||
|  |   "solarized-osaka.nvim": { "branch": "main", "commit": "83b7026ac7a4e185d4ecbe99926fd94b5735e2ea" }, | ||||||
|  |   "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "bc25c56083939f274edcfe395c6ff7de23b67c50" }, | ||||||
|  |   "telescope-file-browser.nvim": { "branch": "master", "commit": "8e0543365fe5781c9babea7db89ef06bcff3716d" }, | ||||||
|  |   "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, | ||||||
|  |   "telescope.nvim": { "branch": "master", "commit": "6213322ab56eb27356fdc09a5078e41e3ea7f3bc" }, | ||||||
|  |   "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, | ||||||
|  |   "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, | ||||||
|  |   "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, | ||||||
|  |   "twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" }, | ||||||
|  |   "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, | ||||||
|  |   "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, | ||||||
|  |   "vscode.nvim": { "branch": "main", "commit": "cd081089f4a2ceddade73d0415e1809ded510191" }, | ||||||
|  |   "zen-mode.nvim": { "branch": "main", "commit": "50e2e2a36cc97847d9ab3b1a3555ba2ef6839b50" } | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								nvim/lazyvim.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nvim/lazyvim.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | { | ||||||
|  |   "extras": [ | ||||||
|  | 
 | ||||||
|  |   ], | ||||||
|  |   "news": { | ||||||
|  |     "NEWS.md": "2123", | ||||||
|  |     "doc/news.txt": "17421" | ||||||
|  |   }, | ||||||
|  |   "version": 2 | ||||||
|  | } | ||||||
|  | @ -1,7 +0,0 @@ | ||||||
| -- set colorscheme to nightfly with protected call |  | ||||||
| -- in case it isn't installed |  | ||||||
| local status, _ = pcall(vim.cmd, "colorscheme nightfly") |  | ||||||
| if not status then |  | ||||||
|   print("Colorscheme not found!") -- print error if colorscheme not installed |  | ||||||
|   return |  | ||||||
| end |  | ||||||
|  | @ -1,55 +0,0 @@ | ||||||
| -- set leader key to space |  | ||||||
| vim.g.mapleader = " " |  | ||||||
| 
 |  | ||||||
| local keymap = vim.keymap -- for conciseness |  | ||||||
| 
 |  | ||||||
| --------------------- |  | ||||||
| -- General Keymaps |  | ||||||
| --------------------- |  | ||||||
| 
 |  | ||||||
| -- use jk to exit insert mode |  | ||||||
| keymap.set("i", "jk", "<ESC>") |  | ||||||
| 
 |  | ||||||
| -- clear search highlights |  | ||||||
| keymap.set("n", "<leader>nh", ":nohl<CR>") |  | ||||||
| 
 |  | ||||||
| -- delete single character without copying into register |  | ||||||
| keymap.set("n", "x", '"_x') |  | ||||||
| 
 |  | ||||||
| -- increment/decrement numbers |  | ||||||
| keymap.set("n", "<leader>+", "<C-a>") -- increment |  | ||||||
| keymap.set("n", "<leader>-", "<C-x>") -- decrement |  | ||||||
| 
 |  | ||||||
| -- window management |  | ||||||
| keymap.set("n", "<leader>sv", "<C-w>v") -- split window vertically |  | ||||||
| keymap.set("n", "<leader>sh", "<C-w>s") -- split window horizontally |  | ||||||
| keymap.set("n", "<leader>se", "<C-w>=") -- make split windows equal width & height |  | ||||||
| keymap.set("n", "<leader>sx", ":close<CR>") -- close current split window |  | ||||||
| 
 |  | ||||||
| keymap.set("n", "<leader>to", ":tabnew<CR>") -- open new tab |  | ||||||
| keymap.set("n", "<leader>tx", ":tabclose<CR>") -- close current tab |  | ||||||
| keymap.set("n", "<leader>tn", ":tabn<CR>") --  go to next tab |  | ||||||
| keymap.set("n", "<leader>tp", ":tabp<CR>") --  go to previous tab |  | ||||||
| 
 |  | ||||||
| ---------------------- |  | ||||||
| -- Plugin Keybinds |  | ||||||
| ---------------------- |  | ||||||
| 
 |  | ||||||
| -- vim-maximizer |  | ||||||
| keymap.set("n", "<leader>sm", ":MaximizerToggle<CR>") -- toggle split window maximization |  | ||||||
| 
 |  | ||||||
| -- nvim-tree |  | ||||||
| keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>") -- toggle file explorer |  | ||||||
| 
 |  | ||||||
| -- telescope |  | ||||||
| keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>") -- find files within current working directory, respects .gitignore |  | ||||||
| keymap.set("n", "<leader>fs", "<cmd>Telescope live_grep<cr>") -- find string in current working directory as you type |  | ||||||
| keymap.set("n", "<leader>fc", "<cmd>Telescope grep_string<cr>") -- find string under cursor in current working directory |  | ||||||
| keymap.set("n", "<leader>fb", "<cmd>Telescope buffers<cr>") -- list open buffers in current neovim instance |  | ||||||
| keymap.set("n", "<leader>fh", "<cmd>Telescope help_tags<cr>") -- list available help tags |  | ||||||
| 
 |  | ||||||
| -- telescope git commands |  | ||||||
| keymap.set("n", "<leader>gc", "<cmd>Telescope git_commits<cr>") -- list all git commits (use <cr> to checkout) ["gc" for git commits] |  | ||||||
| keymap.set("n", "<leader>gfc", "<cmd>Telescope git_bcommits<cr>") -- list git commits for current file/buffer (use <cr> to checkout) ["gfc" for git file commits] |  | ||||||
| keymap.set("n", "<leader>gb", "<cmd>Telescope git_branches<cr>") -- list git branches (use <cr> to checkout) ["gb" for git branch] |  | ||||||
| keymap.set("n", "<leader>gs", "<cmd>Telescope git_status<cr>") -- list current changes per file with diff preview ["gs" for git status] |  | ||||||
|  | @ -1,41 +0,0 @@ | ||||||
| local opt = vim.opt -- for conciseness |  | ||||||
| 
 |  | ||||||
| -- line numbers |  | ||||||
| opt.relativenumber = true -- show relative line numbers |  | ||||||
| opt.number = true -- shows absolute line number on cursor line (when relative number is on) |  | ||||||
| 
 |  | ||||||
| -- tabs & indentation |  | ||||||
| opt.tabstop = 2 -- 2 spaces for tabs (prettier default) |  | ||||||
| opt.shiftwidth = 2 -- 2 spaces for indent width |  | ||||||
| opt.expandtab = true -- expand tab to spaces |  | ||||||
| opt.autoindent = true -- copy indent from current line when starting new one |  | ||||||
| 
 |  | ||||||
| -- line wrapping |  | ||||||
| opt.wrap = false -- disable line wrapping |  | ||||||
| 
 |  | ||||||
| -- search settings |  | ||||||
| opt.ignorecase = true -- ignore case when searching |  | ||||||
| opt.smartcase = true -- if you include mixed case in your search, assumes you want case-sensitive |  | ||||||
| 
 |  | ||||||
| -- cursor line |  | ||||||
| opt.cursorline = true -- highlight the current cursor line |  | ||||||
| 
 |  | ||||||
| -- appearance |  | ||||||
| 
 |  | ||||||
| -- turn on termguicolors for nightfly colorscheme to work |  | ||||||
| -- (have to use iterm2 or any other true color terminal) |  | ||||||
| opt.termguicolors = true |  | ||||||
| opt.background = "dark" -- colorschemes that can be light or dark will be made dark |  | ||||||
| opt.signcolumn = "yes" -- show sign column so that text doesn't shift |  | ||||||
| 
 |  | ||||||
| -- backspace |  | ||||||
| opt.backspace = "indent,eol,start" -- allow backspace on indent, end of line or insert mode start position |  | ||||||
| 
 |  | ||||||
| -- clipboard |  | ||||||
| opt.clipboard:append("unnamedplus") -- use system clipboard as default register |  | ||||||
| 
 |  | ||||||
| -- split windows |  | ||||||
| opt.splitright = true -- split vertical window to the right |  | ||||||
| opt.splitbelow = true -- split horizontal window to the bottom |  | ||||||
| 
 |  | ||||||
| opt.iskeyword:append("-") -- consider string-string as whole word |  | ||||||
|  | @ -1,109 +0,0 @@ | ||||||
| -- auto install packer if not installed |  | ||||||
| local ensure_packer = function() |  | ||||||
| 	local fn = vim.fn |  | ||||||
| 	local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" |  | ||||||
| 	if fn.empty(fn.glob(install_path)) > 0 then |  | ||||||
| 		fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }) |  | ||||||
| 		vim.cmd([[packadd packer.nvim]]) |  | ||||||
| 		return true |  | ||||||
| 	end |  | ||||||
| 	return false |  | ||||||
| end |  | ||||||
| local packer_bootstrap = ensure_packer() -- true if packer was just installed |  | ||||||
| 
 |  | ||||||
| -- autocommand that reloads neovim and installs/updates/removes plugins |  | ||||||
| -- when file is saved |  | ||||||
| vim.cmd([[  |  | ||||||
|   augroup packer_user_config |  | ||||||
|     autocmd! |  | ||||||
|     autocmd BufWritePost plugins-setup.lua source <afile> | PackerSync |  | ||||||
|   augroup end |  | ||||||
| ]]) |  | ||||||
| 
 |  | ||||||
| -- import packer safely |  | ||||||
| local status, packer = pcall(require, "packer") |  | ||||||
| if not status then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- add list of plugins to install |  | ||||||
| return packer.startup(function(use) |  | ||||||
| 	-- packer can manage itself |  | ||||||
| 	use("wbthomason/packer.nvim") |  | ||||||
| 
 |  | ||||||
| 	use("nvim-lua/plenary.nvim") -- lua functions that many plugins use |  | ||||||
| 
 |  | ||||||
| 	use("bluz71/vim-nightfly-guicolors") -- preferred colorscheme |  | ||||||
| 
 |  | ||||||
| 	use("christoomey/vim-tmux-navigator") -- tmux & split window navigation |  | ||||||
| 
 |  | ||||||
| 	use("szw/vim-maximizer") -- maximizes and restores current window |  | ||||||
| 
 |  | ||||||
| 	-- essential plugins |  | ||||||
| 	use("tpope/vim-surround") -- add, delete, change surroundings (it's awesome) |  | ||||||
| 	use("inkarkat/vim-ReplaceWithRegister") -- replace with register contents using motion (gr + motion) |  | ||||||
| 
 |  | ||||||
| 	-- commenting with gc |  | ||||||
| 	use("numToStr/Comment.nvim") |  | ||||||
| 
 |  | ||||||
| 	-- file explorer |  | ||||||
| 	use("nvim-tree/nvim-tree.lua") |  | ||||||
| 
 |  | ||||||
| 	-- vs-code like icons |  | ||||||
| 	use("nvim-tree/nvim-web-devicons") |  | ||||||
| 
 |  | ||||||
| 	-- statusline |  | ||||||
| 	use("nvim-lualine/lualine.nvim") |  | ||||||
| 
 |  | ||||||
| 	-- fuzzy finding w/ telescope |  | ||||||
| 	use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" }) -- dependency for better sorting performance |  | ||||||
| 	use({ "nvim-telescope/telescope.nvim", tag = "0.1.0" }) -- fuzzy finder |  | ||||||
| 
 |  | ||||||
| 	-- autocompletion |  | ||||||
| 	use("hrsh7th/nvim-cmp") -- completion plugin |  | ||||||
| 	use("hrsh7th/cmp-buffer") -- source for text in buffer |  | ||||||
| 	use("hrsh7th/cmp-path") -- source for file system paths |  | ||||||
| 
 |  | ||||||
| 	-- snippets |  | ||||||
| 	use("L3MON4D3/LuaSnip") -- snippet engine |  | ||||||
| 	use("saadparwaiz1/cmp_luasnip") -- for autocompletion |  | ||||||
| 	use("rafamadriz/friendly-snippets") -- useful snippets |  | ||||||
| 
 |  | ||||||
| 	-- managing & installing lsp servers, linters & formatters |  | ||||||
| 	use("williamboman/mason.nvim") -- in charge of managing lsp servers, linters & formatters |  | ||||||
| 	use("williamboman/mason-lspconfig.nvim") -- bridges gap b/w mason & lspconfig |  | ||||||
| 
 |  | ||||||
| 	-- configuring lsp servers |  | ||||||
| 	use("neovim/nvim-lspconfig") -- easily configure language servers |  | ||||||
| 	use("hrsh7th/cmp-nvim-lsp") -- for autocompletion |  | ||||||
| 	use({ "glepnir/lspsaga.nvim", branch = "main" }) -- enhanced lsp uis |  | ||||||
| 	use("jose-elias-alvarez/typescript.nvim") -- additional functionality for typescript server (e.g. rename file & update imports) |  | ||||||
| 	use("onsails/lspkind.nvim") -- vs-code like icons for autocompletion |  | ||||||
| 
 |  | ||||||
| 	-- formatting & linting |  | ||||||
| 	use("jose-elias-alvarez/null-ls.nvim") -- configure formatters & linters |  | ||||||
| 	use("jayp0521/mason-null-ls.nvim") -- bridges gap b/w mason & null-ls |  | ||||||
| 
 |  | ||||||
| 	-- treesitter configuration |  | ||||||
| 	use({ |  | ||||||
| 		"nvim-treesitter/nvim-treesitter", |  | ||||||
| 		run = function() |  | ||||||
| 			local ts_update = require("nvim-treesitter.install").update({ with_sync = true }) |  | ||||||
| 			ts_update() |  | ||||||
| 		end, |  | ||||||
| 	}) |  | ||||||
| 
 |  | ||||||
| 	-- auto closing |  | ||||||
| 	use("windwp/nvim-autopairs") -- autoclose parens, brackets, quotes, etc... |  | ||||||
| 	use({ "windwp/nvim-ts-autotag", after = "nvim-treesitter" }) -- autoclose tags |  | ||||||
| 
 |  | ||||||
| 	-- git integration |  | ||||||
| 	use("lewis6991/gitsigns.nvim") -- show line modifications on left hand side |  | ||||||
| 
 |  | ||||||
| 	-- discord rpc |  | ||||||
| 	use("andweeb/presence.nvim") |  | ||||||
| 
 |  | ||||||
| 	if packer_bootstrap then |  | ||||||
| 		require("packer").sync() |  | ||||||
| 	end |  | ||||||
| end) |  | ||||||
|  | @ -1,29 +0,0 @@ | ||||||
| local autopairs_setup, autopairs = pcall(require, "nvim-autopairs") |  | ||||||
| if not autopairs_setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- configure autopairs |  | ||||||
| autopairs.setup({ |  | ||||||
|   check_ts = true, -- enable treesitter |  | ||||||
|   ts_config = { |  | ||||||
|     lua = { "string" }, -- don't add pairs in lua string treesitter nodes |  | ||||||
|     javascript = { "template_string" }, -- don't add pairs in javscript template_string treesitter nodes |  | ||||||
|     java = false, -- don't check treesitter on java |  | ||||||
|   }, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| -- import nvim-autopairs completion functionality safely |  | ||||||
| local cmp_autopairs_setup, cmp_autopairs = pcall(require, "nvim-autopairs.completion.cmp") |  | ||||||
| if not cmp_autopairs_setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import nvim-cmp plugin safely (completions plugin) |  | ||||||
| local cmp_setup, cmp = pcall(require, "cmp") |  | ||||||
| if not cmp_setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- make autopairs and completion work together |  | ||||||
| cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) |  | ||||||
|  | @ -1,8 +0,0 @@ | ||||||
| -- import comment |  | ||||||
| local setup, comment = pcall(require, "Comment") |  | ||||||
| if not setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- enable comment |  | ||||||
| comment.setup() |  | ||||||
|  | @ -1,23 +0,0 @@ | ||||||
| require("presence"):setup({ |  | ||||||
| 	-- General options |  | ||||||
| 	auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`) |  | ||||||
| 	neovim_image_text = "The One True Text Editor", -- Text displayed when hovered over the Neovim image |  | ||||||
| 	main_image = "neovim", -- Main image display (either "neovim" or "file") |  | ||||||
| 	client_id = "793271441293967371", -- Use your own Discord application client id (not recommended) |  | ||||||
| 	log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error") |  | ||||||
| 	debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`) |  | ||||||
| 	enable_line_number = false, -- Displays the current line number instead of the current project |  | ||||||
| 	blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches |  | ||||||
| 	buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table) |  | ||||||
| 	file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference) |  | ||||||
| 	show_time = true, -- Show the timer |  | ||||||
| 
 |  | ||||||
| 	-- Rich Presence text options |  | ||||||
| 	editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string) |  | ||||||
| 	file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string) |  | ||||||
| 	git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string) |  | ||||||
| 	plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string) |  | ||||||
| 	reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string) |  | ||||||
| 	workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string) |  | ||||||
| 	line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string) |  | ||||||
| }) |  | ||||||
|  | @ -1,8 +0,0 @@ | ||||||
| -- import gitsigns plugin safely |  | ||||||
| local setup, gitsigns = pcall(require, "gitsigns") |  | ||||||
| if not setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- configure/enable gitsigns |  | ||||||
| gitsigns.setup() |  | ||||||
|  | @ -1,111 +0,0 @@ | ||||||
| -- import lspconfig plugin safely |  | ||||||
| local lspconfig_status, lspconfig = pcall(require, "lspconfig") |  | ||||||
| if not lspconfig_status then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import cmp-nvim-lsp plugin safely |  | ||||||
| local cmp_nvim_lsp_status, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") |  | ||||||
| if not cmp_nvim_lsp_status then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import typescript plugin safely |  | ||||||
| local typescript_setup, typescript = pcall(require, "typescript") |  | ||||||
| if not typescript_setup then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| local keymap = vim.keymap -- for conciseness |  | ||||||
| 
 |  | ||||||
| -- enable keybinds only for when lsp server available |  | ||||||
| local on_attach = function(client, bufnr) |  | ||||||
| 	-- keybind options |  | ||||||
| 	local opts = { noremap = true, silent = true, buffer = bufnr } |  | ||||||
| 
 |  | ||||||
| 	-- set keybinds |  | ||||||
| 	keymap.set("n", "gf", "<cmd>Lspsaga lsp_finder<CR>", opts) -- show definition, references |  | ||||||
| 	keymap.set("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts) -- got to declaration |  | ||||||
| 	keymap.set("n", "gd", "<cmd>Lspsaga peek_definition<CR>", opts) -- see definition and make edits in window |  | ||||||
| 	keymap.set("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts) -- go to implementation |  | ||||||
| 	keymap.set("n", "<leader>ca", "<cmd>Lspsaga code_action<CR>", opts) -- see available code actions |  | ||||||
| 	keymap.set("n", "<leader>rn", "<cmd>Lspsaga rename<CR>", opts) -- smart rename |  | ||||||
| 	keymap.set("n", "<leader>D", "<cmd>Lspsaga show_line_diagnostics<CR>", opts) -- show  diagnostics for line |  | ||||||
| 	keymap.set("n", "<leader>d", "<cmd>Lspsaga show_cursor_diagnostics<CR>", opts) -- show diagnostics for cursor |  | ||||||
| 	keymap.set("n", "[d", "<cmd>Lspsaga diagnostic_jump_prev<CR>", opts) -- jump to previous diagnostic in buffer |  | ||||||
| 	keymap.set("n", "]d", "<cmd>Lspsaga diagnostic_jump_next<CR>", opts) -- jump to next diagnostic in buffer |  | ||||||
| 	keymap.set("n", "K", "<cmd>Lspsaga hover_doc<CR>", opts) -- show documentation for what is under cursor |  | ||||||
| 	keymap.set("n", "<leader>o", "<cmd>LSoutlineToggle<CR>", opts) -- see outline on right hand side |  | ||||||
| 
 |  | ||||||
| 	-- typescript specific keymaps (e.g. rename file and update imports) |  | ||||||
| 	if client.name == "tsserver" then |  | ||||||
| 		keymap.set("n", "<leader>rf", ":TypescriptRenameFile<CR>") -- rename file and update imports |  | ||||||
| 		keymap.set("n", "<leader>oi", ":TypescriptOrganizeImports<CR>") -- organize imports (not in youtube nvim video) |  | ||||||
| 		keymap.set("n", "<leader>ru", ":TypescriptRemoveUnused<CR>") -- remove unused variables (not in youtube nvim video) |  | ||||||
| 	end |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- used to enable autocompletion (assign to every lsp server config) |  | ||||||
| local capabilities = cmp_nvim_lsp.default_capabilities() |  | ||||||
| 
 |  | ||||||
| -- Change the Diagnostic symbols in the sign column (gutter) |  | ||||||
| -- (not in youtube nvim video) |  | ||||||
| local signs = { Error = " ", Warn = " ", Hint = "ﴞ ", Info = " " } |  | ||||||
| for type, icon in pairs(signs) do |  | ||||||
| 	local hl = "DiagnosticSign" .. type |  | ||||||
| 	vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- configure html server |  | ||||||
| lspconfig["html"].setup({ |  | ||||||
| 	capabilities = capabilities, |  | ||||||
| 	on_attach = on_attach, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| -- configure typescript server with plugin |  | ||||||
| typescript.setup({ |  | ||||||
| 	server = { |  | ||||||
| 		capabilities = capabilities, |  | ||||||
| 		on_attach = on_attach, |  | ||||||
| 	}, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| -- configure css server |  | ||||||
| lspconfig["cssls"].setup({ |  | ||||||
| 	capabilities = capabilities, |  | ||||||
| 	on_attach = on_attach, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| -- configure tailwindcss server |  | ||||||
| lspconfig["tailwindcss"].setup({ |  | ||||||
| 	capabilities = capabilities, |  | ||||||
| 	on_attach = on_attach, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| -- configure emmet language server |  | ||||||
| lspconfig["emmet_ls"].setup({ |  | ||||||
| 	capabilities = capabilities, |  | ||||||
| 	on_attach = on_attach, |  | ||||||
| 	filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte" }, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| -- configure lua server (with special settings) |  | ||||||
| lspconfig["lua_ls"].setup({ |  | ||||||
| 	capabilities = capabilities, |  | ||||||
| 	on_attach = on_attach, |  | ||||||
| 	settings = { -- custom settings for lua |  | ||||||
| 		Lua = { |  | ||||||
| 			-- make the language server recognize "vim" global |  | ||||||
| 			diagnostics = { |  | ||||||
| 				globals = { "vim" }, |  | ||||||
| 			}, |  | ||||||
| 			workspace = { |  | ||||||
| 				-- make language server aware of runtime files |  | ||||||
| 				library = { |  | ||||||
| 					[vim.fn.expand("$VIMRUNTIME/lua")] = true, |  | ||||||
| 					[vim.fn.stdpath("config") .. "/lua"] = true, |  | ||||||
| 				}, |  | ||||||
| 			}, |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| }) |  | ||||||
|  | @ -1,44 +0,0 @@ | ||||||
| -- import mason plugin safely |  | ||||||
| local mason_status, mason = pcall(require, "mason") |  | ||||||
| if not mason_status then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import mason-lspconfig plugin safely |  | ||||||
| local mason_lspconfig_status, mason_lspconfig = pcall(require, "mason-lspconfig") |  | ||||||
| if not mason_lspconfig_status then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import mason-null-ls plugin safely |  | ||||||
| local mason_null_ls_status, mason_null_ls = pcall(require, "mason-null-ls") |  | ||||||
| if not mason_null_ls_status then |  | ||||||
| 	return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- enable mason |  | ||||||
| mason.setup() |  | ||||||
| 
 |  | ||||||
| mason_lspconfig.setup({ |  | ||||||
| 	-- list of servers for mason to install |  | ||||||
| 	ensure_installed = { |  | ||||||
| 		"tsserver", |  | ||||||
| 		"html", |  | ||||||
| 		"cssls", |  | ||||||
| 		"tailwindcss", |  | ||||||
| 		"emmet_ls", |  | ||||||
| 	}, |  | ||||||
| 	-- auto-install configured servers (with lspconfig) |  | ||||||
| 	automatic_installation = true, -- not the same as ensure_installed |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| mason_null_ls.setup({ |  | ||||||
| 	-- list of formatters & linters for mason to install |  | ||||||
| 	ensure_installed = { |  | ||||||
| 		"prettier", -- ts/js formatter |  | ||||||
| 		"stylua", -- lua formatter |  | ||||||
| 		"eslint_d", -- ts/js linter |  | ||||||
| 	}, |  | ||||||
| 	-- auto-install configured formatters & linters (with null-ls) |  | ||||||
| 	automatic_installation = true, |  | ||||||
| }) |  | ||||||
|  | @ -1,48 +0,0 @@ | ||||||
| -- import null-ls plugin safely |  | ||||||
| local setup, null_ls = pcall(require, "null-ls") |  | ||||||
| if not setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- for conciseness |  | ||||||
| local formatting = null_ls.builtins.formatting -- to setup formatters |  | ||||||
| local diagnostics = null_ls.builtins.diagnostics -- to setup linters |  | ||||||
| 
 |  | ||||||
| -- to setup format on save |  | ||||||
| local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) |  | ||||||
| 
 |  | ||||||
| -- configure null_ls |  | ||||||
| null_ls.setup({ |  | ||||||
|   -- setup formatters & linters |  | ||||||
|   sources = { |  | ||||||
|     --  to disable file types use |  | ||||||
|     --  "formatting.prettier.with({disabled_filetypes: {}})" (see null-ls docs) |  | ||||||
|     formatting.prettier, -- js/ts formatter |  | ||||||
|     formatting.stylua, -- lua formatter |  | ||||||
|     diagnostics.eslint_d.with({ -- js/ts linter |  | ||||||
|       -- only enable eslint if root has .eslintrc.js (not in youtube nvim video) |  | ||||||
|       condition = function(utils) |  | ||||||
|         return utils.root_has_file(".eslintrc.js") -- change file extension if you use something else |  | ||||||
|       end, |  | ||||||
|     }), |  | ||||||
|   }, |  | ||||||
|   -- configure format on save |  | ||||||
|   on_attach = function(current_client, bufnr) |  | ||||||
|     if current_client.supports_method("textDocument/formatting") then |  | ||||||
|       vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) |  | ||||||
|       vim.api.nvim_create_autocmd("BufWritePre", { |  | ||||||
|         group = augroup, |  | ||||||
|         buffer = bufnr, |  | ||||||
|         callback = function() |  | ||||||
|           vim.lsp.buf.format({ |  | ||||||
|             filter = function(client) |  | ||||||
|               --  only use null-ls for formatting instead of lsp server |  | ||||||
|               return client.name == "null-ls" |  | ||||||
|             end, |  | ||||||
|             bufnr = bufnr, |  | ||||||
|           }) |  | ||||||
|         end, |  | ||||||
|       }) |  | ||||||
|     end |  | ||||||
|   end, |  | ||||||
| }) |  | ||||||
|  | @ -1,36 +0,0 @@ | ||||||
| -- import lualine plugin safely |  | ||||||
| local status, lualine = pcall(require, "lualine") |  | ||||||
| if not status then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- get lualine nightfly theme |  | ||||||
| local lualine_nightfly = require("lualine.themes.nightfly") |  | ||||||
| 
 |  | ||||||
| -- new colors for theme |  | ||||||
| local new_colors = { |  | ||||||
|   blue = "#65D1FF", |  | ||||||
|   green = "#3EFFDC", |  | ||||||
|   violet = "#FF61EF", |  | ||||||
|   yellow = "#FFDA7B", |  | ||||||
|   black = "#000000", |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| -- change nightlfy theme colors |  | ||||||
| lualine_nightfly.normal.a.bg = new_colors.blue |  | ||||||
| lualine_nightfly.insert.a.bg = new_colors.green |  | ||||||
| lualine_nightfly.visual.a.bg = new_colors.violet |  | ||||||
| lualine_nightfly.command = { |  | ||||||
|   a = { |  | ||||||
|     gui = "bold", |  | ||||||
|     bg = new_colors.yellow, |  | ||||||
|     fg = new_colors.black, -- black |  | ||||||
|   }, |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| -- configure lualine with modified theme |  | ||||||
| lualine.setup({ |  | ||||||
|   options = { |  | ||||||
|     theme = lualine_nightfly, |  | ||||||
|   }, |  | ||||||
| }) |  | ||||||
|  | @ -1,53 +0,0 @@ | ||||||
| -- import nvim-cmp plugin safely |  | ||||||
| local cmp_status, cmp = pcall(require, "cmp") |  | ||||||
| if not cmp_status then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import luasnip plugin safely |  | ||||||
| local luasnip_status, luasnip = pcall(require, "luasnip") |  | ||||||
| if not luasnip_status then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import lspkind plugin safely |  | ||||||
| local lspkind_status, lspkind = pcall(require, "lspkind") |  | ||||||
| if not lspkind_status then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- load vs-code like snippets from plugins (e.g. friendly-snippets) |  | ||||||
| require("luasnip/loaders/from_vscode").lazy_load() |  | ||||||
| 
 |  | ||||||
| vim.opt.completeopt = "menu,menuone,noselect" |  | ||||||
| 
 |  | ||||||
| cmp.setup({ |  | ||||||
|   snippet = { |  | ||||||
|     expand = function(args) |  | ||||||
|       luasnip.lsp_expand(args.body) |  | ||||||
|     end, |  | ||||||
|   }, |  | ||||||
|   mapping = cmp.mapping.preset.insert({ |  | ||||||
|     ["<C-k>"] = cmp.mapping.select_prev_item(), -- previous suggestion |  | ||||||
|     ["<C-j>"] = cmp.mapping.select_next_item(), -- next suggestion |  | ||||||
|     ["<C-b>"] = cmp.mapping.scroll_docs(-4), |  | ||||||
|     ["<C-f>"] = cmp.mapping.scroll_docs(4), |  | ||||||
|     ["<C-Space>"] = cmp.mapping.complete(), -- show completion suggestions |  | ||||||
|     ["<C-e>"] = cmp.mapping.abort(), -- close completion window |  | ||||||
|     ["<CR>"] = cmp.mapping.confirm({ select = false }), |  | ||||||
|   }), |  | ||||||
|   -- sources for autocompletion |  | ||||||
|   sources = cmp.config.sources({ |  | ||||||
|     { name = "nvim_lsp" }, -- lsp |  | ||||||
|     { name = "luasnip" }, -- snippets |  | ||||||
|     { name = "buffer" }, -- text within current buffer |  | ||||||
|     { name = "path" }, -- file system paths |  | ||||||
|   }), |  | ||||||
|   -- configure lspkind for vs-code like icons |  | ||||||
|   formatting = { |  | ||||||
|     format = lspkind.cmp_format({ |  | ||||||
|       maxwidth = 50, |  | ||||||
|       ellipsis_char = "...", |  | ||||||
|     }), |  | ||||||
|   }, |  | ||||||
| }) |  | ||||||
|  | @ -1,35 +0,0 @@ | ||||||
| -- import nvim-tree plugin safely |  | ||||||
| local setup, nvimtree = pcall(require, "nvim-tree") |  | ||||||
| if not setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- settings passed of nvim-tree documentation |  | ||||||
| vim.g.loaded_netrw = 1 |  | ||||||
| vim.g.loaded_netrwPlugin = 1 |  | ||||||
| 
 |  | ||||||
| -- colorscheme for arrows in tree to a light blue |  | ||||||
| vim.cmd([[ highlight NvimTreeIndentMarker guifg=#3FC5FF ]]) |  | ||||||
| 
 |  | ||||||
| -- config nvim-tree |  | ||||||
| nvimtree.setup({ |  | ||||||
|   -- folder arrow icons |  | ||||||
|   renderer = { |  | ||||||
|     icons = { |  | ||||||
|       glyphs = { |  | ||||||
|         folder = { |  | ||||||
|           arrow_closed = " ",  |  | ||||||
|           arrow_open = " ", |  | ||||||
|         }, |  | ||||||
|       }, |  | ||||||
|     }, |  | ||||||
|   }, |  | ||||||
|   -- no window_picker for explorer |  | ||||||
|   actions = { |  | ||||||
|     open_file = { |  | ||||||
|       window_picker = { |  | ||||||
|         enable = false, |  | ||||||
|       }, |  | ||||||
|     }, |  | ||||||
|   }, |  | ||||||
| }) |  | ||||||
|  | @ -1,26 +0,0 @@ | ||||||
| -- import telescope |  | ||||||
| local telescope_setup, telescope = pcall(require, "telescope") |  | ||||||
| if not telescope_setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- import teleport actions |  | ||||||
| local actions_setup, actions = pcall(require, "telescope.actions") |  | ||||||
| if not actions_setup then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- config |  | ||||||
| telescope.setup({ |  | ||||||
|   defaults = { |  | ||||||
|     mappings = { |  | ||||||
|       i = { |  | ||||||
|         ["<C-k>"] = actions.move_selection_previous, |  | ||||||
|         ["<C-j>"] = actions.move_selection_next, |  | ||||||
|         ["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist, |  | ||||||
|       }, |  | ||||||
|     }, |  | ||||||
|   }, |  | ||||||
| }) |  | ||||||
| 
 |  | ||||||
| telescope.load_extension("fzf") |  | ||||||
|  | @ -1,37 +0,0 @@ | ||||||
| -- import nvim-treesitter plugin safely |  | ||||||
| local status, treesitter = pcall(require, "nvim-treesitter.configs") |  | ||||||
| if not status then |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| -- configure treesitter |  | ||||||
| treesitter.setup({ |  | ||||||
|   -- enable syntax highlighting |  | ||||||
|   highlight = { |  | ||||||
|     enable = true, |  | ||||||
|   }, |  | ||||||
|   -- enable indentation |  | ||||||
|   indent = { enable = true }, |  | ||||||
|   -- enable autotagging (w/ nvim-ts-autotag plugin) |  | ||||||
|   autotag = { enable = true }, |  | ||||||
|   -- ensure these language parsers are installed |  | ||||||
|   ensure_installed = { |  | ||||||
|     "json", |  | ||||||
|     "javascript", |  | ||||||
|     "typescript", |  | ||||||
|     "tsx", |  | ||||||
|     "yaml", |  | ||||||
|     "html", |  | ||||||
|     "css", |  | ||||||
|     "markdown", |  | ||||||
|     "svelte", |  | ||||||
|     "graphql", |  | ||||||
|     "bash", |  | ||||||
|     "lua", |  | ||||||
|     "vim", |  | ||||||
|     "dockerfile", |  | ||||||
|     "gitignore", |  | ||||||
|   }, |  | ||||||
|   -- auto install above language parsers |  | ||||||
|   auto_install = true, |  | ||||||
| }) |  | ||||||
							
								
								
									
										18
									
								
								nvim/lua/config/autocmds.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								nvim/lua/config/autocmds.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | ||||||
|  | -- 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 | ||||||
|  | 
 | ||||||
|  | -- turn off paste mode when leaving insert | ||||||
|  | vim.api.nvim_create_autocmd("InsertLeave", { | ||||||
|  |   pattern = "*", | ||||||
|  |   command = "set nopaste", | ||||||
|  | }) | ||||||
|  | 
 | ||||||
|  | -- fix conceallevel for json files | ||||||
|  | vim.api.nvim_create_autocmd("FileType", { | ||||||
|  |   pattern = { "json", "jsonc" }, | ||||||
|  |   callback = function() | ||||||
|  |     vim.wo.spell = false | ||||||
|  |     vim.wo.conceallevel = 0 | ||||||
|  |   end, | ||||||
|  | }) | ||||||
							
								
								
									
										162
									
								
								nvim/lua/config/keymaps.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								nvim/lua/config/keymaps.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,162 @@ | ||||||
|  | -- 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 | ||||||
|  | 
 | ||||||
|  | -- local discipline = require("jeremydwayne.discipline") | ||||||
|  | -- discipline.cowboy() | ||||||
|  | 
 | ||||||
|  | local keymap = vim.keymap | ||||||
|  | local opts = { noremap = true, silent = true } | ||||||
|  | 
 | ||||||
|  | -- Increment/Decrement | ||||||
|  | keymap.set("n", "+", "<C-a") | ||||||
|  | keymap.set("n", "-", "<C-x") | ||||||
|  | 
 | ||||||
|  | -- delete word backwards | ||||||
|  | keymap.set("n", "dw", "vb_d") | ||||||
|  | 
 | ||||||
|  | -- select all | ||||||
|  | keymap.set("n", "<C-a>", "gg<S-v>G") | ||||||
|  | 
 | ||||||
|  | -- jumplist | ||||||
|  | keymap.set("n", "<C-m>", "<C-i>", opts) | ||||||
|  | 
 | ||||||
|  | -- New Tab | ||||||
|  | keymap.set("n", "te", ":tabedit<Return>", opts) | ||||||
|  | -- keymap.set("n", "<tab>", ":tabnext<Return>", opts) | ||||||
|  | -- keymap.set("n", "<s-tab>", ":tabprev<Return>", opts) | ||||||
|  | -- keymap.set("n", "<leader>bd", ":bd<Return>", opts) | ||||||
|  | 
 | ||||||
|  | -- Split window | ||||||
|  | keymap.set("n", "<leader>ss", ":split<Return>", opts) | ||||||
|  | keymap.set("n", "<leader>sv", ":vsplit<Return>", opts) | ||||||
|  | 
 | ||||||
|  | -- Move window | ||||||
|  | keymap.set("n", "<leader>sh", "<C-w>h") | ||||||
|  | keymap.set("n", "<leader>sk", "<C-w>k") | ||||||
|  | keymap.set("n", "<leader>sj", "<C-w>j") | ||||||
|  | keymap.set("n", "<leader>sl", "<C-w>l") | ||||||
|  | 
 | ||||||
|  | -- Resize window | ||||||
|  | keymap.set("n", "<C-w><left>", "<C-w><") | ||||||
|  | keymap.set("n", "<C-w><right>", "<C-w>>") | ||||||
|  | keymap.set("n", "<C-w><up>", "<C-w>+") | ||||||
|  | keymap.set("n", "<C-w><down>", "<C-w>-") | ||||||
|  | 
 | ||||||
|  | -- Diagnostics | ||||||
|  | keymap.set("n", "<C-j>", function() | ||||||
|  |   vim.diagnostic.goto_next() | ||||||
|  | end, opts) | ||||||
|  | keymap.set("n", "<C-f>", function() | ||||||
|  |   vim.diagnostic.goto_prev() | ||||||
|  | end, opts) | ||||||
|  | 
 | ||||||
|  | keymap.set("n", ":W", vim.cmd.w) | ||||||
|  | keymap.set("n", ":Wq", vim.cmd.wq) | ||||||
|  | keymap.set("n", ":Q", vim.cmd.q) | ||||||
|  | keymap.set("n", "<leader>so", vim.cmd.so) | ||||||
|  | keymap.set("n", "<leader>pv", vim.cmd.Ex) | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "<leader>bd", "<cmd>bd!<cr>") | ||||||
|  | 
 | ||||||
|  | -- option key movement on macos | ||||||
|  | keymap.set("n", "∆", ":m .+1<CR>==") | ||||||
|  | keymap.set("n", "˚", ":m .-2<CR>==") | ||||||
|  | keymap.set("i", "∆", "<Esc>:m .+1<CR>==gi") | ||||||
|  | keymap.set("i", "˚", "<Esc>:m .-2<CR>==gi") | ||||||
|  | keymap.set("v", "∆", ":m '>+1<CR>gv=gv") | ||||||
|  | keymap.set("v", "˚", ":m '<-2<CR>gv=gv") | ||||||
|  | -- alt key movement | ||||||
|  | keymap.set("n", "<A-j>", ":m .+1<CR>==") | ||||||
|  | keymap.set("n", "<A-k>", ":m .-2<CR>==") | ||||||
|  | keymap.set("i", "<A-j>", "<Esc>:m .+1<CR>==gi") | ||||||
|  | keymap.set("i", "<A-k>", "<Esc>:m .-2<CR>==gi") | ||||||
|  | keymap.set("v", "<A-j>", ":m '>+1<CR>gv=gv") | ||||||
|  | keymap.set("v", "<A-k>", ":m '<-2<CR>gv=gv") | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "J", "mzJ`z") | ||||||
|  | keymap.set("n", "<C-d>", "<C-d>zz") | ||||||
|  | keymap.set("n", "<C-u>", "<C-u>zz") | ||||||
|  | keymap.set("n", "n", "nzzzv") | ||||||
|  | keymap.set("n", "N", "Nzzzv") | ||||||
|  | 
 | ||||||
|  | -- system yank and paste | ||||||
|  | keymap.set("x", "<leader>p", '"_dP') | ||||||
|  | keymap.set("n", "<leader>y", '"+y') | ||||||
|  | keymap.set("v", "<leader>y", '"+y') | ||||||
|  | keymap.set("n", "<leader>Y", '"+Y') | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "<leader>d", '"_d') | ||||||
|  | keymap.set("v", "<leader>d", '"_d') | ||||||
|  | 
 | ||||||
|  | -- escape vertical edit mode gracefully | ||||||
|  | keymap.set("i", "<C-c>", "<Esc>") | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "Q", "<nop>") | ||||||
|  | 
 | ||||||
|  | -- search for word cursor is on | ||||||
|  | keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>") | ||||||
|  | 
 | ||||||
|  | -- make current file executable (shell scripts) | ||||||
|  | keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true }) | ||||||
|  | 
 | ||||||
|  | -- bufferline tabs | ||||||
|  | keymap.set("n", "<S-l>", "<cmd>BufferLineCycleNext<CR>") | ||||||
|  | keymap.set("n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>") | ||||||
|  | keymap.set("n", "<leader>bn", "<cmd>BufferLineMoveNext<CR>") | ||||||
|  | keymap.set("n", "<leader>bp", "<cmd>BufferLineMovePrev<CR>") | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "<C-n>", "<cmd>Neotree toggle reveal<CR>") | ||||||
|  | 
 | ||||||
|  | -- nvim dap | ||||||
|  | keymap.set("n", "<leader>db", "<cmd> DapToggleBreakpoint <CR>") | ||||||
|  | keymap.set("n", "<leader>dus", function() | ||||||
|  |   local widgets = require("dap.ui.widgets") | ||||||
|  |   local sidebar = widgets.sidebar(widgets.scopes) | ||||||
|  |   sidebar.open() | ||||||
|  | end) | ||||||
|  | -- dap-go | ||||||
|  | keymap.set("n", "<leader>dgt", function() | ||||||
|  |   require("dap-go").debug_test() | ||||||
|  | end) | ||||||
|  | keymap.set("n", "<leader>dgl", function() | ||||||
|  |   require("dap-go").debug_last() | ||||||
|  | end) | ||||||
|  | 
 | ||||||
|  | -- gopher | ||||||
|  | keymap.set("n", "<leader>gsj", "<cmd> GoTagAdd json<CR>") | ||||||
|  | keymap.set("n", "<leader>ger", "<cmd> GoIfErr<CR>") | ||||||
|  | keymap.set("n", "<leader>gtg", "<cmd> GoTestsAll<CR>") | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "<leader>rn", ":IncRename ") | ||||||
|  | 
 | ||||||
|  | -- Refactoring | ||||||
|  | keymap.set("x", "<leader>re", function() | ||||||
|  |   require("refactoring").refactor("Extract Function") | ||||||
|  | end) | ||||||
|  | keymap.set("x", "<leader>rf", function() | ||||||
|  |   require("refactoring").refactor("Extract Function To File") | ||||||
|  | end) | ||||||
|  | -- Extract function supports only visual mode | ||||||
|  | keymap.set("x", "<leader>rv", function() | ||||||
|  |   require("refactoring").refactor("Extract Variable") | ||||||
|  | end) | ||||||
|  | -- Extract variable supports only visual mode | ||||||
|  | keymap.set("n", "<leader>rI", function() | ||||||
|  |   require("refactoring").refactor("Inline Function") | ||||||
|  | end) | ||||||
|  | -- Inline func supports only normal | ||||||
|  | keymap.set({ "n", "x" }, "<leader>ri", function() | ||||||
|  |   require("refactoring").refactor("Inline Variable") | ||||||
|  | end) | ||||||
|  | -- Inline var supports both normal and visual mode | ||||||
|  | 
 | ||||||
|  | keymap.set("n", "<leader>rb", function() | ||||||
|  |   require("refactoring").refactor("Extract Block") | ||||||
|  | end) | ||||||
|  | keymap.set("n", "<leader>rbf", function() | ||||||
|  |   require("refactoring").refactor("Extract Block To File") | ||||||
|  | end) | ||||||
|  | -- Extract block supports only normal mode | ||||||
							
								
								
									
										64
									
								
								nvim/lua/config/lazy.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								nvim/lua/config/lazy.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,64 @@ | ||||||
|  | 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", | ||||||
|  |       opts = { | ||||||
|  |         colorscheme = "vscode", | ||||||
|  |         news = { | ||||||
|  |           lazyvim = true, | ||||||
|  |           neovim = true, | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |     -- import any extras modules here | ||||||
|  |     { import = "lazyvim.plugins.extras.linting.eslint" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.formatting.prettier" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.lang.typescript" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.lang.tailwind" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.lang.go" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.lang.ruby" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.lang.json" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.coding.copilot" }, | ||||||
|  |     { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, | ||||||
|  |     -- { 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 | ||||||
|  |   }, | ||||||
|  |   install = { colorscheme = { "tokyonight", "habamax" } }, | ||||||
|  |   checker = { enabled = true }, -- automatically check for plugin updates | ||||||
|  |   performance = { | ||||||
|  |     rtp = { | ||||||
|  |       -- disable some rtp plugins | ||||||
|  |       disabled_plugins = { | ||||||
|  |         "gzip", | ||||||
|  |         -- "matchit", | ||||||
|  |         -- "matchparen", | ||||||
|  |         "netrwPlugin", | ||||||
|  |         "rplugin", | ||||||
|  |         "tarPlugin", | ||||||
|  |         "tohtml", | ||||||
|  |         "tutor", | ||||||
|  |         "zipPlugin", | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | }) | ||||||
							
								
								
									
										7
									
								
								nvim/lua/config/options.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								nvim/lua/config/options.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | -- 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 | ||||||
|  | 
 | ||||||
|  | -- Undercurl | ||||||
|  | vim.cmd([[let &t_Cs = "\e[4:3m"]]) | ||||||
|  | vim.cmd([[let &t_Ce = "\e[4:0m"]]) | ||||||
							
								
								
									
										25
									
								
								nvim/lua/plugins/cmp.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nvim/lua/plugins/cmp.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | ||||||
|  | return { | ||||||
|  |   "hrsh7th/nvim-cmp", | ||||||
|  |   event = { "InsertEnter", "CmdlineEnter" }, | ||||||
|  |   opts = function(_, opts) | ||||||
|  |     local cmp = require("cmp") | ||||||
|  | 
 | ||||||
|  |     opts.mapping = vim.tbl_extend("force", opts.mapping, { | ||||||
|  |       ["<C-Space>"] = cmp.mapping.confirm({ | ||||||
|  |         behavior = cmp.ConfirmBehavior.Insert, | ||||||
|  |         select = true, | ||||||
|  |       }), | ||||||
|  |       ["<CR>"] = cmp.mapping({ | ||||||
|  |         i = function(fallback) | ||||||
|  |           if cmp.visible() and cmp.get_active_entry() then | ||||||
|  |             cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) | ||||||
|  |           else | ||||||
|  |             fallback() | ||||||
|  |           end | ||||||
|  |         end, | ||||||
|  |         s = cmp.mapping.confirm({ select = true }), | ||||||
|  |         c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), | ||||||
|  |       }), | ||||||
|  |     }) | ||||||
|  |   end, | ||||||
|  | } | ||||||
							
								
								
									
										5
									
								
								nvim/lua/plugins/coding.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								nvim/lua/plugins/coding.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | return { | ||||||
|  |   "smjonas/inc-rename.nvim", | ||||||
|  |   cmd = "IncRename", | ||||||
|  |   config = true, | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								nvim/lua/plugins/colorscheme.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								nvim/lua/plugins/colorscheme.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | return { | ||||||
|  |   { | ||||||
|  |     "Mofiqul/vscode.nvim", | ||||||
|  |     lazy = true, | ||||||
|  |     priority = 1000, | ||||||
|  |     opts = function() | ||||||
|  |       return { | ||||||
|  |         transparent = true, | ||||||
|  |       } | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										4
									
								
								nvim/lua/plugins/disabled.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								nvim/lua/plugins/disabled.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | return { | ||||||
|  |   { "folke/flash.nvim", enabled = false }, | ||||||
|  |   { "folke/which-key.nvim", enabled = false }, | ||||||
|  | } | ||||||
							
								
								
									
										142
									
								
								nvim/lua/plugins/editor.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								nvim/lua/plugins/editor.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,142 @@ | ||||||
|  | return { | ||||||
|  |   "telescope.nvim", | ||||||
|  |   dependencies = { "nvim-telescope/telescope-file-browser.nvim" }, | ||||||
|  |   keys = { | ||||||
|  |     { | ||||||
|  |       "<leader>fP", | ||||||
|  |       function() | ||||||
|  |         require("telescope.builtin").find_files({ | ||||||
|  |           cwd = require("lazy.core.config").options.root, | ||||||
|  |         }) | ||||||
|  |       end, | ||||||
|  |       desc = "Find Plugin File", | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       ";f", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.find_files({ | ||||||
|  |           no_ignore = false, | ||||||
|  |           hidden = true, | ||||||
|  |         }) | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       ";r", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.live_grep() | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "\\\\", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.buffers() | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       ";t", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.help_tags() | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       ";;", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.resume() | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       ";e", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.diagnostics() | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       ";s", | ||||||
|  |       function() | ||||||
|  |         local builtin = require("telescope.builtin") | ||||||
|  |         builtin.treesitter() | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "fb", | ||||||
|  |       function() | ||||||
|  |         local telescope = require("telescope") | ||||||
|  |         local function telescope_buffer_dir() | ||||||
|  |           return vim.fn.expand("%:p:h") | ||||||
|  |         end | ||||||
|  |         telescope.extensions.file_browser.file_browser({ | ||||||
|  |           path = "%:p:h", | ||||||
|  |           cwd = telescope_buffer_dir(), | ||||||
|  |           respect_gitignore = false, | ||||||
|  |           hidden = true, | ||||||
|  |           grouped = true, | ||||||
|  |           previewer = false, | ||||||
|  |           initial_mode = "normal", | ||||||
|  |           layout_config = { height = 40 }, | ||||||
|  |         }) | ||||||
|  |       end, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   config = function(_, opts) | ||||||
|  |     local telescope = require("telescope") | ||||||
|  |     local actions = require("telescope.actions") | ||||||
|  |     local fb_actions = require("telescope").extensions.file_browser.actions | ||||||
|  | 
 | ||||||
|  |     opts.defaults = vim.tbl_deep_extend("force", opts.defaults, { | ||||||
|  |       wrap_results = true, | ||||||
|  |       layout_strategy = "horizontal", | ||||||
|  |       layout_config = { prompt_position = "top" }, | ||||||
|  |       sorting_strategy = "ascending", | ||||||
|  |       winblend = 0, | ||||||
|  |       mappings = { | ||||||
|  |         n = {}, | ||||||
|  |       }, | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     opts.pickers = { | ||||||
|  |       diagnostics = { | ||||||
|  |         theme = "ivy", | ||||||
|  |         initial_mode = "normal", | ||||||
|  |         layout_config = { preview_cutoff = 9999 }, | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     opts.extensions = { | ||||||
|  |       file_browser = { | ||||||
|  |         theme = "dropdown", | ||||||
|  |         hijack_netrw = true, | ||||||
|  |         mappings = { | ||||||
|  |           ["n"] = { | ||||||
|  |             -- custom normal mode mappings | ||||||
|  |             ["a"] = fb_actions.create, | ||||||
|  |             ["h"] = fb_actions.goto_parent_dir, | ||||||
|  |             ["/"] = function() | ||||||
|  |               vim.cmd("startinsert") | ||||||
|  |             end, | ||||||
|  |             ["<C-u>"] = function(prompt_bufnr) | ||||||
|  |               for i = 1, 10 do | ||||||
|  |                 actions.move_selection_previous(prompt_bufnr) | ||||||
|  |               end | ||||||
|  |             end, | ||||||
|  |             ["<C-d>"] = function(prompt_bufnr) | ||||||
|  |               for i = 1, 10 do | ||||||
|  |                 actions.move_selection_next(prompt_bufnr) | ||||||
|  |               end | ||||||
|  |             end, | ||||||
|  |             ["<PageUp>"] = actions.preview_scrolling_up, | ||||||
|  |             ["<PageDown>"] = actions.preview_scrolling_down, | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |     telescope.setup(opts) | ||||||
|  |     require("telescope").load_extension("fzf") | ||||||
|  |     require("telescope").load_extension("file_browser") | ||||||
|  |   end, | ||||||
|  | } | ||||||
							
								
								
									
										276
									
								
								nvim/lua/plugins/example.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										276
									
								
								nvim/lua/plugins/example.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,276 @@ | ||||||
|  | -- 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 }, | ||||||
|  | 
 | ||||||
|  |   -- 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) | ||||||
|  |       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 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", | ||||||
|  |         "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 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", | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   -- 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() | ||||||
|  |             -- this 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" }), | ||||||
|  |         ["<CR>"] = cmp.mapping({ | ||||||
|  |           i = function(fallback) | ||||||
|  |             if cmp.visible() and cmp.get_active_entry() then | ||||||
|  |               cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) | ||||||
|  |             else | ||||||
|  |               fallback() | ||||||
|  |             end | ||||||
|  |           end, | ||||||
|  |           s = cmp.mapping.confirm({ select = true }), | ||||||
|  |           c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), | ||||||
|  |         }), | ||||||
|  |       }) | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								nvim/lua/plugins/gitsigns.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								nvim/lua/plugins/gitsigns.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | return { | ||||||
|  |   "lewis6991/gitsigns.nvim", | ||||||
|  |   opts = { | ||||||
|  |     _extmark_signs = false, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										19
									
								
								nvim/lua/plugins/lsp.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								nvim/lua/plugins/lsp.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | ||||||
|  | return { | ||||||
|  |   { | ||||||
|  |     "williamboman/mason.nvim", | ||||||
|  |     opts = function(_, opts) | ||||||
|  |       vim.list_extend(opts.ensure_installed, { | ||||||
|  |         "stylua", | ||||||
|  |         "selene", | ||||||
|  |         "luacheck", | ||||||
|  |         "shellcheck", | ||||||
|  |         "shfmt", | ||||||
|  |         "tailwindcss-language-server", | ||||||
|  |         "typescript-language-server", | ||||||
|  |         "css-lsp", | ||||||
|  |         "solargraph", | ||||||
|  |         "gopls", | ||||||
|  |       }) | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								nvim/lua/plugins/nvim-notify.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nvim/lua/plugins/nvim-notify.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | return { | ||||||
|  |   "rcarriga/nvim-notify", | ||||||
|  |   config = function(_, opts) | ||||||
|  |     require("notify").setup(vim.tbl_extend("keep", { | ||||||
|  |       background_colour = "#000000", | ||||||
|  |     }, opts)) | ||||||
|  |   end, | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								nvim/lua/plugins/refactoring.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nvim/lua/plugins/refactoring.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | return { | ||||||
|  |   "ThePrimeagen/refactoring.nvim", | ||||||
|  |   lazy_load = true, | ||||||
|  |   dependencies = { | ||||||
|  |     "nvim-lua/plenary.nvim", | ||||||
|  |     "nvim-treesitter/nvim-treesitter", | ||||||
|  |   }, | ||||||
|  |   config = function() | ||||||
|  |     require("refactoring").setup() | ||||||
|  |   end, | ||||||
|  | } | ||||||
							
								
								
									
										34
									
								
								nvim/lua/plugins/treesitter.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								nvim/lua/plugins/treesitter.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,34 @@ | ||||||
|  | return { | ||||||
|  |   { | ||||||
|  |     "nvim-treesitter/nvim-treesitter", | ||||||
|  |     opts = { | ||||||
|  |       ensure_installed = { | ||||||
|  |         "astro", | ||||||
|  |         "cmake", | ||||||
|  |         "cpp", | ||||||
|  |         "css", | ||||||
|  |         "fish", | ||||||
|  |         "gitignore", | ||||||
|  |         "go", | ||||||
|  |         "graphql", | ||||||
|  |         "http", | ||||||
|  |         "java", | ||||||
|  |         "php", | ||||||
|  |         "rust", | ||||||
|  |         "scss", | ||||||
|  |         "sql", | ||||||
|  |         "svelte", | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |     config = function(_, opts) | ||||||
|  |       require("nvim-treesitter.configs").setup(opts) | ||||||
|  | 
 | ||||||
|  |       vim.filetype.add({ | ||||||
|  |         extension = { | ||||||
|  |           mdx = "markdown", | ||||||
|  |         }, | ||||||
|  |       }) | ||||||
|  |       vim.treesitter.language.register("markdown", "mdx") | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								nvim/lua/plugins/twilight.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nvim/lua/plugins/twilight.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | return { | ||||||
|  |   "folke/twilight.nvim", | ||||||
|  |   opts = { | ||||||
|  |     -- your configuration comes here | ||||||
|  |     -- or leave it empty to use the default settings | ||||||
|  |     -- refer to the configuration section below | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										85
									
								
								nvim/lua/plugins/ui.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								nvim/lua/plugins/ui.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,85 @@ | ||||||
|  | return { | ||||||
|  |   { | ||||||
|  |     "folke/noice.nvim", | ||||||
|  |     opts = function(_, opts) | ||||||
|  |       table.insert(opts.routes, { | ||||||
|  |         filter = { | ||||||
|  |           event = "notify", | ||||||
|  |           find = "No information available", | ||||||
|  |         }, | ||||||
|  |         skip = true, | ||||||
|  |       }) | ||||||
|  |       opts.presets.lsp_doc_border = true | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  |   -- animations | ||||||
|  |   { | ||||||
|  |     "echasnovski/mini.animate", | ||||||
|  |     event = "VeryLazy", | ||||||
|  |     opts = function(_, opts) | ||||||
|  |       opts.scroll = { | ||||||
|  |         enable = false, | ||||||
|  |       } | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   -- statusline | ||||||
|  |   { | ||||||
|  |     "nvim-lualine/lualine.nvim", | ||||||
|  |     event = "VeryLazy", | ||||||
|  |     opts = { | ||||||
|  |       options = { | ||||||
|  |         -- globalstatus = false, | ||||||
|  |         theme = "vscode", | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   -- filename | ||||||
|  |   { | ||||||
|  |     "b0o/incline.nvim", | ||||||
|  |     dependencies = { "craftzdog/solarized-osaka.nvim" }, | ||||||
|  |     event = "BufReadPre", | ||||||
|  |     priority = 1200, | ||||||
|  |     config = function() | ||||||
|  |       local colors = require("solarized-osaka.colors").setup() | ||||||
|  |       require("incline").setup({ | ||||||
|  |         highlight = { | ||||||
|  |           groups = { | ||||||
|  |             InclineNormal = { guibg = colors.violet700, guifg = colors.base04 }, | ||||||
|  |             InclineNormalNC = { guifg = colors.violet500, guibg = colors.base03 }, | ||||||
|  |           }, | ||||||
|  |         }, | ||||||
|  |         window = { margin = { vertical = 0, horizontal = 1 } }, | ||||||
|  |         hide = { | ||||||
|  |           cursorline = true, | ||||||
|  |         }, | ||||||
|  |         render = function(props) | ||||||
|  |           local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t") | ||||||
|  |           if vim.bo[props.buf].modified then | ||||||
|  |             filename = "[+] " .. filename | ||||||
|  |           end | ||||||
|  | 
 | ||||||
|  |           local icon, color = require("nvim-web-devicons").get_icon_color(filename) | ||||||
|  |           return { { icon, guifg = color }, { " " }, { filename } } | ||||||
|  |         end, | ||||||
|  |       }) | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "nvimdev/dashboard-nvim", | ||||||
|  |     event = "VimEnter", | ||||||
|  |     opts = function(_, opts) | ||||||
|  |       local logo = [[ | ||||||
|  | ██████╗ ██╗      █████╗ ██╗  ██╗███████╗    ██████╗ ██╗██████╗  ██████╗ ██╗    ██╗ █████╗ ██╗   ██╗     | ||||||
|  | ██╔══██╗██║     ██╔══██╗██║ ██╔╝██╔════╝    ██╔══██╗██║██╔══██╗██╔════╝ ██║    ██║██╔══██╗╚██╗ ██╔╝     | ||||||
|  | ██████╔╝██║     ███████║█████╔╝ █████╗      ██████╔╝██║██║  ██║██║  ███╗██║ █╗ ██║███████║ ╚████╔╝      | ||||||
|  | ██╔══██╗██║     ██╔══██║██╔═██╗ ██╔══╝      ██╔══██╗██║██║  ██║██║   ██║██║███╗██║██╔══██║  ╚██╔╝       | ||||||
|  | ██████╔╝███████╗██║  ██║██║  ██╗███████╗    ██║  ██║██║██████╔╝╚██████╔╝╚███╔███╔╝██║  ██║   ██║        | ||||||
|  | ╚═════╝ ╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝    ╚═╝  ╚═╝╚═╝╚═════╝  ╚═════╝  ╚══╝╚══╝ ╚═╝  ╚═╝   ╚═╝        | ||||||
|  | ]] | ||||||
|  |       logo = string.rep("\n", 8) .. logo .. "\n\n" | ||||||
|  |       opts.config.header = vim.split(logo, "\n") | ||||||
|  |     end, | ||||||
|  |   }, | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								nvim/lua/plugins/zen.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nvim/lua/plugins/zen.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | return { | ||||||
|  |   "folke/zen-mode.nvim", | ||||||
|  |   opts = { | ||||||
|  |     -- your configuration comes here | ||||||
|  |     -- or leave it empty to use the default settings | ||||||
|  |     -- refer to the configuration section below | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | @ -1,266 +0,0 @@ | ||||||
| -- Automatically generated packer.nvim plugin loader code |  | ||||||
| 
 |  | ||||||
| if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then |  | ||||||
|   vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') |  | ||||||
|   return |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| vim.api.nvim_command('packadd packer.nvim') |  | ||||||
| 
 |  | ||||||
| local no_errors, error_msg = pcall(function() |  | ||||||
| 
 |  | ||||||
| _G._packer = _G._packer or {} |  | ||||||
| _G._packer.inside_compile = true |  | ||||||
| 
 |  | ||||||
| local time |  | ||||||
| local profile_info |  | ||||||
| local should_profile = false |  | ||||||
| if should_profile then |  | ||||||
|   local hrtime = vim.loop.hrtime |  | ||||||
|   profile_info = {} |  | ||||||
|   time = function(chunk, start) |  | ||||||
|     if start then |  | ||||||
|       profile_info[chunk] = hrtime() |  | ||||||
|     else |  | ||||||
|       profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 |  | ||||||
|     end |  | ||||||
|   end |  | ||||||
| else |  | ||||||
|   time = function(chunk, start) end |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| local function save_profiles(threshold) |  | ||||||
|   local sorted_times = {} |  | ||||||
|   for chunk_name, time_taken in pairs(profile_info) do |  | ||||||
|     sorted_times[#sorted_times + 1] = {chunk_name, time_taken} |  | ||||||
|   end |  | ||||||
|   table.sort(sorted_times, function(a, b) return a[2] > b[2] end) |  | ||||||
|   local results = {} |  | ||||||
|   for i, elem in ipairs(sorted_times) do |  | ||||||
|     if not threshold or threshold and elem[2] > threshold then |  | ||||||
|       results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' |  | ||||||
|     end |  | ||||||
|   end |  | ||||||
|   if threshold then |  | ||||||
|     table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') |  | ||||||
|   end |  | ||||||
| 
 |  | ||||||
|   _G._packer.profile_output = results |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| time([[Luarocks path setup]], true) |  | ||||||
| local package_path_str = "/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" |  | ||||||
| local install_cpath_pattern = "/home/bridgway/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" |  | ||||||
| if not string.find(package.path, package_path_str, 1, true) then |  | ||||||
|   package.path = package.path .. ';' .. package_path_str |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| if not string.find(package.cpath, install_cpath_pattern, 1, true) then |  | ||||||
|   package.cpath = package.cpath .. ';' .. install_cpath_pattern |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| time([[Luarocks path setup]], false) |  | ||||||
| time([[try_loadstring definition]], true) |  | ||||||
| local function try_loadstring(s, component, name) |  | ||||||
|   local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) |  | ||||||
|   if not success then |  | ||||||
|     vim.schedule(function() |  | ||||||
|       vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) |  | ||||||
|     end) |  | ||||||
|   end |  | ||||||
|   return result |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| time([[try_loadstring definition]], false) |  | ||||||
| time([[Defining packer_plugins]], true) |  | ||||||
| _G.packer_plugins = { |  | ||||||
|   ["Comment.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/Comment.nvim", |  | ||||||
|     url = "https://github.com/numToStr/Comment.nvim" |  | ||||||
|   }, |  | ||||||
|   LuaSnip = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/LuaSnip", |  | ||||||
|     url = "https://github.com/L3MON4D3/LuaSnip" |  | ||||||
|   }, |  | ||||||
|   ["cmp-buffer"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp-buffer", |  | ||||||
|     url = "https://github.com/hrsh7th/cmp-buffer" |  | ||||||
|   }, |  | ||||||
|   ["cmp-nvim-lsp"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", |  | ||||||
|     url = "https://github.com/hrsh7th/cmp-nvim-lsp" |  | ||||||
|   }, |  | ||||||
|   ["cmp-path"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp-path", |  | ||||||
|     url = "https://github.com/hrsh7th/cmp-path" |  | ||||||
|   }, |  | ||||||
|   cmp_luasnip = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/cmp_luasnip", |  | ||||||
|     url = "https://github.com/saadparwaiz1/cmp_luasnip" |  | ||||||
|   }, |  | ||||||
|   ["friendly-snippets"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/friendly-snippets", |  | ||||||
|     url = "https://github.com/rafamadriz/friendly-snippets" |  | ||||||
|   }, |  | ||||||
|   ["gitsigns.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", |  | ||||||
|     url = "https://github.com/lewis6991/gitsigns.nvim" |  | ||||||
|   }, |  | ||||||
|   ["lspkind.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/lspkind.nvim", |  | ||||||
|     url = "https://github.com/onsails/lspkind.nvim" |  | ||||||
|   }, |  | ||||||
|   ["lspsaga.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/lspsaga.nvim", |  | ||||||
|     url = "https://github.com/glepnir/lspsaga.nvim" |  | ||||||
|   }, |  | ||||||
|   ["lualine.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/lualine.nvim", |  | ||||||
|     url = "https://github.com/nvim-lualine/lualine.nvim" |  | ||||||
|   }, |  | ||||||
|   ["mason-lspconfig.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", |  | ||||||
|     url = "https://github.com/williamboman/mason-lspconfig.nvim" |  | ||||||
|   }, |  | ||||||
|   ["mason-null-ls.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/mason-null-ls.nvim", |  | ||||||
|     url = "https://github.com/jayp0521/mason-null-ls.nvim" |  | ||||||
|   }, |  | ||||||
|   ["mason.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/mason.nvim", |  | ||||||
|     url = "https://github.com/williamboman/mason.nvim" |  | ||||||
|   }, |  | ||||||
|   ["null-ls.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/null-ls.nvim", |  | ||||||
|     url = "https://github.com/jose-elias-alvarez/null-ls.nvim" |  | ||||||
|   }, |  | ||||||
|   ["nvim-autopairs"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-autopairs", |  | ||||||
|     url = "https://github.com/windwp/nvim-autopairs" |  | ||||||
|   }, |  | ||||||
|   ["nvim-cmp"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-cmp", |  | ||||||
|     url = "https://github.com/hrsh7th/nvim-cmp" |  | ||||||
|   }, |  | ||||||
|   ["nvim-lspconfig"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", |  | ||||||
|     url = "https://github.com/neovim/nvim-lspconfig" |  | ||||||
|   }, |  | ||||||
|   ["nvim-tree.lua"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", |  | ||||||
|     url = "https://github.com/nvim-tree/nvim-tree.lua" |  | ||||||
|   }, |  | ||||||
|   ["nvim-treesitter"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-treesitter", |  | ||||||
|     url = "https://github.com/nvim-treesitter/nvim-treesitter" |  | ||||||
|   }, |  | ||||||
|   ["nvim-ts-autotag"] = { |  | ||||||
|     load_after = {}, |  | ||||||
|     loaded = true, |  | ||||||
|     needs_bufread = false, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/opt/nvim-ts-autotag", |  | ||||||
|     url = "https://github.com/windwp/nvim-ts-autotag" |  | ||||||
|   }, |  | ||||||
|   ["nvim-web-devicons"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", |  | ||||||
|     url = "https://github.com/nvim-tree/nvim-web-devicons" |  | ||||||
|   }, |  | ||||||
|   ["packer.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/packer.nvim", |  | ||||||
|     url = "https://github.com/wbthomason/packer.nvim" |  | ||||||
|   }, |  | ||||||
|   ["plenary.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/plenary.nvim", |  | ||||||
|     url = "https://github.com/nvim-lua/plenary.nvim" |  | ||||||
|   }, |  | ||||||
|   ["presence.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/presence.nvim", |  | ||||||
|     url = "https://github.com/andweeb/presence.nvim" |  | ||||||
|   }, |  | ||||||
|   ["telescope-fzf-native.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim", |  | ||||||
|     url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim" |  | ||||||
|   }, |  | ||||||
|   ["telescope.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/telescope.nvim", |  | ||||||
|     url = "https://github.com/nvim-telescope/telescope.nvim" |  | ||||||
|   }, |  | ||||||
|   ["typescript.nvim"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/typescript.nvim", |  | ||||||
|     url = "https://github.com/jose-elias-alvarez/typescript.nvim" |  | ||||||
|   }, |  | ||||||
|   ["vim-ReplaceWithRegister"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-ReplaceWithRegister", |  | ||||||
|     url = "https://github.com/inkarkat/vim-ReplaceWithRegister" |  | ||||||
|   }, |  | ||||||
|   ["vim-maximizer"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-maximizer", |  | ||||||
|     url = "https://github.com/szw/vim-maximizer" |  | ||||||
|   }, |  | ||||||
|   ["vim-nightfly-guicolors"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-nightfly-guicolors", |  | ||||||
|     url = "https://github.com/bluz71/vim-nightfly-guicolors" |  | ||||||
|   }, |  | ||||||
|   ["vim-surround"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-surround", |  | ||||||
|     url = "https://github.com/tpope/vim-surround" |  | ||||||
|   }, |  | ||||||
|   ["vim-tmux-navigator"] = { |  | ||||||
|     loaded = true, |  | ||||||
|     path = "/home/bridgway/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator", |  | ||||||
|     url = "https://github.com/christoomey/vim-tmux-navigator" |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| time([[Defining packer_plugins]], false) |  | ||||||
| -- Load plugins in order defined by `after` |  | ||||||
| time([[Sequenced loading]], true) |  | ||||||
| vim.cmd [[ packadd nvim-treesitter ]] |  | ||||||
| vim.cmd [[ packadd nvim-ts-autotag ]] |  | ||||||
| time([[Sequenced loading]], false) |  | ||||||
| 
 |  | ||||||
| _G._packer.inside_compile = false |  | ||||||
| if _G._packer.needs_bufread == true then |  | ||||||
|   vim.cmd("doautocmd BufRead") |  | ||||||
| end |  | ||||||
| _G._packer.needs_bufread = false |  | ||||||
| 
 |  | ||||||
| if should_profile then save_profiles() end |  | ||||||
| 
 |  | ||||||
| end) |  | ||||||
| 
 |  | ||||||
| if not no_errors then |  | ||||||
|   error_msg = error_msg:gsub('"', '\\"') |  | ||||||
|   vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') |  | ||||||
| end |  | ||||||
							
								
								
									
										3
									
								
								nvim/stylua.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								nvim/stylua.toml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | indent_type = "Spaces" | ||||||
|  | indent_width = 2 | ||||||
|  | column_width = 120 | ||||||
							
								
								
									
										24
									
								
								post_install
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								post_install
									
										
									
									
									
								
							|  | @ -24,9 +24,11 @@ PACKAGE_LIST=( | ||||||
|   git |   git | ||||||
|   golang |   golang | ||||||
|   fd-find |   fd-find | ||||||
|  |   kitty | ||||||
|   java-openjdk |   java-openjdk | ||||||
|   neofetch |   neofetch | ||||||
|   neovim |   neovim | ||||||
|  |   protonup | ||||||
|   python3 |   python3 | ||||||
|   python3-pip |   python3-pip | ||||||
|   ripgrep |   ripgrep | ||||||
|  | @ -41,6 +43,7 @@ FLATPAK_LIST=( | ||||||
|   com.bitwarden.desktop |   com.bitwarden.desktop | ||||||
|   com.discordapp.Discord |   com.discordapp.Discord | ||||||
|   com.slack.Slack |   com.slack.Slack | ||||||
|  |   net.davidotek.pupgui2 | ||||||
|   md.obsidian.Obsidian |   md.obsidian.Obsidian | ||||||
|   net.veloren.airshipper |   net.veloren.airshipper | ||||||
| ) | ) | ||||||
|  | @ -49,7 +52,6 @@ echo ####################### | ||||||
| echo # Installing Packages # | echo # Installing Packages # | ||||||
| echo ####################### | echo ####################### | ||||||
| 
 | 
 | ||||||
| # iterate through package and installs them |  | ||||||
| for package_name in ${PACKAGE_LIST[@]}; do | for package_name in ${PACKAGE_LIST[@]}; do | ||||||
|   if ! sudo dnf list --installed | grep -q "^\<$package_name\>"; then |   if ! sudo dnf list --installed | grep -q "^\<$package_name\>"; then | ||||||
|     echo "Installing $package_name..." |     echo "Installing $package_name..." | ||||||
|  | @ -97,10 +99,8 @@ echo ##################### | ||||||
| echo # Install Nerd Font # | echo # Install Nerd Font # | ||||||
| echo ##################### | echo ##################### | ||||||
| 
 | 
 | ||||||
| # Nerd Font install | wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.zip && unzip Hack.zip -d Hack | ||||||
| wget https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hack/Regular/HackNerdFont-Regular.ttf | mkdir -p ~/.local/share/fonts && cp Hack/HackNerdFont-regular.ttf ~/.local/share/fonts | ||||||
| mkdir -p ~/.local/share/fonts  |  | ||||||
| cp Hack\ Regular\ Nerd\ Font\ Complete.ttf ~/.local/share/fonts/ |  | ||||||
| fc-cache -f -v | fc-cache -f -v | ||||||
| 
 | 
 | ||||||
| echo ###################### | echo ###################### | ||||||
|  | @ -115,17 +115,11 @@ echo ################## | ||||||
| 
 | 
 | ||||||
| curl -sS https://starship.rs/install.sh | sh | curl -sS https://starship.rs/install.sh | sh | ||||||
| 
 | 
 | ||||||
| echo ######################## | echo ############### | ||||||
| echo # Creating Config File # | echo # Config File # | ||||||
| echo ######################## | echo ############### | ||||||
| 
 | 
 | ||||||
| mkdir -p ~/.config && touch ~/.config/starship.toml | cp terminal/starship.toml ~/.config/starship.toml | ||||||
| 
 |  | ||||||
| echo ################### |  | ||||||
| echo # Enabling Config # |  | ||||||
| echo ################### |  | ||||||
| 
 |  | ||||||
| starship preset nerd-font-symbols > ~/.config/starship.toml |  | ||||||
| 
 | 
 | ||||||
| echo ################### | echo ################### | ||||||
| echo # Setting up nvim # | echo # Setting up nvim # | ||||||
|  |  | ||||||
							
								
								
									
										64
									
								
								terminal/starship.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								terminal/starship.toml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,64 @@ | ||||||
|  | format = """ | ||||||
|  | [](#a3aed2)\ | ||||||
|  | [  ](bg:#a3aed2 fg:#090c0c)\ | ||||||
|  | [](bg:#769ff0 fg:#a3aed2)\ | ||||||
|  | $directory\ | ||||||
|  | [](fg:#769ff0 bg:#394260)\ | ||||||
|  | $git_branch\ | ||||||
|  | $git_status\ | ||||||
|  | [](fg:#394260 bg:#212736)\ | ||||||
|  | $nodejs\ | ||||||
|  | $rust\ | ||||||
|  | $golang\ | ||||||
|  | $php\ | ||||||
|  | [](fg:#212736 bg:#1d2230)\ | ||||||
|  | $time\ | ||||||
|  | [ ](fg:#1d2230)\ | ||||||
|  | \n$character""" | ||||||
|  | 
 | ||||||
|  | [directory] | ||||||
|  | style = "fg:#e3e5e5 bg:#769ff0" | ||||||
|  | format = "[ $path ]($style)" | ||||||
|  | truncation_length = 3 | ||||||
|  | truncation_symbol = "…/" | ||||||
|  | 
 | ||||||
|  | [directory.substitutions] | ||||||
|  | "Documents" = " " | ||||||
|  | "Downloads" = " " | ||||||
|  | "Music" = " " | ||||||
|  | "Pictures" = " " | ||||||
|  | 
 | ||||||
|  | [git_branch] | ||||||
|  | symbol = "" | ||||||
|  | style = "bg:#394260" | ||||||
|  | format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)' | ||||||
|  | 
 | ||||||
|  | [git_status] | ||||||
|  | style = "bg:#394260" | ||||||
|  | format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)' | ||||||
|  | 
 | ||||||
|  | [nodejs] | ||||||
|  | symbol = "" | ||||||
|  | style = "bg:#212736" | ||||||
|  | format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' | ||||||
|  | 
 | ||||||
|  | [rust] | ||||||
|  | symbol = "" | ||||||
|  | style = "bg:#212736" | ||||||
|  | format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' | ||||||
|  | 
 | ||||||
|  | [golang] | ||||||
|  | symbol = "" | ||||||
|  | style = "bg:#212736" | ||||||
|  | format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' | ||||||
|  | 
 | ||||||
|  | [php] | ||||||
|  | symbol = "" | ||||||
|  | style = "bg:#212736" | ||||||
|  | format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' | ||||||
|  | 
 | ||||||
|  | [time] | ||||||
|  | disabled = false | ||||||
|  | time_format = "%R" # Hour:Minute Format | ||||||
|  | style = "bg:#1d2230" | ||||||
|  | format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)' | ||||||
							
								
								
									
										2
									
								
								vim/vim
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								vim/vim
									
										
									
									
									
								
							|  | @ -1 +1 @@ | ||||||
| /home/bridgway/dotfiles/vim | /home/blake/dotfiles/vim | ||||||
							
								
								
									
										2
									
								
								zsh/zsh
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								zsh/zsh
									
										
									
									
									
								
							|  | @ -1 +1 @@ | ||||||
| /home/bridgway/dotfiles/zsh | /home/blake/dotfiles/zsh | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Blake Ridgway
						Blake Ridgway