summaryrefslogtreecommitdiff
path: root/nvim/.config
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/.config')
-rw-r--r--nvim/.config/nvim/.gitignore8
-rw-r--r--nvim/.config/nvim/.neoconf.json15
-rw-r--r--nvim/.config/nvim/LICENSE201
-rw-r--r--nvim/.config/nvim/README.md4
-rw-r--r--nvim/.config/nvim/init.lua6
-rw-r--r--nvim/.config/nvim/lazyvim.json10
-rw-r--r--nvim/.config/nvim/lua/caelus/init.lua100
-rw-r--r--nvim/.config/nvim/lua/config/autocmds.lua8
-rwxr-xr-x[-rw-r--r--]nvim/.config/nvim/lua/config/keymaps.lua16
-rw-r--r--nvim/.config/nvim/lua/config/lazy.lua53
-rwxr-xr-x[-rw-r--r--]nvim/.config/nvim/lua/config/options.lua43
-rw-r--r--nvim/.config/nvim/lua/config/plugins.lua97
-rw-r--r--nvim/.config/nvim/lua/plugins/example.lua197
-rw-r--r--nvim/.config/nvim/nvim-pack-lock.json116
-rw-r--r--nvim/.config/nvim/stylua.toml3
15 files changed, 370 insertions, 507 deletions
diff --git a/nvim/.config/nvim/.gitignore b/nvim/.config/nvim/.gitignore
deleted file mode 100644
index cc5457a..0000000
--- a/nvim/.config/nvim/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-tt.*
-.tests
-doc/tags
-debug
-.repro
-foo.*
-*.log
-data
diff --git a/nvim/.config/nvim/.neoconf.json b/nvim/.config/nvim/.neoconf.json
deleted file mode 100644
index 7c48087..0000000
--- a/nvim/.config/nvim/.neoconf.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "neodev": {
- "library": {
- "enabled": true,
- "plugins": true
- }
- },
- "neoconf": {
- "plugins": {
- "lua_ls": {
- "enabled": true
- }
- }
- }
-}
diff --git a/nvim/.config/nvim/LICENSE b/nvim/.config/nvim/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/nvim/.config/nvim/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- 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.
diff --git a/nvim/.config/nvim/README.md b/nvim/.config/nvim/README.md
deleted file mode 100644
index 185280b..0000000
--- a/nvim/.config/nvim/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# 💤 LazyVim
-
-A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
-Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua
index 2514f9e..6bf6f8e 100644
--- a/nvim/.config/nvim/init.lua
+++ b/nvim/.config/nvim/init.lua
@@ -1,2 +1,4 @@
--- bootstrap lazy.nvim, LazyVim and your plugins
-require("config.lazy")
+require("caelus.init").colorscheme()
+require("config.keymaps")
+require("config.options")
+require("config.plugins")
diff --git a/nvim/.config/nvim/lazyvim.json b/nvim/.config/nvim/lazyvim.json
deleted file mode 100644
index d8bcaf6..0000000
--- a/nvim/.config/nvim/lazyvim.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "extras": [
-
- ],
- "install_version": 8,
- "news": {
- "NEWS.md": "11866"
- },
- "version": 8
-} \ No newline at end of file
diff --git a/nvim/.config/nvim/lua/caelus/init.lua b/nvim/.config/nvim/lua/caelus/init.lua
new file mode 100644
index 0000000..dec0a41
--- /dev/null
+++ b/nvim/.config/nvim/lua/caelus/init.lua
@@ -0,0 +1,100 @@
+local M = {};
+
+local colors = {
+ bg = "#0f0f0f",
+ gray0 = "#141514";
+ gray1 = "#1e1f1e";
+ gray2 = "#272a28";
+ gray3 = "#3b403c";
+ gray4 = "#585f5b";
+ gray5 = "#6c756f";
+ gray6 = "#888e7b";
+ gray7 = "#9a9c8b";
+ gray8 = "#b6b69a";
+ gray9 = "#d9cdb5";
+ gray10 = "#e3d6c9";
+ fg = "#f4decd",
+ red = "#f16e65";
+ lred = "#ef968f";
+ orange = "#ef934d";
+ yellow = "#efbf71";
+ green = "#7ec97e";
+ lgreen = "#a4daa4";
+ cyan = "#7ec9a3";
+ lcyan = "#abd4bf";
+ blue = "#71b4d6";
+ lblue = "#b0d4e8";
+ magenta = "#e28dc6";
+ lmagenta = "#ebadd6";
+}
+
+function M.colorscheme()
+ vim.cmd("highlight clear")
+ vim.cmd("syntax reset")
+
+ vim.o.background = "dark";
+ vim.g.colors_name = "caelus";
+
+ local set = vim.api.nvim_set_hl
+
+ -- ui
+ set(0, "Normal", { fg = colors.fg, bg = colors.bg })
+ set(0, "NormalFloat", { fg = colors.fg, bg = colors.bg })
+ set(0, "FloatBorder", { fg = colors.fg, bg = colors.bg })
+ set(0, "CursorLine", { bg = colors.gray2 })
+ set(0, "Visual", { bg = colors.gray3 })
+ set(0, "Search", { fg = colors.bg, bg = colors.orange })
+ set(0, "IncSearch", { fg = colors.bg, bg = colors.orange })
+ set(0, "StatusLine", { bg = colors.gray2 })
+ set(0, "StatusLineNC", { bg = colors.orange })
+ set(0, "VertSplit", { fg = colors.gray8 })
+ set(0, "WinSeparator", { fg = colors.gray8 })
+ set(0, "LineNr", { fg = colors.gray6 })
+ set(0, "CursorLineNr", { fg = colors.orange, bold = true })
+ set(0, "SignColumn", { bg = colors.bg })
+ set(0, "Folded", { fg = colors.gray8, bg = colors.gray3 })
+
+ -- popup
+ set(0, "Pmenu", { fg = colors.fg, bg = colors.gray10 })
+ set(0, "PmenuSel", { fg = colors.bg, bg = colors.orange })
+ set(0, "PmenuSbar", { bg = colors.gray10 })
+ set(0, "PmenuThumb", { bg = colors.orange })
+
+ -- syntax
+ set(0, "Comment", { fg = colors.gray8, italic = true })
+ set(0, "Constant", { fg = colors.magenta })
+ set(0, "String", { fg = colors.green })
+ set(0, "Identifier", { fg = colors.blue })
+ set(0, "Function", { fg = colors.yellow })
+ set(0, "Statement", { fg = colors.red })
+ set(0, "Type", { fg = colors.cyan, bold = true })
+ set(0, "Special", { fg = colors.yellow })
+ set(0, "Error", { fg = colors.red, bold = true })
+ set(0, "Keyword", { fg = colors.red })
+ set(0, "Variable", { fg = colors.fg })
+ set(0, "TSKeyword", { fg = colors.red })
+ set(0, "TSFunction", { fg = colors.yellow })
+ set(0, "TSVariable", { fg = colors.fg })
+ set(0, "TSType", { fg = colors.cyan })
+
+ -- blink
+ set(0, "BlinkCmpMenu", { bg = colors.gray1 })
+ set(0, "BlinkCmpMenuBorder", { fg = colors.gray6, bg = colors.gray1 })
+ set(0, "BlinkCmpMenuSelection", { fg = colors.bg, bg = colors.orange })
+ set(0, "BlinkCmpLabel", { fg = colors.fg })
+ set(0, "BlinkCmpLabelDetail", { fg = colors.gray7 })
+ set(0, "BlinkCmpLabelDescription",{ fg = colors.gray8 })
+ set(0, "BlinkCmpLabelMatch", { fg = colors.orange, bold = true })
+ set(0, "BlinkCmpKind", { fg = colors.cyan })
+ set(0, "BlinkCmpDoc", { fg = colors.fg, bg = colors.gray2 })
+ set(0, "BlinkCmpDocBorder", { fg = colors.gray5, bg = colors.gray2 })
+
+ if package.loaded['lualine'] then
+ require('lualine').setup({
+ options = { theme = 'auto' },
+ })
+ end
+
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/config/autocmds.lua b/nvim/.config/nvim/lua/config/autocmds.lua
deleted file mode 100644
index 4221e75..0000000
--- a/nvim/.config/nvim/lua/config/autocmds.lua
+++ /dev/null
@@ -1,8 +0,0 @@
--- Autocmds are automatically loaded on the VeryLazy event
--- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
---
--- Add any additional autocmds here
--- with `vim.api.nvim_create_autocmd`
---
--- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
--- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
diff --git a/nvim/.config/nvim/lua/config/keymaps.lua b/nvim/.config/nvim/lua/config/keymaps.lua
index 2c134f7..e2987bc 100644..100755
--- a/nvim/.config/nvim/lua/config/keymaps.lua
+++ b/nvim/.config/nvim/lua/config/keymaps.lua
@@ -1,3 +1,13 @@
--- 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
+localopts = { noremap = true, silent = true }
+
+vim.g.mapleader = " "
+vim.g.maplocalleader = " "
+
+vim.keymap.set({"n", "v"}, "y", '"+y', { noremap = true, silent = true })
+
+vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", { desc = "moves lines down in visual selection" })
+vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", { desc = "moves lines up in visual selection" })
+
+vim.keymap.set("n", "<leader>al", "<CMD>term<CR>", { desc = "Open terminal" })
+
+vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
diff --git a/nvim/.config/nvim/lua/config/lazy.lua b/nvim/.config/nvim/lua/config/lazy.lua
deleted file mode 100644
index d73bfa1..0000000
--- a/nvim/.config/nvim/lua/config/lazy.lua
+++ /dev/null
@@ -1,53 +0,0 @@
-local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
-if not (vim.uv or vim.loop).fs_stat(lazypath) then
- local lazyrepo = "https://github.com/folke/lazy.nvim.git"
- local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
- if vim.v.shell_error ~= 0 then
- vim.api.nvim_echo({
- { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
- { out, "WarningMsg" },
- { "\nPress any key to exit..." },
- }, true, {})
- vim.fn.getchar()
- os.exit(1)
- end
-end
-vim.opt.rtp:prepend(lazypath)
-
-require("lazy").setup({
- spec = {
- -- add LazyVim and import its plugins
- { "LazyVim/LazyVim", import = "lazyvim.plugins" },
- -- import/override with your plugins
- { import = "plugins" },
- },
- defaults = {
- -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
- -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
- lazy = false,
- -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
- -- have outdated releases, which may break your Neovim install.
- version = false, -- always use the latest git commit
- -- version = "*", -- try installing the latest stable version for plugins that support semver
- },
- install = { colorscheme = { "tokyonight", "habamax" } },
- checker = {
- enabled = true, -- check for plugin updates periodically
- notify = false, -- notify on update
- }, -- automatically check for plugin updates
- performance = {
- rtp = {
- -- disable some rtp plugins
- disabled_plugins = {
- "gzip",
- -- "matchit",
- -- "matchparen",
- -- "netrwPlugin",
- "tarPlugin",
- "tohtml",
- "tutor",
- "zipPlugin",
- },
- },
- },
-})
diff --git a/nvim/.config/nvim/lua/config/options.lua b/nvim/.config/nvim/lua/config/options.lua
index 3ea1454..dac7c76 100644..100755
--- a/nvim/.config/nvim/lua/config/options.lua
+++ b/nvim/.config/nvim/lua/config/options.lua
@@ -1,3 +1,40 @@
--- Options are automatically loaded before lazy.nvim startup
--- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
--- Add any additional options here
+vim.cmd("let g:netrw_banner = 0")
+vim.cmd("set termguicolors")
+
+vim.opt.guicursor = ""
+vim.opt.nu = true
+vim.opt.relativenumber = false
+
+vim.opt.tabstop = 2
+vim.opt.softtabstop = 2
+vim.opt.shiftwidth = 2
+vim.opt.expandtab = true
+vim.opt.autoindent = true
+vim.opt.smartindent = true
+vim.opt.wrap = true
+
+vim.opt.swapfile = false
+vim.opt.backup = false
+vim.opt.undofile = true
+
+vim.opt.incsearch = true
+vim.opt.inccommand = "split"
+vim.opt.ignorecase = true
+vim.opt.smartcase = true
+
+vim.opt.termguicolors = true
+vim.opt.background = "dark"
+vim.opt.scrolloff = 8
+vim.opt.signcolumn = "yes"
+
+vim.opt.backspace = { "start", "eol", "indent" }
+
+vim.opt.splitright = true
+vim.opt.splitbelow = true
+
+vim.opt.hlsearch = true
+
+vim.opt.mouse = "a"
+vim.g.editorconfig = true
+
+vim.g.markdown_folding = 1
diff --git a/nvim/.config/nvim/lua/config/plugins.lua b/nvim/.config/nvim/lua/config/plugins.lua
new file mode 100644
index 0000000..f0b7619
--- /dev/null
+++ b/nvim/.config/nvim/lua/config/plugins.lua
@@ -0,0 +1,97 @@
+vim.pack.add {
+ 'https://github.com/ollykel/v-vim',
+ 'https://github.com/hrsh7th/nvim-cmp',
+ 'https://github.com/saghen/blink.cmp',
+ 'https://github.com/alaviss/nim.nvim',
+ 'https://github.com/stevearc/oil.nvim',
+ 'https://github.com/folke/trouble.nvim',
+ 'https://github.com/nvim-mini/mini.nvim',
+ 'https://github.com/jiaoshijie/undotree',
+ 'https://github.com/thePrimeagen/harpoon',
+ 'https://github.com/hrsh7th/cmp-nvim-lsp',
+ 'https://github.com/mason-org/mason.nvim',
+ 'https://github.com/nvim-orgmode/orgmode',
+ 'https://github.com/windwp/nvim-autopairs',
+ 'https://github.com/neovim/nvim-lspconfig',
+ 'https://github.com/nvim-lua/plenary.nvim',
+ 'https://github.com/mfussenegger/nvim-lint',
+ 'https://github.com/akinsho/org-bullets.nvim',
+ 'https://github.com/nvim-lualine/lualine.nvim',
+ 'https://github.com/norcalli/nvim-colorizer.lua',
+ 'https://github.com/nvim-tree/nvim-web-devicons',
+ 'https://github.com/rafamadriz/friendly-snippets',
+ 'https://github.com/nvim-telescope/telescope.nvim',
+ 'https://github.com/mason-org/mason-lspconfig.nvim',
+ 'https://github.com/nvim-treesitter/nvim-treesitter',
+ 'https://github.com/brenoprata10/nvim-highlight-colors',
+ 'https://github.com/antosha417/nvim-lsp-file-operations',
+ 'https://github.com/nvim-telescope/telescope-ui-select.nvim',
+ 'https://github.com/MeanderingProgrammer/render-markdown.nvim',
+}
+
+-- vlang
+--vim.lsp.config.vlang.setup({})
+
+-- oil
+require("oil").setup({ default_file_explorer = true,
+ columns = {},
+ keymaps = {
+ ["q"] = "actions.close",
+ },
+ delete_to_trash = true,
+ view_options = {
+ show_hidden = true,
+ },
+ skip_confirm_for_simple_edits = true,
+})
+vim.keymap.set("n", "<leader>fm", "<CMD>Oil<CR>", { desc = "Open parent directory" })
+
+-- harpoon
+vim.keymap.set("n", "<leader>ad", function()
+ harpoon:list():add()
+end, { desc = "Harpoon add file" })
+vim.keymap.set("n", "<C-e>", function()
+ harpoon.ui:toggle_quick_menu(harpoon:list())
+end)
+
+-- mason
+require("mason").setup({
+ opts = {
+ ui = {
+ icons = {
+ package_installed = "*",
+ package_pending = ">",
+ package_uninstalled = "x"
+ }
+ }
+ }
+})
+
+-- autopairs
+require("nvim-autopairs").setup({
+ check_ts = true,
+ ts_config = {
+ lua = { "string" },
+ javascript = { "template_string" },
+ java = false,
+ },
+})
+
+-- lspconfig
+vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
+vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
+vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
+
+-- lualine
+require('lualine').setup {
+ options = {
+ icons_enabled = true,
+ theme = 'auto',
+ }
+}
+
+-- colorizer
+require("colorizer").setup()
+
+-- mason-lspconfig
+require("mason-lspconfig").setup()
diff --git a/nvim/.config/nvim/lua/plugins/example.lua b/nvim/.config/nvim/lua/plugins/example.lua
deleted file mode 100644
index 17f53d6..0000000
--- a/nvim/.config/nvim/lua/plugins/example.lua
+++ /dev/null
@@ -1,197 +0,0 @@
--- since this is just an example spec, don't actually load anything here and return an empty spec
--- stylua: ignore
-if true then return {} end
-
--- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
---
--- In your plugin files, you can:
--- * add extra plugins
--- * disable/enabled LazyVim plugins
--- * override the configuration of LazyVim plugins
-return {
- -- add gruvbox
- { "ellisonleao/gruvbox.nvim" },
-
- -- Configure LazyVim to load gruvbox
- {
- "LazyVim/LazyVim",
- opts = {
- colorscheme = "gruvbox",
- },
- },
-
- -- change trouble config
- {
- "folke/trouble.nvim",
- -- opts will be merged with the parent spec
- opts = { use_diagnostic_signs = true },
- },
-
- -- disable trouble
- { "folke/trouble.nvim", enabled = false },
-
- -- override nvim-cmp and add cmp-emoji
- {
- "hrsh7th/nvim-cmp",
- dependencies = { "hrsh7th/cmp-emoji" },
- ---@param opts cmp.ConfigSchema
- opts = function(_, opts)
- table.insert(opts.sources, { name = "emoji" })
- end,
- },
-
- -- change some telescope options and a keymap to browse plugin files
- {
- "nvim-telescope/telescope.nvim",
- keys = {
- -- add a keymap to browse plugin files
- -- stylua: ignore
- {
- "<leader>fp",
- function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
- desc = "Find Plugin File",
- },
- },
- -- change some options
- opts = {
- defaults = {
- layout_strategy = "horizontal",
- layout_config = { prompt_position = "top" },
- sorting_strategy = "ascending",
- winblend = 0,
- },
- },
- },
-
- -- add pyright to lspconfig
- {
- "neovim/nvim-lspconfig",
- ---@class PluginLspOpts
- opts = {
- ---@type lspconfig.options
- servers = {
- -- pyright will be automatically installed with mason and loaded with lspconfig
- pyright = {},
- },
- },
- },
-
- -- add tsserver and setup with typescript.nvim instead of lspconfig
- {
- "neovim/nvim-lspconfig",
- dependencies = {
- "jose-elias-alvarez/typescript.nvim",
- init = function()
- require("lazyvim.util").lsp.on_attach(function(_, buffer)
- -- stylua: ignore
- vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
- vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
- end)
- end,
- },
- ---@class PluginLspOpts
- opts = {
- ---@type lspconfig.options
- servers = {
- -- tsserver will be automatically installed with mason and loaded with lspconfig
- tsserver = {},
- },
- -- you can do any additional lsp server setup here
- -- return true if you don't want this server to be setup with lspconfig
- ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
- setup = {
- -- example to setup with typescript.nvim
- tsserver = function(_, opts)
- require("typescript").setup({ server = opts })
- return true
- end,
- -- Specify * to use this function as a fallback for any server
- -- ["*"] = function(server, opts) end,
- },
- },
- },
-
- -- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
- -- treesitter, mason and typescript.nvim. So instead of the above, you can use:
- { import = "lazyvim.plugins.extras.lang.typescript" },
-
- -- add more treesitter parsers
- {
- "nvim-treesitter/nvim-treesitter",
- opts = {
- ensure_installed = {
- "bash",
- "html",
- "javascript",
- "json",
- "lua",
- "markdown",
- "markdown_inline",
- "python",
- "query",
- "regex",
- "tsx",
- "typescript",
- "vim",
- "yaml",
- },
- },
- },
-
- -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
- -- would overwrite `ensure_installed` with the new value.
- -- If you'd rather extend the default config, use the code below instead:
- {
- "nvim-treesitter/nvim-treesitter",
- opts = function(_, opts)
- -- add tsx and treesitter
- vim.list_extend(opts.ensure_installed, {
- "tsx",
- "typescript",
- })
- end,
- },
-
- -- the opts function can also be used to change the default opts:
- {
- "nvim-lualine/lualine.nvim",
- event = "VeryLazy",
- opts = function(_, opts)
- table.insert(opts.sections.lualine_x, {
- function()
- return "😄"
- end,
- })
- end,
- },
-
- -- or you can return new options to override all the defaults
- {
- "nvim-lualine/lualine.nvim",
- event = "VeryLazy",
- opts = function()
- return {
- --[[add your custom lualine config here]]
- }
- end,
- },
-
- -- use mini.starter instead of alpha
- { import = "lazyvim.plugins.extras.ui.mini-starter" },
-
- -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
- { import = "lazyvim.plugins.extras.lang.json" },
-
- -- add any tools you want to have installed below
- {
- "williamboman/mason.nvim",
- opts = {
- ensure_installed = {
- "stylua",
- "shellcheck",
- "shfmt",
- "flake8",
- },
- },
- },
-}
diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json
new file mode 100644
index 0000000..dc69b9a
--- /dev/null
+++ b/nvim/.config/nvim/nvim-pack-lock.json
@@ -0,0 +1,116 @@
+{
+ "plugins": {
+ "blink.cmp": {
+ "rev": "679a2ffad4bae720bb12e6bcdf57b0dd8b8a80f8",
+ "src": "https://github.com/saghen/blink.cmp"
+ },
+ "cmp-nvim-lsp": {
+ "rev": "cbc7b02bb99fae35cb42f514762b89b5126651ef",
+ "src": "https://github.com/hrsh7th/cmp-nvim-lsp"
+ },
+ "friendly-snippets": {
+ "rev": "6cd7280adead7f586db6fccbd15d2cac7e2188b9",
+ "src": "https://github.com/rafamadriz/friendly-snippets"
+ },
+ "harpoon": {
+ "rev": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3",
+ "src": "https://github.com/thePrimeagen/harpoon"
+ },
+ "lualine.nvim": {
+ "rev": "47f91c416daef12db467145e16bed5bbfe00add8",
+ "src": "https://github.com/nvim-lualine/lualine.nvim"
+ },
+ "mason-lspconfig.nvim": {
+ "rev": "25f609e7fca78af7cede4f9fa3af8a94b1c4950b",
+ "src": "https://github.com/mason-org/mason-lspconfig.nvim"
+ },
+ "mason.nvim": {
+ "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65",
+ "src": "https://github.com/mason-org/mason.nvim"
+ },
+ "mini.nvim": {
+ "rev": "3923662bf3d6ca49a9503f8d7196ea0450983e6a",
+ "src": "https://github.com/nvim-mini/mini.nvim"
+ },
+ "nim.nvim": {
+ "rev": "9ee8fdc04ad3d7fcbd9679e0be3477543f17b9d9",
+ "src": "https://github.com/alaviss/nim.nvim"
+ },
+ "nvim-autopairs": {
+ "rev": "59bce2eef357189c3305e25bc6dd2d138c1683f5",
+ "src": "https://github.com/windwp/nvim-autopairs"
+ },
+ "nvim-cmp": {
+ "rev": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca",
+ "src": "https://github.com/hrsh7th/nvim-cmp"
+ },
+ "nvim-colorizer.lua": {
+ "rev": "a065833f35a3a7cc3ef137ac88b5381da2ba302e",
+ "src": "https://github.com/norcalli/nvim-colorizer.lua"
+ },
+ "nvim-highlight-colors": {
+ "rev": "e2cb22089cc2358b2b995c09578224f142de6039",
+ "src": "https://github.com/brenoprata10/nvim-highlight-colors"
+ },
+ "nvim-lint": {
+ "rev": "4b03656c09c1561f89b6aa0665c15d292ba9499d",
+ "src": "https://github.com/mfussenegger/nvim-lint"
+ },
+ "nvim-lsp-file-operations": {
+ "rev": "b9c795d3973e8eec22706af14959bc60c579e771",
+ "src": "https://github.com/antosha417/nvim-lsp-file-operations"
+ },
+ "nvim-lspconfig": {
+ "rev": "8e2084bf5e40c79c1f42210a6ef96a0a4793a763",
+ "src": "https://github.com/neovim/nvim-lspconfig"
+ },
+ "nvim-treesitter": {
+ "rev": "539abf6da5ee8702e37b82cc953131dadd570da2",
+ "src": "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ "nvim-web-devicons": {
+ "rev": "d7462543c9e366c0d196c7f67a945eaaf5d99414",
+ "src": "https://github.com/nvim-tree/nvim-web-devicons"
+ },
+ "oil.nvim": {
+ "rev": "0fcc83805ad11cf714a949c98c605ed717e0b83e",
+ "src": "https://github.com/stevearc/oil.nvim"
+ },
+ "org-bullets.nvim": {
+ "rev": "503fe053550879cc202086a40454e46a87c41ddb",
+ "src": "https://github.com/akinsho/org-bullets.nvim"
+ },
+ "orgmode": {
+ "rev": "1ab7b456020de8bdaed7d8135b5376a0b4419b11",
+ "src": "https://github.com/nvim-orgmode/orgmode"
+ },
+ "plenary.nvim": {
+ "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
+ "src": "https://github.com/nvim-lua/plenary.nvim"
+ },
+ "render-markdown.nvim": {
+ "rev": "c7188a8f9d2953696b6303caccbf39c51fa2c1b1",
+ "src": "https://github.com/MeanderingProgrammer/render-markdown.nvim"
+ },
+ "telescope-ui-select.nvim": {
+ "rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2",
+ "src": "https://github.com/nvim-telescope/telescope-ui-select.nvim"
+ },
+ "telescope.nvim": {
+ "rev": "cfb85dcf7f822b79224e9e6aef9e8c794211b20b",
+ "src": "https://github.com/nvim-telescope/telescope.nvim"
+ },
+ "trouble.nvim": {
+ "rev": "bd67efe408d4816e25e8491cc5ad4088e708a69a",
+ "src": "https://github.com/folke/trouble.nvim"
+ },
+ "undotree": {
+ "rev": "0e6d41d55ad147407e4ba00a292973de8db0b836",
+ "src": "https://github.com/jiaoshijie/undotree"
+ },
+ "v-vim": {
+ "rev": "1dc1388bafb89072f8349dbd96f9462ae22237cb",
+ "src": "https://github.com/ollykel/v-vim"
+ }
+ }
+}
diff --git a/nvim/.config/nvim/stylua.toml b/nvim/.config/nvim/stylua.toml
deleted file mode 100644
index 5d6c50d..0000000
--- a/nvim/.config/nvim/stylua.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-indent_type = "Spaces"
-indent_width = 2
-column_width = 120 \ No newline at end of file