From b7ac0d5d1dac7930268155f7a0ad400450cc177a Mon Sep 17 00:00:00 2001
From: Noam Favier <95364866+NoamFav@users.noreply.github.com>
Date: Wed, 19 Feb 2025 09:26:24 +0100
Subject: [PATCH 01/83] Update issue templates
---
.github/ISSUE_TEMPLATE/bug_report.md | 38 +++++++++++++++++++++++
.github/ISSUE_TEMPLATE/feature_request.md | 20 ++++++++++++
2 files changed, 58 insertions(+)
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md
create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..dd84ea7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Smartphone (please complete the following information):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+ - Browser [e.g. stock browser, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..bbcbbe7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
From 434d2ddf6c3301e1f425eca2e3aa79062eb77ff8 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Tue, 25 Feb 2025 18:55:50 +0100
Subject: [PATCH 02/83] minor updates
---
lua/plugins.lua | 34 ----------------------------------
lua/plugins/blink-cmp.lua | 1 -
lua/plugins/colorschemes.lua | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 36 insertions(+), 35 deletions(-)
create mode 100644 lua/plugins/colorschemes.lua
diff --git a/lua/plugins.lua b/lua/plugins.lua
index 0266c43..e78fc42 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -1,38 +1,4 @@
return {
- -- Color scheme
- {
- "navarasu/onedark.nvim",
- opts = {
- transparent = true,
- styles = {
- sidebars = "transparent",
- floats = "transparent",
- },
- },
- },
- {
- "akai54/2077.nvim",
- },
- {
- "sainnhe/sonokai",
- opts = {
- transparent = true,
- styles = {
- sidebars = "transparent",
- floats = "transparent",
- },
- },
- },
- {
- "folke/tokyonight.nvim",
- opts = {
- transparent = true,
- styles = {
- sidebars = "transparent",
- floats = "transparent",
- },
- },
- },
{ "maxmellon/vim-jsx-pretty" },
diff --git a/lua/plugins/blink-cmp.lua b/lua/plugins/blink-cmp.lua
index 911d9d1..ca510cc 100644
--- a/lua/plugins/blink-cmp.lua
+++ b/lua/plugins/blink-cmp.lua
@@ -258,7 +258,6 @@ return {
require("luasnip").jump(direction)
end,
}
-
-- The default preset used by lazyvim accepts completions with enter
-- I don't like using enter because if on markdown and typing
-- something, but you want to go to the line below, if you press enter,
diff --git a/lua/plugins/colorschemes.lua b/lua/plugins/colorschemes.lua
new file mode 100644
index 0000000..8352e86
--- /dev/null
+++ b/lua/plugins/colorschemes.lua
@@ -0,0 +1,36 @@
+return {
+ {
+ "navarasu/onedark.nvim",
+ opts = {
+ transparent = true,
+ styles = {
+ sidebars = "transparent",
+ floats = "transparent",
+ },
+ },
+ },
+ {
+ "akai54/2077.nvim",
+ },
+ {
+ "sainnhe/sonokai",
+ opts = {
+ transparent = true,
+ styles = {
+ sidebars = "transparent",
+ floats = "transparent",
+ },
+ },
+ },
+ {
+ "folke/tokyonight.nvim",
+ opts = {
+ transparent = true,
+ styles = {
+ sidebars = "transparent",
+ floats = "transparent",
+ },
+ },
+ },
+ { "catppuccin/nvim", name = "catppuccin", priority = 1000 },
+}
From 2554d33b6065cacd22d732879b8d5ee3d7927cdb Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Tue, 25 Feb 2025 19:23:13 +0100
Subject: [PATCH 03/83] added more colorscheme
---
init.lua | 2 +-
lazy-lock.json | 1 +
lua/plugins/catpuccin.lua | 38 -----------
lua/plugins/colorschemes.lua | 122 ++++++++++++++++++++++++++++++++++-
4 files changed, 123 insertions(+), 40 deletions(-)
delete mode 100644 lua/plugins/catpuccin.lua
diff --git a/init.lua b/init.lua
index 0656e22..688b146 100644
--- a/init.lua
+++ b/init.lua
@@ -11,7 +11,7 @@ if not vim.loop.fs_stat(lazypath) then
end
vim.g.mapleader = " "
-
+vim.opt.termguicolors = true
vim.opt.rtp:prepend(lazypath)
require("lazy").setup("plugins")
diff --git a/lazy-lock.json b/lazy-lock.json
index 12974de..37e0ae6 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -9,6 +9,7 @@
"blink.cmp": { "branch": "main", "commit": "82d0720e7d6931c4fc7e3b37e536d1c37cb1ca6f" },
"catppuccin": { "branch": "main", "commit": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0" },
"copilot.vim": { "branch": "release", "commit": "cd7f01009fb7b30e22840cadc4faad88b05c6eef" },
+ "cyberdream.nvim": { "branch": "main", "commit": "b02c977aaf0283a0ec7a0184e6a459366325c93b" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"formatter.nvim": { "branch": "master", "commit": "eb89a1f3e079f1b9680bc7293b75fffccb5e1598" },
"git-blame.nvim": { "branch": "master", "commit": "2883a7460f611c2705b23f12d58d398d5ce6ec00" },
diff --git a/lua/plugins/catpuccin.lua b/lua/plugins/catpuccin.lua
deleted file mode 100644
index c8b04fd..0000000
--- a/lua/plugins/catpuccin.lua
+++ /dev/null
@@ -1,38 +0,0 @@
-return {
- "catppuccin/nvim",
- name = "catppuccin",
- lazy = true,
- opts = {
- flavour = "mocha",
- styles = {
- comments = { "italic" },
- functions = { "italic" },
- keywords = { "italic" },
- variables = { "NONE" },
- },
- integrations = {
- treesitter = true,
- native_lsp = {
- enabled = true,
- virtual_text = {
- errors = "italic",
- hints = "italic",
- warnings = "italic",
- information = "italic",
- },
- underlines = {
- errors = "underline",
- hints = "underline",
- warnings = "underline",
- information = "underline",
- },
- },
- lsp_trouble = true,
- cmp = true,
- telescope = true,
- gitsigns = true,
- nvimtree = true,
- which_key = true,
- },
- },
-}
diff --git a/lua/plugins/colorschemes.lua b/lua/plugins/colorschemes.lua
index 8352e86..6c33738 100644
--- a/lua/plugins/colorschemes.lua
+++ b/lua/plugins/colorschemes.lua
@@ -32,5 +32,125 @@ return {
},
},
},
- { "catppuccin/nvim", name = "catppuccin", priority = 1000 },
+ {
+ "scottmckendry/cyberdream.nvim",
+ lazy = false,
+ priority = 1000,
+ opts = {
+ -- Set light or dark variant
+ variant = "default", -- use "light" for the light variant. Also accepts "auto" to set dark or light colors based on the current value of `vim.o.background`
+
+ -- Enable transparent background
+ transparent = true,
+
+ -- Reduce the overall saturation of colours for a more muted look
+ saturation = 1, -- accepts a value between 0 and 1. 0 will be fully desaturated (greyscale) and 1 will be the full color (default)
+
+ -- Enable italics comments
+ italic_comments = false,
+
+ -- Replace all fillchars with ' ' for the ultimate clean look
+ hide_fillchars = false,
+
+ -- Apply a modern borderless look to pickers like Telescope, Snacks Picker & Fzf-Lua
+ borderless_pickers = false,
+
+ -- Set terminal colors used in `:terminal`
+ terminal_colors = true,
+
+ -- Improve start up time by caching highlights. Generate cache with :CyberdreamBuildCache and clear with :CyberdreamClearCache
+ cache = false,
+
+ -- Override highlight groups with your own colour values
+ highlights = {
+ -- Highlight groups to override, adding new groups is also possible
+ -- See `:h highlight-groups` for a list of highlight groups or run `:hi` to see all groups and their current values
+
+ -- Example:
+ Comment = { fg = "#696969", bg = "NONE", italic = true },
+
+ -- More examples can be found in `lua/cyberdream/extensions/*.lua`
+ },
+
+ -- Override a highlight group entirely using the built-in colour palette
+ overrides = function(colors) -- NOTE: This function nullifies the `highlights` option
+ -- Example:
+ return {
+ Comment = { fg = colors.green, bg = "NONE", italic = true },
+ ["@property"] = { fg = colors.magenta, bold = true },
+ }
+ end,
+
+ -- Override a color entirely
+ colors = {
+ -- For a list of colors see `lua/cyberdream/colours.lua`
+ -- Example:
+ bg = "#000000",
+ green = "#00ff00",
+ magenta = "#ff00ff",
+ },
+
+ -- Disable or enable colorscheme extensions
+ extensions = {
+ telescope = true,
+ notify = true,
+ mini = true,
+ },
+ },
+ },
+ {
+ "catppuccin/nvim",
+ name = "catppuccin",
+ priority = 1000,
+ opts = {
+ flavour = "auto", -- latte, frappe, macchiato, mocha
+ background = { -- :h background
+ light = "latte",
+ dark = "mocha",
+ },
+ transparent_background = true, -- disables setting the background color.
+ show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
+ term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`)
+ dim_inactive = {
+ enabled = false, -- dims the background color of inactive window
+ shade = "dark",
+ percentage = 0.15, -- percentage of the shade to apply to the inactive window
+ },
+ no_italic = false, -- Force no italic
+ no_bold = false, -- Force no bold
+ no_underline = false, -- Force no underline
+ styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
+ comments = { "italic" }, -- Change the style of comments
+ conditionals = { "italic" },
+ loops = {},
+ functions = {},
+ keywords = {},
+ strings = {},
+ variables = {},
+ numbers = {},
+ booleans = {},
+ properties = {},
+ types = {},
+ operators = {},
+ -- miscs = {}, -- Uncomment to turn off hard-coded styles
+ },
+ color_overrides = {},
+ custom_highlights = {},
+ default_integrations = true,
+ },
+ integrations = {
+ blink_cmp = true,
+ nvimtree = true,
+ treesitter = true,
+ notify = true,
+ harpoon = true,
+ indent_blankline = true,
+ mason = true,
+ copilot_vim = true,
+ snacks = {
+ enabled = true,
+ indent_scope_color = "",
+ },
+ },
+ },
}
From 2d356b4941943605b9d99e9c3233a6b35677cac8 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Fri, 28 Feb 2025 23:18:49 +0100
Subject: [PATCH 04/83] just an update
---
lazy-lock.json | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/lazy-lock.json b/lazy-lock.json
index 37e0ae6..6f8e1e9 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -4,10 +4,10 @@
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"apple_music.nvim": { "branch": "main", "commit": "8a21cd4731384d5628c3e2c0b2b88ff5c9e674c1" },
"auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" },
- "blink-cmp-dictionary": { "branch": "master", "commit": "97c060e0751e95d2a1fbffe2871712bb676092ab" },
+ "blink-cmp-dictionary": { "branch": "master", "commit": "3d49f934059fb59f657b547d90a526d00540634e" },
"blink-emoji.nvim": { "branch": "master", "commit": "a77aebc092ebece1eed108f301452ae774d6b67a" },
- "blink.cmp": { "branch": "main", "commit": "82d0720e7d6931c4fc7e3b37e536d1c37cb1ca6f" },
- "catppuccin": { "branch": "main", "commit": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0" },
+ "blink.cmp": { "branch": "main", "commit": "1e96d6451805209357c4fec2f7b29f916d560f9f" },
+ "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
"copilot.vim": { "branch": "release", "commit": "cd7f01009fb7b30e22840cadc4faad88b05c6eef" },
"cyberdream.nvim": { "branch": "main", "commit": "b02c977aaf0283a0ec7a0184e6a459366325c93b" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
@@ -19,22 +19,22 @@
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
- "lazy.nvim": { "branch": "main", "commit": "a8c6db5da7bd382094606340eed015d14fbb5654" },
+ "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" },
- "lspsaga.nvim": { "branch": "main", "commit": "da8a66c53241876bba140980469876db3a183604" },
+ "lspsaga.nvim": { "branch": "main", "commit": "6063935cf68de9aa6dd79f8e1caf5df0a9385de3" },
"lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
- "markview.nvim": { "branch": "main", "commit": "f1e2a57388b61fff8e9d7519ce05cee27a59a57e" },
+ "markview.nvim": { "branch": "main", "commit": "386a98e88e021a79df7f0494d8eb4145a78f59ae" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
- "mason-tool-installer.nvim": { "branch": "main", "commit": "374c78d3ebb5c53f43ea6bd906b6587b5e899b9e" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "5639d58a3d11ff7c05c8e31e159bfedae55d7961" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"nerdicons.nvim": { "branch": "main", "commit": "2d257ff9b00b7d1510704e0a565a6a7ede76b79a" },
"noisemachine.nvim": { "branch": "main", "commit": "18b81cdf914bc400e56b1f95a4fde3eab03dd758" },
"nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
"nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" },
- "nvim-lspconfig": { "branch": "master", "commit": "99c75820f2606b6b446cad7c75ec2ef7ee8a1317" },
+ "nvim-lspconfig": { "branch": "master", "commit": "62c5fac4c59be9e41b92ef62f3bb0fbdae3e2d9e" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
"nvim-tree.lua": { "branch": "master", "commit": "6709463b2d18e77f7a946027917aa00d4aaed6f4" },
- "nvim-treesitter": { "branch": "master", "commit": "93ce9feb4fabbb37b3e7f47d80f27be778f4d956" },
+ "nvim-treesitter": { "branch": "master", "commit": "99487eb34a397befce8182ff63347a21c5f4b881" },
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
"nvim-web-devicons": { "branch": "master", "commit": "1020869742ecb191f260818234517f4a1515cfe8" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "ec1a2431f8872f650a85ed71c24f0715df2e49c2" },
@@ -42,7 +42,7 @@
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"semantic-highlight.vim": { "branch": "master", "commit": "7e141c2b7be0f2600276004fd2e7382a3fa0f690" },
- "snacks.nvim": { "branch": "main", "commit": "bd0f46be9ae963d1a2ea12e53aedc633e1d726db" },
+ "snacks.nvim": { "branch": "main", "commit": "07f4b9adff7af45a7e0eb22d85a422e32ed4b1ca" },
"sonokai": { "branch": "master", "commit": "9679341d4141ed81376f2bdf5e69b78dc348d212" },
"tagbar": { "branch": "master", "commit": "8de7694c0aeda253073098bbc9fb890b2902ddb8" },
"tailwind-tools": { "branch": "master", "commit": "abe7368392345c53174979c2cf033e832de80ef8" },
From fa64620ec74fbe42a67e40bfec46e0b5d2136ae5 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Sun, 2 Mar 2025 00:11:02 +0100
Subject: [PATCH 05/83] again an update
---
lazy-lock.json | 12 ++++++------
lua/plugins/blink-cmp.lua | 1 -
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/lazy-lock.json b/lazy-lock.json
index 6f8e1e9..5215add 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -6,7 +6,7 @@
"auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" },
"blink-cmp-dictionary": { "branch": "master", "commit": "3d49f934059fb59f657b547d90a526d00540634e" },
"blink-emoji.nvim": { "branch": "master", "commit": "a77aebc092ebece1eed108f301452ae774d6b67a" },
- "blink.cmp": { "branch": "main", "commit": "1e96d6451805209357c4fec2f7b29f916d560f9f" },
+ "blink.cmp": { "branch": "main", "commit": "f29498e5f0f9a78bddb9d1c03c67e213896291d3" },
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
"copilot.vim": { "branch": "release", "commit": "cd7f01009fb7b30e22840cadc4faad88b05c6eef" },
"cyberdream.nvim": { "branch": "main", "commit": "b02c977aaf0283a0ec7a0184e6a459366325c93b" },
@@ -31,10 +31,10 @@
"noisemachine.nvim": { "branch": "main", "commit": "18b81cdf914bc400e56b1f95a4fde3eab03dd758" },
"nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
"nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" },
- "nvim-lspconfig": { "branch": "master", "commit": "62c5fac4c59be9e41b92ef62f3bb0fbdae3e2d9e" },
+ "nvim-lspconfig": { "branch": "master", "commit": "a3f8422b752e03334dbaf4a46940d8aee0acdebf" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
- "nvim-tree.lua": { "branch": "master", "commit": "6709463b2d18e77f7a946027917aa00d4aaed6f4" },
- "nvim-treesitter": { "branch": "master", "commit": "99487eb34a397befce8182ff63347a21c5f4b881" },
+ "nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
+ "nvim-treesitter": { "branch": "master", "commit": "c1efc9a9058bb54cfcb6f0a4fc14a4ac8a66bdaa" },
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
"nvim-web-devicons": { "branch": "master", "commit": "1020869742ecb191f260818234517f4a1515cfe8" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "ec1a2431f8872f650a85ed71c24f0715df2e49c2" },
@@ -42,7 +42,7 @@
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"semantic-highlight.vim": { "branch": "master", "commit": "7e141c2b7be0f2600276004fd2e7382a3fa0f690" },
- "snacks.nvim": { "branch": "main", "commit": "07f4b9adff7af45a7e0eb22d85a422e32ed4b1ca" },
+ "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"sonokai": { "branch": "master", "commit": "9679341d4141ed81376f2bdf5e69b78dc348d212" },
"tagbar": { "branch": "master", "commit": "8de7694c0aeda253073098bbc9fb890b2902ddb8" },
"tailwind-tools": { "branch": "master", "commit": "abe7368392345c53174979c2cf033e832de80ef8" },
@@ -55,6 +55,6 @@
"vim-gradle": { "branch": "master", "commit": "508629fa2a3be1b2052e4e553593f60d12dfc090" },
"vim-jsx-pretty": { "branch": "master", "commit": "6989f1663cc03d7da72b5ef1c03f87e6ddb70b41" },
"vim-matlab": { "branch": "master", "commit": "eafe639be77454b6bf46f149a7695de773b702b9" },
- "vimtex": { "branch": "master", "commit": "096a0450261abccb7944630fae66788712be46a8" },
+ "vimtex": { "branch": "master", "commit": "31250a81132181577a5abe800fac92879cc61e0d" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}
diff --git a/lua/plugins/blink-cmp.lua b/lua/plugins/blink-cmp.lua
index ca510cc..9922a17 100644
--- a/lua/plugins/blink-cmp.lua
+++ b/lua/plugins/blink-cmp.lua
@@ -40,7 +40,6 @@ return {
end
return true
end
-
-- NOTE: The new way to enable LuaSnip
-- Merge custom sources with the existing ones from lazyvim
-- NOTE: by default lazyvim already includes the lazydev source, so not adding it here again
From d49741ee0326b7a64f1922e6a9db2e111a4a7547 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Fri, 4 Apr 2025 11:07:12 +0200
Subject: [PATCH 06/83] removed noise machine until fixed
---
lazy-lock.json | 39 +++++++++++++++++++--------------------
lua/plugins.lua | 1 -
2 files changed, 19 insertions(+), 21 deletions(-)
diff --git a/lazy-lock.json b/lazy-lock.json
index 5215add..c82be95 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -6,37 +6,36 @@
"auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" },
"blink-cmp-dictionary": { "branch": "master", "commit": "3d49f934059fb59f657b547d90a526d00540634e" },
"blink-emoji.nvim": { "branch": "master", "commit": "a77aebc092ebece1eed108f301452ae774d6b67a" },
- "blink.cmp": { "branch": "main", "commit": "f29498e5f0f9a78bddb9d1c03c67e213896291d3" },
+ "blink.cmp": { "branch": "main", "commit": "ea29ab1620de5e61284abc01ae39e56df5a5fe53" },
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
- "copilot.vim": { "branch": "release", "commit": "cd7f01009fb7b30e22840cadc4faad88b05c6eef" },
- "cyberdream.nvim": { "branch": "main", "commit": "b02c977aaf0283a0ec7a0184e6a459366325c93b" },
+ "copilot.vim": { "branch": "release", "commit": "a9228e015528c9307890c48083c925eb98a64a79" },
+ "cyberdream.nvim": { "branch": "main", "commit": "c07db2e6cab236ead328afc2ae4e0e1e1c69cd68" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"formatter.nvim": { "branch": "master", "commit": "eb89a1f3e079f1b9680bc7293b75fffccb5e1598" },
- "git-blame.nvim": { "branch": "master", "commit": "2883a7460f611c2705b23f12d58d398d5ce6ec00" },
+ "git-blame.nvim": { "branch": "master", "commit": "b12da2156ec1c3f53f42c129201ff0bfed69c86e" },
"git-conflict.nvim": { "branch": "main", "commit": "a1badcd070d176172940eb55d9d59029dad1c5a6" },
- "gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" },
- "glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" },
+ "gitsigns.nvim": { "branch": "main", "commit": "3c76f7fabac723aa682365ef782f88a83ccdb4ac" },
+ "glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" },
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
- "indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
+ "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" },
- "lspsaga.nvim": { "branch": "main", "commit": "6063935cf68de9aa6dd79f8e1caf5df0a9385de3" },
- "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" },
+ "lspsaga.nvim": { "branch": "main", "commit": "778d56ff9b387dacd14ae648ed5604394b486f51" },
+ "lualine.nvim": { "branch": "master", "commit": "1517caa8fff05e4b4999857319d3b0609a7f57fa" },
"markview.nvim": { "branch": "main", "commit": "386a98e88e021a79df7f0494d8eb4145a78f59ae" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
- "mason-tool-installer.nvim": { "branch": "main", "commit": "5639d58a3d11ff7c05c8e31e159bfedae55d7961" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "4aa03a08c3705e622f2e7886783fd450f7749cdd" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"nerdicons.nvim": { "branch": "main", "commit": "2d257ff9b00b7d1510704e0a565a6a7ede76b79a" },
- "noisemachine.nvim": { "branch": "main", "commit": "18b81cdf914bc400e56b1f95a4fde3eab03dd758" },
- "nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
+ "nvim-autopairs": { "branch": "master", "commit": "84a81a7d1f28b381b32acf1e8fe5ff5bef4f7968" },
"nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" },
- "nvim-lspconfig": { "branch": "master", "commit": "a3f8422b752e03334dbaf4a46940d8aee0acdebf" },
+ "nvim-lspconfig": { "branch": "master", "commit": "40f120c10ea4b87311175539a183c3b75eab95a3" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
- "nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
- "nvim-treesitter": { "branch": "master", "commit": "c1efc9a9058bb54cfcb6f0a4fc14a4ac8a66bdaa" },
+ "nvim-tree.lua": { "branch": "master", "commit": "c3c193594213c5e2f89ec5d7729cad805f76b256" },
+ "nvim-treesitter": { "branch": "master", "commit": "997288c55253e27f782d991099490f80205d65bf" },
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
- "nvim-web-devicons": { "branch": "master", "commit": "1020869742ecb191f260818234517f4a1515cfe8" },
+ "nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "ec1a2431f8872f650a85ed71c24f0715df2e49c2" },
"onedark.nvim": { "branch": "master", "commit": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
@@ -45,16 +44,16 @@
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"sonokai": { "branch": "master", "commit": "9679341d4141ed81376f2bdf5e69b78dc348d212" },
"tagbar": { "branch": "master", "commit": "8de7694c0aeda253073098bbc9fb890b2902ddb8" },
- "tailwind-tools": { "branch": "master", "commit": "abe7368392345c53174979c2cf033e832de80ef8" },
+ "tailwind-tools": { "branch": "master", "commit": "2bd8ef6e96d07df83c0b785c40416b98607b2f93" },
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
- "telescope.nvim": { "branch": "master", "commit": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4" },
+ "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
- "toggleterm.nvim": { "branch": "main", "commit": "e76134e682c1a866e3dfcdaeb691eb7b01068668" },
+ "toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"tokyonight.nvim": { "branch": "main", "commit": "c8ea87cd34b0267c44a67e90ff8f6e7d6af46ff9" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"vim-gradle": { "branch": "master", "commit": "508629fa2a3be1b2052e4e553593f60d12dfc090" },
"vim-jsx-pretty": { "branch": "master", "commit": "6989f1663cc03d7da72b5ef1c03f87e6ddb70b41" },
"vim-matlab": { "branch": "master", "commit": "eafe639be77454b6bf46f149a7695de773b702b9" },
- "vimtex": { "branch": "master", "commit": "31250a81132181577a5abe800fac92879cc61e0d" },
+ "vimtex": { "branch": "master", "commit": "a531f6bf9ce61172e4ea8eea2ecbf59fd08c232a" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}
diff --git a/lua/plugins.lua b/lua/plugins.lua
index e78fc42..71e2cbf 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -50,5 +50,4 @@ return {
{ "OXY2DEV/markview.nvim" },
{ "NoamFav/apple_music.nvim" },
- { "Matchiye/noisemachine.nvim", dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" } },
}
From a5b98b41097ffd51f4d3be62aaf09ba189685db8 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Thu, 10 Apr 2025 22:50:40 +0200
Subject: [PATCH 07/83] disable copilot by default
---
init.lua | 2 ++
1 file changed, 2 insertions(+)
diff --git a/init.lua b/init.lua
index 688b146..0618031 100644
--- a/init.lua
+++ b/init.lua
@@ -17,6 +17,8 @@ require("lazy").setup("plugins")
vim.cmd("source ~/.config/nvim/keymaps.vim")
+vim.g.copilot_enabled = false
+
vim.diagnostic.config({
virtual_text = true,
update_in_insert = true,
From 9c150d7b1ff9b86895485727ffee3ea0156987a5 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Wed, 16 Apr 2025 19:28:57 +0200
Subject: [PATCH 08/83] updated Readme
---
README.md | 1050 +++++++++++++++++++++++++----------------------------
1 file changed, 499 insertions(+), 551 deletions(-)
diff --git a/README.md b/README.md
index 942706a..ae5ae7d 100644
--- a/README.md
+++ b/README.md
@@ -1,356 +1,284 @@
-# Neovim Configuration
+
-This repository contains my Neovim setup, optimized for development with rich features like LSP support, auto-completion, Git integration, file exploration, and more. The configuration leverages `lazy.nvim` for efficient plugin management and `mason.nvim` for managing language servers. Below is an overview of the features, plugin list, installation instructions, and specific plugin configurations.
+# 🚀 Neovim Configuration
-## Features
+[](https://neovim.io/)
+[](https://www.lua.org/)
+[](https://opensource.org/licenses/MIT)
-1. **Plugin Management**
+**A powerful, feature-rich Neovim setup for modern development**
- - **Lazy Loading and Performance**: Uses `lazy.nvim` to efficiently load plugins only when required, speeding up startup time and optimizing resource usage.
+
-2. **LSP and Autocompletion**
+
- - **LSP Support**: Powered by `mason.nvim` and `nvim-lspconfig`, providing autocompletion, diagnostics, and jump-to-definition for multiple programming languages.
- - **Autocompletion with Snippets**: `nvim-cmp` offers intelligent autocompletion, integrated with `LuaSnip` and sources like buffer, path, and LSP.
- - **AI Code Suggestions**: `copilot.vim` and `ChatGPT.nvim` provide AI-driven autocompletion and code suggestions.
+---
-3. **Code Navigation and Search**
+## 📚 Overview
- - **Fuzzy Finder**: `telescope.nvim` enables quick file, buffer, and symbol searching, with additional media file search via `telescope-media-files.nvim`.
- - **File Explorer**: `nvim-tree.lua` provides a navigable file tree with icons for files and folders.
- - **Semantic Highlighting**: `semantic-highlight.vim` adds semantic code highlighting, enhancing code readability and structure understanding.
- - **Tag Navigation**: `tagbar` plugin offers a sidebar for navigating functions, classes, and other tags in your code.
+This repository contains a comprehensive Neovim configuration optimized for development with rich features including LSP support, intelligent code completion, Git integration, and much more. The setup leverages `lazy.nvim` for efficient plugin management and `mason.nvim` for handling language servers.
-4. **Git Integration**
+
+✨ Key highlights
- - **Git Blame**: `git-blame.nvim` displays blame information inline, showing who last modified each line.
- - **Git Diff and Review**: `diffview.nvim` provides a visual diff of changes and review capabilities within Neovim.
- - **Conflict Management**: `git-conflict.nvim` helps manage and resolve Git merge conflicts directly in Neovim.
- - **LazyGit Integration**: `lazygit.nvim` provides an interface to use LazyGit directly within Neovim.
+- **Modern plugin manager** with lazy-loading for fast startup
+- **Intelligent code completion** with LSP integration
+- **AI-powered assistance** via Copilot and ChatGPT integration
+- **Beautiful UI** with customizable themes and status line
+- **Git integration** for seamless version control workflow
+- **Enhanced productivity** with quick navigation and search
+- **Specialized language support** for diverse programming needs
-5. **Editing and Productivity Enhancements**
+
- - **Commenting**: `Comment.nvim` allows easy toggling of comments in code.
- - **Auto-Save**: `auto-save.nvim` automatically saves files when they are modified.
- - **Auto Pairs**: `nvim-autopairs` automatically closes brackets and quotes as you type.
- - **Indentation Guides**: `indent-blankline.nvim` shows indentation levels for better code structure visualization.
- - **Todo Management**: `todo-comments.nvim` highlights and organizes TODO comments for easy tracking of tasks.
- - **Session Management**: `impatient.nvim` caches plugins for faster startup times.
+---
-6. **UI and Aesthetic Customization**
+## 🌟 Features
- - **Status Line**: `lualine.nvim` provides a customizable and minimal status line.
- - **Icons**: `nvim-web-devicons` adds file-type icons, enhancing the look of Neovim's interface.
- - **Color Schemes**: Includes themes like `onedark.nvim`, `sonokai`, and `2077.nvim` for aesthetic customization.
- - **Dashboard**: `dashboard-nvim` provides a start screen with quick access to frequently used files and sessions.
- - **Notifications**: `nvim-notify` manages pop-up notifications with customizable visuals.
+
+🧩 Plugin Management
-7. **Terminal Integration**
+- **Lazy Loading**: Uses `lazy.nvim` to efficiently load plugins only when required
+- **Performance Optimization**: Minimizes startup time and resource usage
+- **Module Organization**: Clean, modular configuration structure
- - **Toggleable Terminal**: `toggleterm.nvim` adds a terminal inside Neovim that can be toggled on and off with a keybind.
+
-8. **Specialized Language Support**
+
+🧠 LSP and Autocompletion
- - **LaTeX Support**: `vimtex` provides rich LaTeX support for compiling and navigating LaTeX projects.
- - **Matlab Support**: `vim-matlab` offers Matlab language support, including syntax highlighting and file structure navigation.
- - **JavaScript JSX Enhancements**: `vim-jsx-pretty` improves JSX syntax highlighting for JavaScript projects.
+- **LSP Support**: Powered by `mason.nvim` and `nvim-lspconfig`
+- **Intelligent Autocompletion**: Using `nvim-cmp` with multiple sources
+- **Snippet Integration**: Enhanced with `LuaSnip` for code snippets
+- **AI Coding Assistants**:
+ - `copilot.vim` for AI-powered code suggestions
+ - `ChatGPT.nvim` for AI-driven assistance
-9. **Other Utilities**
- - **Snippet Management**: `vim-vsnip` manages code snippets for quick insertion.
- - **Media File Search**: `telescope-media-files.nvim` allows searching within media files.
- - **Which Key**: `which-key.nvim` shows possible keybindings, improving discoverability of shortcuts.
+
-## Installation
+
+🔍 Code Navigation and Search
-### Prerequisites
+- **Fuzzy Finding**: `telescope.nvim` for quick file and symbol search
+- **File Explorer**: `nvim-tree.lua` with file icons and navigation
+- **Semantic Highlighting**: Enhanced code readability with `semantic-highlight.vim`
+- **Tag Navigation**: Code structure browsing with `tagbar`
+- **Fast File Switching**: Quick file marking and jumping with `harpoon`
-#### Neovim
+
-Ensure you have **Neovim v0.5+** installed. You can install or update Neovim with the following commands based on your system:
+
+📝 Git Integration
-- **macOS (Homebrew)**
- ```bash
- brew install neovim
- ```
-- **Ubuntu (APT)**
- ```bash
- sudo apt update
- sudo apt install neovim
- ```
-- **Windows**
- - Download the latest release from the [Neovim GitHub Releases](https://github.com/neovim/neovim/releases) page.
- - Extract the contents and add the `nvim` executable to your system path.
-
-#### Package Managers (for Dependencies)
-
-- **Homebrew (macOS and Linux)**: Recommended for managing dependencies and installations.
-
- - Install Homebrew if you haven’t already:
- ```bash
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- ```
-
-- **APT (Ubuntu/Debian)**
- - For Ubuntu and Debian users, most packages can be installed via APT.
-
-#### Additional Dependencies
-
-These dependencies are needed for certain features and languages supported by your Neovim setup:
-
-- **Java**: Required for Java development and some plugins that rely on Java runtime.
-
- - **macOS**:
- ```bash
- brew install java
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install default-jdk
- ```
- - **Windows**:
- - Download and install Java from [Oracle’s website](https://www.oracle.com/java/technologies/javase-downloads.html) or [AdoptOpenJDK](https://adoptopenjdk.net/).
-
-- **Python**: Required for Python development and some plugins.
-
- - **macOS**:
- ```bash
- brew install python
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install python3
- ```
- - **Windows**:
- - Download from [python.org](https://www.python.org/downloads/) and install it.
-
-- **SQL**: Required for SQLite database support.
-
- - **macOS**:
- ```bash
- brew install sqlite
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install sqlite3
- ```
- - **Windows**:
- - Download the latest version from [sqlite.org](https://www.sqlite.org/download.html) and add it to your system path.
-
-- **PHP**: Required for PHP development.
-
- - **macOS**:
- ```bash
- brew install php
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install php
- ```
- - **Windows**:
- - Download from [php.net](https://www.php.net/downloads) and install it.
-
-- **Go**: Required for Go development.
-
- - **macOS**:
- ```bash
- brew install go
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install golang
- ```
- - **Windows**:
- - Download from [golang.org](https://golang.org/dl/).
-
-- **Rust**: Required for Rust development.
-
- - **macOS**:
- ```bash
- brew install rust
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install rustc
- ```
- - **Windows**:
- - Download and install Rust from [rust-lang.org](https://www.rust-lang.org/).
-
-- **Ruby**: Required for Ruby development and some plugins.
-
- - **macOS**:
- ```bash
- brew install ruby
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install ruby-full
- ```
- - **Windows**:
- - Download from [ruby-lang.org](https://www.ruby-lang.org/en/downloads/) and install it.
-
-- **Haskell**: Required for Haskell development.
-
- - **macOS**:
- ```bash
- brew install ghc cabal-install
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install ghc cabal-install
- ```
- - **Windows**:
- - Download from [haskell.org](https://www.haskell.org/platform/windows.html) and install it.
-
-- **Node.js & npm**: Required for JavaScript, TypeScript development, and many language servers.
-
- - **macOS**:
- ```bash
- brew install node
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install nodejs npm
- ```
- - **Windows**:
- - Download from [nodejs.org](https://nodejs.org/).
-
-- **LaTeX** (for `vimtex` and `latexindent` formatting): Required for LaTeX development.
-
- - **macOS**:
- ```bash
- brew install --cask mactex
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install texlive-full
- ```
- - **Windows**:
- - Install MiKTeX from [miktex.org](https://miktex.org/).
-
-- **Perl**: Required for Perl development.
-
- - **macOS**:
- ```bash
- brew install perl
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install perl
- ```
-
-- **Kotlin**: Required for Kotlin development.
-
- - **macOS**:
- ```bash
- brew install kotlin
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install kotlin
- ```
-
-- **Docker**: Required for Docker-related development.
-
- - **macOS**:
- ```bash
- brew install --cask docker
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install docker.io
- ```
- - **Windows**:
- - Install Docker Desktop from [docker.com](https://www.docker.com/products/docker-desktop).
-
-- **Git**: Necessary for version control and Git-related plugins.
-
- - **macOS**:
- ```bash
- brew install git
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install git
- ```
- - **Windows**:
- - Download from [git-scm.com](https://git-scm.com/download/win).
-
-- **LazyGit**: For a more visual Git experience within Neovim.
-
- - **macOS**:
- ```bash
- brew install lazygit
- ```
- - **Ubuntu**:
- ```bash
- sudo add-apt-repository ppa:lazygit-team/release
- sudo apt update
- sudo apt install lazygit
- ```
- - **Windows**:
- - Download from [LazyGit Releases](https://github.com/jesseduffield/lazygit/releases).
-
-- **Ripgrep**: Required by Telescope for live grep functionality.
- - **macOS**:
- ```bash
- brew install ripgrep
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install ripgrep
- ```
- - **Windows**:
- - Download from [Ripgrep GitHub Releases](https://github.com/BurntSushi/ripgrep/releases).
-
-### Language Support Requirements
-
-The following additional language server binaries are required for `mason.nvim` to provide support for specific programming languages. Run these commands as needed to install servers or formatters for each language.
-
-- **Python**
+- **Inline Blame**: See commit information with `git-blame.nvim`
+- **Change Visualization**: View diffs with `diffview.nvim`
+- **Conflict Resolution**: Handle merge conflicts via `git-conflict.nvim`
+- **Git UI**: Full Git experience with `lazygit.nvim` integration
+- **Change Indicators**: Track changes in the gutter with `gitsigns.nvim`
- ```bash
- # Install python3 and pip if not installed
- sudo apt install python3 python3-pip # Ubuntu
- brew install python # macOS
+
- # Install Python language server
- pip install 'python-lsp-server[all]'
- ```
+
+⚡ Editing and Productivity
-- **JavaScript/TypeScript**
+- **Smart Commenting**: Toggle comments easily with `Comment.nvim`
+- **Auto-saving**: Automatic file saving with `auto-save.nvim`
+- **Bracket Pairing**: Auto-close brackets with `nvim-autopairs`
+- **Code Structure**: Visual indentation with `indent-blankline.nvim`
+- **Task Management**: Highlighted TODOs with `todo-comments.nvim`
+- **Performance**: Faster startup with `impatient.nvim`
- ```bash
- npm install -g typescript typescript-language-server
- ```
+
-- **Go**
+
+🎨 UI and Aesthetics
- ```bash
- go install golang.org/x/tools/gopls@latest
- ```
+- **Status Line**: Customizable interface with `lualine.nvim`
+- **File Icons**: Enhanced visuals with `nvim-web-devicons`
+- **Theme Selection**: Multiple themes including `onedark.nvim`, `sonokai`, and `2077.nvim`
+- **Welcome Screen**: Custom dashboard with `dashboard-nvim`
+- **Notifications**: Stylish alerts with `nvim-notify`
+
+
+
+
+💻 Terminal Integration
+
+- **Integrated Terminal**: Toggle-able terminal with `toggleterm.nvim`
+- **Visual Terminal**: Beautifully integrated within the editor
+
+
+
+
+🔧 Specialized Language Support
-- **Rust**
+- **LaTeX**: Rich typesetting with `vimtex`
+- **MATLAB**: Syntax and navigation via `vim-matlab`
+- **JSX/React**: Enhanced highlighting with `vim-jsx-pretty`
+- **Gradle**: Build automation support with `vim-gradle`
+
+
+---
+
+## 🔧 Installation
+
+### Prerequisites
+
+
+Neovim Requirements
+
+Ensure you have **Neovim v0.5+** installed:
+
+| OS | Installation Command |
+|----|---------------------|
+| **macOS** | `brew install neovim` |
+| **Ubuntu** | `sudo apt update && sudo apt install neovim` |
+| **Windows** | Download from [Neovim Releases](https://github.com/neovim/neovim/releases) |
+
+
+
+
+Package Managers
+
+- **Homebrew (macOS/Linux):**
```bash
- # Install rust-analyzer
- brew install rust-analyzer # macOS
- sudo apt install rust-analyzer # Ubuntu
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
-- **LaTeX (if using `vimtex`)**
- - You’ll need a LaTeX distribution installed:
- - **macOS**:
- ```bash
- brew install --cask mactex
- ```
- - **Ubuntu**:
- ```bash
- sudo apt install texlive-full
- ```
- - **Windows**:
- - Install MiKTeX from [miktex.org](https://miktex.org/).
-
-### Installing the Configuration
+- **APT (Ubuntu/Debian):**
+ Most packages can be installed via the default package manager.
+
+
+
+
+Language Dependencies
+
+
+
+| Language |
+macOS |
+Ubuntu |
+Windows |
+
+
+| Java |
+brew install java |
+sudo apt install default-jdk |
+Install from AdoptOpenJDK |
+
+
+| Python |
+brew install python |
+sudo apt install python3 |
+Install from python.org |
+
+
+| Node.js |
+brew install node |
+sudo apt install nodejs npm |
+Install from nodejs.org |
+
+
+| Go |
+brew install go |
+sudo apt install golang |
+Install from golang.org |
+
+
+| Rust |
+brew install rust |
+sudo apt install rustc |
+Install from rust-lang.org |
+
+
+| Ruby |
+brew install ruby |
+sudo apt install ruby-full |
+Install from ruby-lang.org |
+
+
+| LaTeX |
+brew install --cask mactex |
+sudo apt install texlive-full |
+Install from miktex.org |
+
+
+
+
+
+
+Additional Tools
+
+
+
+| Tool |
+macOS |
+Ubuntu |
+Windows |
+
+
+| Git |
+brew install git |
+sudo apt install git |
+Install from git-scm.com |
+
+
+| LazyGit |
+brew install lazygit |
+sudo add-apt-repository ppa:lazygit-team/release sudo apt update sudo apt install lazygit |
+Download from LazyGit Releases |
+
+
+| Ripgrep |
+brew install ripgrep |
+sudo apt install ripgrep |
+Download from Ripgrep Releases |
+
+
+| Docker |
+brew install --cask docker |
+sudo apt install docker.io |
+Install Docker Desktop |
+
+
+
+
+
+
+Language Server Setup
+
+
+
+| Language |
+Installation |
+
+
+| Python |
+pip install 'python-lsp-server[all]' |
+
+
+| JavaScript/TypeScript |
+npm install -g typescript typescript-language-server |
+
+
+| Go |
+go install golang.org/x/tools/gopls@latest |
+
+
+| Rust |
+brew install rust-analyzer (macOS)
sudo apt install rust-analyzer (Ubuntu) |
+
+
+
+Most language servers can be installed directly through Mason (`:Mason`) once Neovim is configured.
+
+
+
+### Configuration Installation
+
+
+Setup Steps
1. **Clone the Repository**
@@ -359,257 +287,277 @@ The following additional language server binaries are required for `mason.nvim`
```
2. **Open Neovim and Install Plugins**
- Open Neovim and use `lazy.nvim` to install plugins:
```vim
:Lazy install
```
3. **Verify Language Server Installation**
- Run `:Mason` in Neovim to open Mason’s interface. Install or update any required language servers from within Mason's menu.
+
+ Run `:Mason` in Neovim to install or update language servers.
+
+
---
-## Plugin List
-
-| Plugin | Description |
-| ---------------------------- | ------------------------------------------------------ |
-| `2077.nvim` | Cyberpunk-themed colorscheme for Neovim |
-| `auto-save.nvim` | Automatically saves files when changes are detected |
-| `ChatGPT.nvim` | ChatGPT integration for code suggestions and AI help |
-| `cmp-buffer` | Source for buffer words in autocompletion |
-| `cmp-cmdline` | Source for Neovim command-line completion |
-| `cmp-nvim-lsp` | Provides LSP completion source for `nvim-cmp` |
-| `cmp-path` | File path source for autocompletion |
-| `cmp-vsnip` | Snippet support for `nvim-cmp` with `vim-vsnip` |
-| `Comment.nvim` | Plugin for easy commenting in code |
-| `copilot.vim` | GitHub Copilot integration for AI-driven suggestions |
-| `dashboard-nvim` | Customizable start screen dashboard |
-| `diffview.nvim` | Git diff viewer for comparing file changes |
-| `git-blame.nvim` | Shows Git blame info inline |
-| `git-conflict.nvim` | Helps manage and resolve Git merge conflicts |
-| `gitsigns.nvim` | Shows Git changes in the sign column |
-| `harpoon` | Mark and easily switch between files |
-| `impatient.nvim` | Speeds up Neovim startup by caching Lua modules |
-| `indent-blankline.nvim` | Adds indentation guides for better code readability |
-| `lazy.nvim` | Plugin manager for lazy loading plugins |
-| `lazygit.nvim` | Integration of LazyGit in Neovim |
-| `lualine.nvim` | Highly customizable status line |
-| `LuaSnip` | Snippet engine for Neovim |
-| `nui.nvim` | UI component library for Neovim |
-| `nvim-autopairs` | Automatically closes pairs like parentheses and braces |
-| `nvim-cmp` | Completion engine with support for multiple sources |
-| `nvim-notify` | Popup notification manager |
-| `nvim-tree.lua` | File explorer with icons for file types |
-| `nvim-treesitter` | Syntax highlighting and parsing with Treesitter |
-| `nvim-ts-rainbow` | Rainbow parentheses and brackets in Treesitter |
-| `nvim-web-devicons` | Adds icons to Neovim plugins |
-| `onedark.nvim` | OneDark colorscheme for Neovim |
-| `plenary.nvim` | Lua utility functions used by other plugins |
-| `popup.nvim` | Popup API for Neovim plugins |
-| `semantic-highlight.vim` | Provides semantic highlighting based on Treesitter |
-| `sonokai` | Colorscheme inspired by Monokai |
-| `tagbar` | Displays tags in a side panel for code navigation |
-| `telescope-media-files.nvim` | Media files extension for Telescope |
-| `telescope.nvim` | Fuzzy finder and search tool |
-| `todo-comments.nvim` | Highlight TODO comments in code |
-| `toggleterm.nvim` | Easily toggle between terminal windows |
-| `trouble.nvim` | Pretty diagnostics and quickfix list |
-| `vim-gradle` | Syntax highlighting and support for Gradle files |
-| `vim-jsx-pretty` | Improved JSX/React syntax highlighting |
-| `vim-matlab` | MATLAB support for syntax and indentation |
-| `vim-vsnip` | Lightweight snippet plugin for Vim |
-| `vimtex` | LaTeX support with syntax highlighting and compilation |
-| `which-key.nvim` | Displays possible keybindings on a key press |
-| `formatter.nvim` | Plugin for formatting code using external formatters |
-| `lspsaga.nvim` | Light-weight UI for LSP features |
-| `mason.nvim` | Manages external language servers and tools |
-| `mason-lspconfig.nvim` | Integrates Mason with Neovim's LSP client |
-| `mason-tool-installer.nvim` | Installs additional tools via Mason |
-| `nvim-code-action-menu` | A code action menu for Neovim LSP |
-| `nvim-lspconfig` | Configurations for built-in LSP client |
-
-For a complete list githubs, see the [Plugins Section](#full-plugin-list).
+## ⌨️ Key Mappings
+
+
+General Navigation
+
+| Mapping | Action |
+|---------|--------|
+| `bn` | Next buffer |
+| `bp` | Previous buffer |
+| `bd` | Delete buffer |
+| `tn` | Next tab |
+| `tp` | Previous tab |
+| `to` | Open new tab |
+| `tc` | Close tab |
+| `pd` | Page down |
+| `pu` | Page up |
+
+
+
+
+File and Code Navigation
+
+| Mapping | Action |
+|---------|--------|
+| `ff` | Find files |
+| `fe` | File browser |
+| `fd` | Find diagnostics |
+| `gf` | Git files |
+| `gs` | Grep current word |
+| `` | Toggle file explorer |
+| `r` | Refresh file explorer |
+| `n` | Find current file |
+| `tt` | Toggle tag browser |
+| `tf` | Focus tag browser |
+
+
+
+
+LSP and Diagnostics
+
+| Mapping | Action |
+|---------|--------|
+| `dn` | Next diagnostic |
+| `dp` | Previous diagnostic |
+| `df` | Format buffer |
+| `rn` | Rename symbol |
+| `K` | Show documentation |
+| `ca` | Code action menu |
+| `cl` | Toggle diagnostics |
+| `xx` | Toggle diagnostics view |
+| `xX` | Buffer diagnostics |
+| `cs` | Toggle symbols |
+| `cc` | Close diagnostics |
+
+
+
+
+Git Operations
+
+| Mapping | Action |
+|---------|--------|
+| `lg` | Open LazyGit |
+| `qf` | Show quickfix |
+| `xQ` | Toggle quickfix |
+
+
+
+
+Maven Commands
+
+| Mapping | Action |
+|---------|--------|
+| `mm` | mvn clean install |
+| `mp` | mvn clean package |
+| `mc` | mvn clean |
+| `mt` | mvn test |
+| `me` | mvn exec:exec |
+| `mf` | mvn javafx:run |
+| `mj` | mvn javadoc:javadoc |
+
+
+
+
+AI and Copilot
+
+| Mapping | Action |
+|---------|--------|
+| `` | Accept Copilot suggestion |
+| `` | Dismiss Copilot suggestion |
+| `ai` | Open ChatGPT window |
+| `ac` | Complete code with ChatGPT |
+| `ae` | Edit with ChatGPT instruction |
+
+
+
+
+Terminal and Miscellaneous
+
+| Mapping | Action |
+|---------|--------|
+| `` | Toggle terminal |
+| `s` | Toggle semantic highlighting |
+| `` | Toggle focus on file explorer |
+| `fb` | Find buffers |
+| `fh` | Find help |
+| `fg` | Live grep text |
+| `rm` | Run MATLAB script |
+
+
---
-## Key Mappings
-
-Key mappings are specified in `keymaps.vim` to streamline the workflow. Notable mappings include:
-
-### General Key Mappings
-
-- **`bn`**: Move to the next buffer.
-- **`bp`**: Move to the previous buffer.
-- **`bd`**: Delete the current buffer.
-- **`tn`**: Move to the next tab.
-- **`tp`**: Move to the previous tab.
-- **`to`**: Open a new tab.
-- **`tc`**: Close the current tab.
-- **`pd`**: Page Down.
-- **`pu`**: Page Up.
-- **`ff`**: Find files using Telescope.
-- **`fe`**: Open Telescope file browser.
-- **`fd`**: Open diagnostics using Telescope.
-- **`gf`**: Find Git files with Telescope.
-- **`gs`**: Grep the current word with Telescope.
-- **``**: Toggle the NvimTree file explorer.
-- **`r`**: Refresh NvimTree.
-- **`n`**: Find the current file in NvimTree.
-- **``**: Toggle the terminal using ToggleTerm.
-- **`tt`**: Toggle Tagbar view.
-- **`tf`**: Toggle focus on Tagbar.
-
-### Git Mappings
-
-- **`lg`**: Open LazyGit directly.
-- **`qf`**: Show quickfix list with code actions.
-- **`xQ`**: Toggle the quickfix list in Trouble.
-
-### Diagnostic and LSP Key Mappings
-
-- **`dn`**: Go to the next diagnostic message.
-- **`dp`**: Go to the previous diagnostic message.
-- **`df`**: Format the current buffer.
-- **`rn`**: Rename symbol using LSP Saga.
-- **`K`**: Show hover documentation with LSP.
-- **`ca`**: Open the code action menu.
-- **`cl`**: Toggle LSP diagnostics on the right side using Trouble.
-- **`xx`**: Toggle diagnostics view on the right.
-- **`xX`**: Toggle diagnostics for the current buffer in Trouble.
-- **`cs`**: Toggle symbols in Trouble.
-- **`cc`**: Close Trouble diagnostics.
-
-### Maven Shortcuts
-
-- **`mm`**: Run `mvn clean install`.
-- **`mp`**: Run `mvn clean package`.
-- **`mc`**: Run `mvn clean`.
-- **`mt`**: Run `mvn test`.
-- **`me`**: Run `mvn exec:exec`.
-- **`mf`**: Run JavaFX with `mvn javafx:run`.
-- **`mj`**: Generate Javadoc with `mvn javadoc:javadoc`.
-
-### Copilot Key Mappings
-
-- **``**: Accept Copilot suggestion in insert mode.
-- **``**: Dismiss Copilot suggestion in insert mode.
-
-### Telescope Mappings for Navigation
-
-- **`fb`**: Find buffers.
-- **`fh`**: Find help tags.
-- **`fg`**: Live grep for text.
-
-### Code Actions
-
-- **`ca`**: Open the code action menu with `CodeActionMenu`.
-- **`qf`**: Quick fix options.
-- **`rm`**: Run MATLAB script (Linux/Unix-specific setup).
-
-### AI-related Mappings (ChatGPT and Copilot)
-
-- **`ai`**: Open ChatGPT window.
-- **`ac`**: Complete code with ChatGPT.
-- **`ae`**: Edit with instruction in ChatGPT.
-
-### Buffer and Tab Navigation
-
-- **`bn`**: Move to the next buffer.
-- **`bp`**: Move to the previous buffer.
-- **`bd`**: Delete the current buffer.
-- **`tn`**: Move to the next tab.
-- **`tp`**: Move to the previous tab.
-- **`to`**: Open a new tab.
-- **`tc`**: Close the current tab.
-
-### Miscellaneous
-
-- **`s`**: Toggle semantic highlighting.
-- **``**: Toggle focus on NvimTree file explorer.
-- **`t`**: Toggle Tagbar focus.
-- **`xx`**: Toggle diagnostics view using Trouble.
-
-Refer to `keymaps.vim` for additional custom mappings.
+## 🧩 Plugin Gallery
+
+
+Core Plugins
+
+| Plugin | Description |
+|--------|-------------|
+| [lazy.nvim](https://github.com/folke/lazy.nvim) | Modern plugin manager |
+| [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) | Configurations for built-in LSP client |
+| [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) | Completion engine |
+| [mason.nvim](https://github.com/williamboman/mason.nvim) | Package manager for LSP servers |
+| [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | Fuzzy finder and search tool |
+| [nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua) | File explorer |
+| [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) | Advanced syntax highlighting |
+
+
+
+
+UI and Appearance
+
+| Plugin | Description |
+|--------|-------------|
+| [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) | Status line |
+| [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) | File icons |
+| [onedark.nvim](https://github.com/navarasu/onedark.nvim) | OneDark theme |
+| [sonokai](https://github.com/sainnhe/sonokai) | Sonokai theme |
+| [2077.nvim](https://github.com/hemangsk/2077.nvim) | Cyberpunk theme |
+| [dashboard-nvim](https://github.com/glepnir/dashboard-nvim) | Start screen |
+| [nvim-notify](https://github.com/rcarriga/nvim-notify) | Notifications |
+| [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) | Indent guides |
+| [nvim-ts-rainbow](https://github.com/p00f/nvim-ts-rainbow) | Rainbow parentheses |
+
+
+
+
+Git Integration
+
+| Plugin | Description |
+|--------|-------------|
+| [git-blame.nvim](https://github.com/f-person/git-blame.nvim) | Git blame information |
+| [diffview.nvim](https://github.com/sindrets/diffview.nvim) | Git diff viewer |
+| [git-conflict.nvim](https://github.com/akinsho/git-conflict.nvim) | Conflict resolution |
+| [lazygit.nvim](https://github.com/kdheepak/lazygit.nvim) | LazyGit integration |
+| [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) | Git status indicators |
+
+
+
+
+Code Enhancement
+
+| Plugin | Description |
+|--------|-------------|
+| [LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet engine |
+| [nvim-autopairs](https://github.com/windwp/nvim-autopairs) | Auto-close brackets |
+| [Comment.nvim](https://github.com/numToStr/Comment.nvim) | Code commenting |
+| [auto-save.nvim](https://github.com/Pocco81/auto-save.nvim) | Auto-save files |
+| [formatter.nvim](https://github.com/mhartington/formatter.nvim) | Code formatting |
+| [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) | Highlight TODOs |
+| [tagbar](https://github.com/preservim/tagbar) | Code structure view |
+| [semantic-highlight.vim](https://github.com/thiagoalessio/semantic-highlight.vim) | Semantic highlighting |
+| [which-key.nvim](https://github.com/folke/which-key.nvim) | Keybinding hints |
+
+
+
+
+Language Specific
+
+| Plugin | Description |
+|--------|-------------|
+| [vimtex](https://github.com/lervag/vimtex) | LaTeX support |
+| [vim-matlab](https://github.com/swlkr/vim-matlab) | MATLAB support |
+| [vim-jsx-pretty](https://github.com/MaxMEllon/vim-jsx-pretty) | JSX/React syntax |
+| [vim-gradle](https://github.com/tfnico/vim-gradle) | Gradle support |
+
+
+
+
+AI and Assistance
+
+| Plugin | Description |
+|--------|-------------|
+| [copilot.vim](https://github.com/github/copilot.vim) | GitHub Copilot integration |
+| [ChatGPT.nvim](https://github.com/jackMort/ChatGPT.nvim) | ChatGPT integration |
+
+
+
+
+Completion Sources
+
+| Plugin | Description |
+|--------|-------------|
+| [cmp-buffer](https://github.com/hrsh7th/cmp-buffer) | Buffer words |
+| [cmp-cmdline](https://github.com/hrsh7th/cmp-cmdline) | Command line |
+| [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) | LSP source |
+| [cmp-path](https://github.com/hrsh7th/cmp-path) | File paths |
+| [cmp-vsnip](https://github.com/hrsh7th/cmp-vsnip) | Snippet integration |
+
+
+
+
+Utility Plugins
+
+| Plugin | Description |
+|--------|-------------|
+| [plenary.nvim](https://github.com/nvim-lua/plenary.nvim) | Lua utilities |
+| [popup.nvim](https://github.com/nvim-lua/popup.nvim) | Popup API |
+| [nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI components |
+| [impatient.nvim](https://github.com/lewis6991/impatient.nvim) | Startup optimization |
+| [toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal integration |
+| [trouble.nvim](https://github.com/folke/trouble.nvim) | Diagnostics list |
+| [harpoon](https://github.com/ThePrimeagen/harpoon) | File navigation marks |
+
+
---
-## File Structure and Configuration Details
+## 📂 Configuration Structure
+
+```
+~/.config/nvim/
+├── init.lua # Main entry point
+├── lua/ # Lua configuration directory
+│ ├── git.lua # Git plugin configuration
+│ ├── gpt.lua # AI assistant configuration
+│ ├── latex.lua # LaTeX support setup
+│ ├── lualine.lua # Status line configuration
+│ ├── mason.lua # LSP manager configuration
+│ ├── notifications.lua # Notification system
+│ ├── nvim-cmp.lua # Completion engine setup
+│ ├── nvim-tree.lua # File explorer configuration
+│ └── telescope.lua # Fuzzy finder setup
+└── keymaps.vim # Key mappings
+```
-- **`init.lua`**: Main configuration file, loads plugins and settings.
-- **`lua/` Directory**: Contains individual configuration files for plugins and other settings.
+---
+
+## 📄 License
-### Key Files and Their Configurations:
+This configuration is licensed under the [MIT License](LICENSE).
-- **`git.lua`**: Configures Git-related plugins such as `git-blame.nvim` and `diffview.nvim` for version control.
-- **`gpt.lua`**: Settings for AI-based autocompletion with `copilot.vim`.
-- **`latex.lua`**: Sets up LaTeX support, likely with `vimtex` for typesetting.
-- **`lualine.lua`**: Customizes the Neovim statusline using `lualine.nvim`.
-- **`mason.lua`**: Configures `mason.nvim` to manage LSP servers and additional tools.
-- **`notifications.lua`**: Manages notifications using `nvim-notify`.
-- **`nvim-cmp.lua`**: Sets up `nvim-cmp` for autocompletion with buffer, LSP, and snippet sources.
-- **`nvim-tree.lua`**: Configures the file explorer (`nvim-tree.lua`).
-- **`telescope.lua`**: Configures `telescope.nvim` for file and buffer search, along with live grep functionality.
+
---
-## Full Plugin List
-
-- [2077.nvim](https://github.com/hemangsk/2077.nvim)
-- [auto-save.nvim](https://github.com/Pocco81/auto-save.nvim)
-- [ChatGPT.nvim](https://github.com/jackMort/ChatGPT.nvim)
-- [cmp-buffer](https://github.com/hrsh7th/cmp-buffer)
-- [cmp-cmdline](https://github.com/hrsh7th/cmp-cmdline)
-- [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp)
-- [cmp-path](https://github.com/hrsh7th/cmp-path)
-- [cmp-vsnip](https://github.com/hrsh7th/cmp-vsnip)
-- [Comment.nvim](https://github.com/numToStr/Comment.nvim)
-- [copilot.vim](https://github.com/github/copilot.vim)
-- [dashboard-nvim](https://github.com/glepnir/dashboard-nvim)
-- [diffview.nvim](https://github.com/sindrets/diffview.nvim)
-- [git-blame.nvim](https://github.com/f-person/git-blame.nvim)
-- [git-conflict.nvim](https://github.com/akinsho/git-conflict.nvim)
-- [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
-- [harpoon](https://github.com/ThePrimeagen/harpoon)
-- [impatient.nvim](https://github.com/lewis6991/impatient.nvim)
-- [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim)
-- [lazy.nvim](https://github.com/folke/lazy.nvim)
-- [lazygit.nvim](https://github.com/kdheepak/lazygit.nvim)
-- [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)
-- [LuaSnip](https://github.com/L3MON4D3/LuaSnip)
-- [nui.nvim](https://github.com/MunifTanjim/nui.nvim)
-- [nvim-autopairs](https://github.com/windwp/nvim-autopairs)
-- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
-- [nvim-notify](https://github.com/rcarriga/nvim-notify)
-- [nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua)
-- [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
-- [nvim-ts-rainbow](https://github.com/p00f/nvim-ts-rainbow)
-- [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons)
-- [onedark.nvim](https://github.com/navarasu/onedark.nvim)
-- [plenary.nvim](https://github.com/nvim-lua/plenary.nvim)
-- [popup.nvim](https://github.com/nvim-lua/popup.nvim)
-- [semantic-highlight.vim](https://github.com/thiagoalessio/semantic-highlight.vim)
-- [sonokai](https://github.com/sainnhe/sonokai)
-- [tagbar](https://github.com/preservim/tagbar)
-- [telescope-media-files.nvim](https://github.com/nvim-telescope/telescope-media-files.nvim)
-- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
-- [todo-comments.nvim](https://github.com/folke/todo-comments.nvim)
-- [toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim)
-- [trouble.nvim](https://github.com/folke/trouble.nvim)
-- [vim-gradle](https://github.com/tfnico/vim-gradle)
-- [vim-jsx-pretty](https://github.com/MaxMEllon/vim-jsx-pretty)
-- [vim-matlab](https://github.com/swlkr/vim-matlab)
-- [vim-vsnip](https://github.com/hrsh7th/vim-vsnip)
-- [vimtex](https://github.com/lervag/vimtex)
-- [which-key.nvim](https://github.com/folke/which-key.nvim)
-- [formatter.nvim](https://github.com/mhartington/formatter.nvim)
-- [lspsaga.nvim](https://github.com/glepnir/lspsaga.nvim)
-- [mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim)
-- [mason-tool-installer.nvim](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim)
-- [mason.nvim](https://github.com/williamboman/mason.nvim)
-- [nvim-code-action-menu](https://github.com/weilbith/nvim-code-action-menu)
-- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
-
-## License
-
-This configuration is licensed under the MIT License. See the LICENSE file for more details.
+**Made with ❤️ by [Noam Fav](https://github.com/NoamFav)**
+
+[⭐ Star this Repository](https://github.com/NoamFav/Nvim-config) • [🐛 Report Issue](https://github.com/NoamFav/Nvim-config/issues) • [🔄 Fork](https://github.com/NoamFav/Nvim-config/fork)
+
+
\ No newline at end of file
From 9711022b678f60abbcbcf6d10c77658b2d64f1be Mon Sep 17 00:00:00 2001
From: Noam Favier <95364866+NoamFav@users.noreply.github.com>
Date: Wed, 16 Apr 2025 19:56:04 +0200
Subject: [PATCH 09/83] Update README.md
---
README.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/README.md b/README.md
index ae5ae7d..5d1c40c 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,6 @@
**A powerful, feature-rich Neovim setup for modern development**
-
-
---
@@ -560,4 +558,4 @@ This configuration is licensed under the [MIT License](LICENSE).
[⭐ Star this Repository](https://github.com/NoamFav/Nvim-config) • [🐛 Report Issue](https://github.com/NoamFav/Nvim-config/issues) • [🔄 Fork](https://github.com/NoamFav/Nvim-config/fork)
-
\ No newline at end of file
+
From 80aa5fecbd475404e170ff7b417baed2fc2fdd3f Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Sat, 24 May 2025 00:42:17 +0200
Subject: [PATCH 10/83] updating all the dependency and fixed issue with noevim
11, switch ts-raibow to raibow-delimiter.nvim
---
lazy-lock.json | 52 ++++++++++----------
lua/plugins/mason.lua | 85 +++++++++++++++------------------
lua/plugins/nvim-treesitter.lua | 30 ++++++++----
3 files changed, 85 insertions(+), 82 deletions(-)
diff --git a/lazy-lock.json b/lazy-lock.json
index c82be95..f0d5e31 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -1,52 +1,52 @@
{
"2077.nvim": { "branch": "master", "commit": "ac84f753d225649c95ea86b0157f982c8f694237" },
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
- "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
- "apple_music.nvim": { "branch": "main", "commit": "8a21cd4731384d5628c3e2c0b2b88ff5c9e674c1" },
+ "LuaSnip": { "branch": "master", "commit": "faf3c94a44508cec1b961406d36cc65113ff3b98" },
+ "apple_music.nvim": { "branch": "main", "commit": "97bd196ba6d65655004579c79e11a277deaa79eb" },
"auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" },
- "blink-cmp-dictionary": { "branch": "master", "commit": "3d49f934059fb59f657b547d90a526d00540634e" },
- "blink-emoji.nvim": { "branch": "master", "commit": "a77aebc092ebece1eed108f301452ae774d6b67a" },
- "blink.cmp": { "branch": "main", "commit": "ea29ab1620de5e61284abc01ae39e56df5a5fe53" },
- "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
- "copilot.vim": { "branch": "release", "commit": "a9228e015528c9307890c48083c925eb98a64a79" },
+ "blink-cmp-dictionary": { "branch": "master", "commit": "43e0fbe8d273f92a87c58aa958c51c95557d20c4" },
+ "blink-emoji.nvim": { "branch": "master", "commit": "c333509be8ca464fe05c72763c95b072392cceb6" },
+ "blink.cmp": { "branch": "main", "commit": "196711b89a97c953877d6c257c62f18920a970f3" },
+ "catppuccin": { "branch": "main", "commit": "8162a4bd9afb42837a655e404d1f937a87ba95e6" },
+ "copilot.vim": { "branch": "release", "commit": "d1e8429bef7f7709586886b0a23a46fbecc685c4" },
"cyberdream.nvim": { "branch": "main", "commit": "c07db2e6cab236ead328afc2ae4e0e1e1c69cd68" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"formatter.nvim": { "branch": "master", "commit": "eb89a1f3e079f1b9680bc7293b75fffccb5e1598" },
- "git-blame.nvim": { "branch": "master", "commit": "b12da2156ec1c3f53f42c129201ff0bfed69c86e" },
+ "git-blame.nvim": { "branch": "master", "commit": "8503b199edf9a666fe7b1a989cf14e3c26b2eb03" },
"git-conflict.nvim": { "branch": "main", "commit": "a1badcd070d176172940eb55d9d59029dad1c5a6" },
- "gitsigns.nvim": { "branch": "main", "commit": "3c76f7fabac723aa682365ef782f88a83ccdb4ac" },
+ "gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
"glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" },
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" },
- "lspsaga.nvim": { "branch": "main", "commit": "778d56ff9b387dacd14ae648ed5604394b486f51" },
- "lualine.nvim": { "branch": "master", "commit": "1517caa8fff05e4b4999857319d3b0609a7f57fa" },
+ "lspsaga.nvim": { "branch": "main", "commit": "920b1253e1a26732e53fac78412f6da7f674671d" },
+ "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
"markview.nvim": { "branch": "main", "commit": "386a98e88e021a79df7f0494d8eb4145a78f59ae" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
- "mason-tool-installer.nvim": { "branch": "main", "commit": "4aa03a08c3705e622f2e7886783fd450f7749cdd" },
- "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "3856bbb0da214d1f2f3d5a2dd3fea26591f930f9" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "75d60a8f928decd8b38897f80849768b7c540a5b" },
+ "mason.nvim": { "branch": "main", "commit": "9eaedb864cdadc29c6eb7d761a6c0d8aee26c91b" },
"nerdicons.nvim": { "branch": "main", "commit": "2d257ff9b00b7d1510704e0a565a6a7ede76b79a" },
- "nvim-autopairs": { "branch": "master", "commit": "84a81a7d1f28b381b32acf1e8fe5ff5bef4f7968" },
+ "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" },
- "nvim-lspconfig": { "branch": "master", "commit": "40f120c10ea4b87311175539a183c3b75eab95a3" },
- "nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
- "nvim-tree.lua": { "branch": "master", "commit": "c3c193594213c5e2f89ec5d7729cad805f76b256" },
- "nvim-treesitter": { "branch": "master", "commit": "997288c55253e27f782d991099490f80205d65bf" },
- "nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
- "nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
+ "nvim-lspconfig": { "branch": "master", "commit": "562487bc108bf73c2493f9e701b9334b48163216" },
+ "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
+ "nvim-tree.lua": { "branch": "master", "commit": "25d16aab7d29ca940a9feb92e6bb734697417009" },
+ "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
+ "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "ec1a2431f8872f650a85ed71c24f0715df2e49c2" },
- "onedark.nvim": { "branch": "master", "commit": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6" },
+ "onedark.nvim": { "branch": "master", "commit": "11de4da47f3e69cb70c3ae9816bd8af166cbe121" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
+ "rainbow-delimiters.nvim": { "branch": "master", "commit": "55ad4fb76ab68460f700599b7449385f0c4e858e" },
"semantic-highlight.vim": { "branch": "master", "commit": "7e141c2b7be0f2600276004fd2e7382a3fa0f690" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
- "sonokai": { "branch": "master", "commit": "9679341d4141ed81376f2bdf5e69b78dc348d212" },
+ "sonokai": { "branch": "master", "commit": "f59c796780655c3b9da442d310ad2f2d735f2e56" },
"tagbar": { "branch": "master", "commit": "8de7694c0aeda253073098bbc9fb890b2902ddb8" },
- "tailwind-tools": { "branch": "master", "commit": "2bd8ef6e96d07df83c0b785c40416b98607b2f93" },
+ "tailwind-tools": { "branch": "master", "commit": "fbe982901d4508b0dcd80e07addf0fcb6dab6c49" },
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
- "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
+ "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"tokyonight.nvim": { "branch": "main", "commit": "c8ea87cd34b0267c44a67e90ff8f6e7d6af46ff9" },
@@ -54,6 +54,6 @@
"vim-gradle": { "branch": "master", "commit": "508629fa2a3be1b2052e4e553593f60d12dfc090" },
"vim-jsx-pretty": { "branch": "master", "commit": "6989f1663cc03d7da72b5ef1c03f87e6ddb70b41" },
"vim-matlab": { "branch": "master", "commit": "eafe639be77454b6bf46f149a7695de773b702b9" },
- "vimtex": { "branch": "master", "commit": "a531f6bf9ce61172e4ea8eea2ecbf59fd08c232a" },
+ "vimtex": { "branch": "master", "commit": "08760834ce04903deb6f8760e61c11cf6f6b2f89" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}
diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua
index 21c1b28..671a9c3 100644
--- a/lua/plugins/mason.lua
+++ b/lua/plugins/mason.lua
@@ -27,47 +27,42 @@ return {
},
{
"williamboman/mason-lspconfig.nvim",
- config = function()
- require("mason-lspconfig").setup({
- ensure_installed = {
- -- Language Servers
- "jdtls", -- Java
- "pyright", -- Python
- "rust_analyzer", -- Rust
- "clangd", -- C/C++
-
- "gopls", -- Go
- "emmet_ls", -- HTML/CSS
- "html", -- HTML
- "tailwindcss", -- Tailwind CSS
- "jsonls", -- JSON
- "solargraph", -- Ruby
- "sqlls", -- SQL
- "yamlls", -- YAML
- "bashls", -- Bash
- "dockerls", -- Docker
- "elixirls", -- Elixir
- "vimls", -- Vim
- "lua_ls", -- Lua
- "eslint", -- JavaScript/TypeScript
- "graphql", -- GraphQL
- "phpactor", -- PHP
- "perlnavigator", -- Perl
- "terraformls", -- Terraform
- "hls", -- Haskell
- "volar", -- Vue
- "kotlin_language_server", -- Kotlin
- "marksman", -- Markdown
- "svelte", -- Svelte
- "lemminx", -- XML
- "ltex", -- LaTeX
- "ts_ls", -- TypeScript
- "tailwindcss", -- Tailwind CSS
- },
- automatic_installation = true,
- auto_install = true,
- })
- require("mason-lspconfig").setup_handlers({
+ opts = {
+ ensure_installed = {
+ -- Language Servers
+ "jdtls", -- Java
+ "pyright", -- Python
+ "rust_analyzer", -- Rust
+ "clangd", -- C/C++
+ "gopls", -- Go
+ "emmet_ls", -- HTML/CSS
+ "html", -- HTML
+ "tailwindcss", -- Tailwind CSS
+ "jsonls", -- JSON
+ "solargraph", -- Ruby
+ "sqlls", -- SQL
+ "yamlls", -- YAML
+ "bashls", -- Bash
+ "dockerls", -- Docker
+ "elixirls", -- Elixir
+ "vimls", -- Vim
+ "lua_ls", -- Lua
+ "eslint", -- JavaScript/TypeScript
+ "graphql", -- GraphQL
+ "phpactor", -- PHP
+ "perlnavigator", -- Perl
+ "terraformls", -- Terraform
+ "hls", -- Haskell
+ "kotlin_language_server", -- Kotlin
+ "marksman", -- Markdown
+ "svelte", -- Svelte
+ "lemminx", -- XML
+ "ltex", -- LaTeX
+ "ts_ls", -- TypeScript
+ "tailwindcss", -- Tailwind CSS
+ },
+ automatic_installation = true,
+ handlers = {
function(server_name)
require("lspconfig")[server_name].setup({
on_attach = function(client, bufnr)
@@ -77,17 +72,13 @@ return {
local function buf_set_option(...)
vim.api.nvim_buf_set_option(bufnr, ...)
end
-
- -- Enable completion triggered by
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-
- -- Other setup like key mappings, etc.
end,
capabilities = require("blink.cmp").get_lsp_capabilities(),
})
end,
- })
- end,
+ },
+ },
},
{
"nvimdev/lspsaga.nvim",
diff --git a/lua/plugins/nvim-treesitter.lua b/lua/plugins/nvim-treesitter.lua
index 611884b..5da8803 100644
--- a/lua/plugins/nvim-treesitter.lua
+++ b/lua/plugins/nvim-treesitter.lua
@@ -27,18 +27,30 @@ return {
})
end,
},
-
- -- Rainbow plugin for variable highlighting
{
- "p00f/nvim-ts-rainbow",
- requires = { "nvim-treesitter/nvim-treesitter" },
+ "HiPhish/rainbow-delimiters.nvim",
config = function()
- require("nvim-treesitter.configs").setup({
- rainbow = {
- enable = true,
- extended_mode = true, -- Also highlight variables
+ local rainbow_delimiters = require("rainbow-delimiters")
+
+ vim.g.rainbow_delimiters = {
+ strategy = {
+ [""] = rainbow_delimiters.strategy["global"],
+ vim = rainbow_delimiters.strategy["local"],
},
- })
+ query = {
+ [""] = "rainbow-delimiters",
+ lua = "rainbow-blocks",
+ },
+ highlight = {
+ "RainbowDelimiterRed",
+ "RainbowDelimiterYellow",
+ "RainbowDelimiterBlue",
+ "RainbowDelimiterOrange",
+ "RainbowDelimiterGreen",
+ "RainbowDelimiterViolet",
+ "RainbowDelimiterCyan",
+ },
+ }
end,
},
From 4246e5a9aa3be9642f211d3b24f922b2bb821e0c Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Mon, 14 Jul 2025 21:57:34 +0200
Subject: [PATCH 11/83] chore (trouble): Update trouble.lua shortcut for
'Toggle Diagnostics' without focus option
---
lua/plugins/trouble.lua | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lua/plugins/trouble.lua b/lua/plugins/trouble.lua
index 55a4d6c..2b206a8 100644
--- a/lua/plugins/trouble.lua
+++ b/lua/plugins/trouble.lua
@@ -39,7 +39,7 @@ return {
end,
keys = {
-- Toggle diagnostics view on the right side
- { "xx", ":Trouble diagnostics toggle focus=false win.position=right", desc = "Toggle Diagnostics" },
+ { "xx", ":Trouble diagnostics toggle focus=false ", desc = "Toggle Diagnostics" },
-- Toggle diagnostics for the current buffer only
{ "xX", ":Trouble diagnostics toggle filter.buf=0", desc = "Toggle Diagnostics (Current Buffer)" },
From 681b6ce6b57fe6ed4044fda03172184d21737fb7 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Sun, 31 Aug 2025 23:34:07 +0200
Subject: [PATCH 12/83] feat: add Arduino support to mason.lua plugin
---
lua/plugins/mason.lua | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua
index 671a9c3..0ab1967 100644
--- a/lua/plugins/mason.lua
+++ b/lua/plugins/mason.lua
@@ -60,6 +60,7 @@ return {
"ltex", -- LaTeX
"ts_ls", -- TypeScript
"tailwindcss", -- Tailwind CSS
+ "arduino_language_server", -- Arduino
},
automatic_installation = true,
handlers = {
@@ -259,6 +260,18 @@ return {
require("lspconfig").perlnavigator.setup({
root_dir = require("lspconfig").util.root_pattern(".git", "."), -- Find the git directory or the current directory
})
+ require("lspconfig").arduino_language_server.setup({
+ cmd = {
+ "arduino-language-server",
+ "-cli",
+ "arduino-cli",
+ "-cli-config",
+ vim.fn.expand("~/.arduino15/arduino-cli.yaml"),
+ "-fqbn",
+ "adafruit:samd:adafruit_feather_m0",
+ },
+ filetypes = { "arduino", "ino" },
+ })
end,
},
{
From a351d315a4afbacd1274f1c46289497ea0c365aa Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Sun, 31 Aug 2025 23:46:35 +0200
Subject: [PATCH 13/83] feat (plugins): update Mason to support Arduino
formatting with clang-format
---
init.lua | 1 +
lua/plugins/mason.lua | 9 +++++++++
2 files changed, 10 insertions(+)
diff --git a/init.lua b/init.lua
index 0618031..fa5d2c2 100644
--- a/init.lua
+++ b/init.lua
@@ -24,6 +24,7 @@ vim.diagnostic.config({
update_in_insert = true,
severity_sort = true,
})
+vim.filetype.add({ extension = { ino = "arduino" } })
vim.g.OmniSharp_server_use_mono = 0
diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua
index 0ab1967..4ab8604 100644
--- a/lua/plugins/mason.lua
+++ b/lua/plugins/mason.lua
@@ -369,6 +369,15 @@ return {
}
end,
},
+ arduino = {
+ function()
+ return {
+ exe = "clang-format",
+ args = { "--assume-filename=sketch.ino" }, -- helps style detection
+ stdin = true,
+ }
+ end,
+ },
},
})
From 8a4955942ec433f7ec4508ef1aa184d6c542daf6 Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Wed, 3 Sep 2025 22:13:56 +0200
Subject: [PATCH 14/83] feat: Add image.nvim and molten-nvim to lazy.json
dependencies
---
lazy-lock.json | 2 ++
lua/plugins/jupyter.lua | 12 ++++++++++++
2 files changed, 14 insertions(+)
create mode 100644 lua/plugins/jupyter.lua
diff --git a/lazy-lock.json b/lazy-lock.json
index f0d5e31..65e6212 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -17,6 +17,7 @@
"gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
"glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" },
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
+ "image.nvim": { "branch": "master", "commit": "a8d6829ce8472a79df140bc494e75f1847f8861e" },
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
@@ -27,6 +28,7 @@
"mason-lspconfig.nvim": { "branch": "main", "commit": "3856bbb0da214d1f2f3d5a2dd3fea26591f930f9" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "75d60a8f928decd8b38897f80849768b7c540a5b" },
"mason.nvim": { "branch": "main", "commit": "9eaedb864cdadc29c6eb7d761a6c0d8aee26c91b" },
+ "molten-nvim": { "branch": "main", "commit": "4e1c9997cb53b9d3236c5d6462d80119250ed5b7" },
"nerdicons.nvim": { "branch": "main", "commit": "2d257ff9b00b7d1510704e0a565a6a7ede76b79a" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" },
diff --git a/lua/plugins/jupyter.lua b/lua/plugins/jupyter.lua
new file mode 100644
index 0000000..ebe5e83
--- /dev/null
+++ b/lua/plugins/jupyter.lua
@@ -0,0 +1,12 @@
+return {
+ { "3rd/image.nvim", opts = { backend = "kitty" } },
+ {
+ "benlubas/molten-nvim",
+ build = ":UpdateRemotePlugins",
+ init = function()
+ vim.g.molten_image_provider = "image.nvim"
+ vim.g.molten_virt_text_output = true
+ vim.g.molten_auto_open_output = false
+ end,
+ },
+}
From d015cec64c5c25b9d48941d9e04c9e1502fbf96d Mon Sep 17 00:00:00 2001
From: noamfav <95364866+NoamFav@users.noreply.github.com>
Date: Tue, 9 Sep 2025 08:51:24 +0200
Subject: [PATCH 15/83] feat (plugins): add turtle filetype support and
treesitter configuration for mason plugin
---
init.lua | 6 ++++++
lua/plugins/mason.lua | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/init.lua b/init.lua
index fa5d2c2..3b8dca9 100644
--- a/init.lua
+++ b/init.lua
@@ -25,6 +25,12 @@ vim.diagnostic.config({
severity_sort = true,
})
vim.filetype.add({ extension = { ino = "arduino" } })
+vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
+ pattern = "*.ttl",
+ callback = function()
+ vim.bo.filetype = "turtle"
+ end,
+})
vim.g.OmniSharp_server_use_mono = 0
diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua
index 4ab8604..3187414 100644
--- a/lua/plugins/mason.lua
+++ b/lua/plugins/mason.lua
@@ -272,6 +272,10 @@ return {
},
filetypes = { "arduino", "ino" },
})
+ require("nvim-treesitter.configs").setup({
+ ensure_installed = { "turtle" },
+ highlight = { enable = true },
+ })
end,
},
{
From 7a64dd4ac5cf33b5ba48f8c7536b28c5ff6993b5 Mon Sep 17 00:00:00 2001
From: NoamFav <95364866+NoamFav@users.noreply.github.com>
Date: Thu, 23 Oct 2025 17:56:19 +0200
Subject: [PATCH 16/83] feat: Update plugin dependencies in main branch
---
lazy-lock.json | 70 +++---
lua/plugins/mason.lua | 390 +++++++++++++++++----------------
lua/plugins/tailwind-tools.lua | 4 +-
3 files changed, 234 insertions(+), 230 deletions(-)
diff --git a/lazy-lock.json b/lazy-lock.json
index 65e6212..03a67bb 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -2,60 +2,60 @@
"2077.nvim": { "branch": "master", "commit": "ac84f753d225649c95ea86b0157f982c8f694237" },
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "faf3c94a44508cec1b961406d36cc65113ff3b98" },
- "apple_music.nvim": { "branch": "main", "commit": "97bd196ba6d65655004579c79e11a277deaa79eb" },
+ "apple_music.nvim": { "branch": "main", "commit": "bdfd85f3921e2579752b763de58f7dc827210aaf" },
"auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" },
- "blink-cmp-dictionary": { "branch": "master", "commit": "43e0fbe8d273f92a87c58aa958c51c95557d20c4" },
- "blink-emoji.nvim": { "branch": "master", "commit": "c333509be8ca464fe05c72763c95b072392cceb6" },
- "blink.cmp": { "branch": "main", "commit": "196711b89a97c953877d6c257c62f18920a970f3" },
- "catppuccin": { "branch": "main", "commit": "8162a4bd9afb42837a655e404d1f937a87ba95e6" },
- "copilot.vim": { "branch": "release", "commit": "d1e8429bef7f7709586886b0a23a46fbecc685c4" },
+ "blink-cmp-dictionary": { "branch": "master", "commit": "944b3b215b01303672d4213758db7c5c5a1e3c92" },
+ "blink-emoji.nvim": { "branch": "master", "commit": "066013e4c98a9318408ee3f1ca2dbcb6fa3e4c06" },
+ "blink.cmp": { "branch": "main", "commit": "87433840b4d8cce053d6b8cd57f3d75a27c8cd8b" },
+ "catppuccin": { "branch": "main", "commit": "af58927c55c9f3272c940ff02b3cee94a1249f26" },
+ "copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" },
"cyberdream.nvim": { "branch": "main", "commit": "c07db2e6cab236ead328afc2ae4e0e1e1c69cd68" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
- "formatter.nvim": { "branch": "master", "commit": "eb89a1f3e079f1b9680bc7293b75fffccb5e1598" },
- "git-blame.nvim": { "branch": "master", "commit": "8503b199edf9a666fe7b1a989cf14e3c26b2eb03" },
+ "formatter.nvim": { "branch": "master", "commit": "b9d7f853da1197b83b8edb4cc4952f7ad3a42e41" },
+ "git-blame.nvim": { "branch": "master", "commit": "54da04264ec5313d602aebea7c5dc90141696ad7" },
"git-conflict.nvim": { "branch": "main", "commit": "a1badcd070d176172940eb55d9d59029dad1c5a6" },
- "gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
+ "gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
"glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" },
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
- "image.nvim": { "branch": "master", "commit": "a8d6829ce8472a79df140bc494e75f1847f8861e" },
+ "image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
- "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
- "lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" },
- "lspsaga.nvim": { "branch": "main", "commit": "920b1253e1a26732e53fac78412f6da7f674671d" },
- "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
+ "lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" },
+ "lazygit.nvim": { "branch": "main", "commit": "2305deed25bc61b866d5d39189e9105a45cf1cfb" },
+ "lspsaga.nvim": { "branch": "main", "commit": "8efe00d6aed9db6449969f889170f1a7e43101a1" },
+ "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"markview.nvim": { "branch": "main", "commit": "386a98e88e021a79df7f0494d8eb4145a78f59ae" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "3856bbb0da214d1f2f3d5a2dd3fea26591f930f9" },
- "mason-tool-installer.nvim": { "branch": "main", "commit": "75d60a8f928decd8b38897f80849768b7c540a5b" },
- "mason.nvim": { "branch": "main", "commit": "9eaedb864cdadc29c6eb7d761a6c0d8aee26c91b" },
- "molten-nvim": { "branch": "main", "commit": "4e1c9997cb53b9d3236c5d6462d80119250ed5b7" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "2304ff65ecc8cb2afc2484de3e2ed9a407edf0b9" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
+ "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
+ "molten-nvim": { "branch": "main", "commit": "c98f8c6d7a8a801b46e4766e000c574e0402c491" },
"nerdicons.nvim": { "branch": "main", "commit": "2d257ff9b00b7d1510704e0a565a6a7ede76b79a" },
- "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
+ "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
"nvim-code-action-menu": { "branch": "main", "commit": "8c7672a4b04d3cc4edd2c484d05b660a9cb34a1b" },
- "nvim-lspconfig": { "branch": "master", "commit": "562487bc108bf73c2493f9e701b9334b48163216" },
- "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
- "nvim-tree.lua": { "branch": "master", "commit": "25d16aab7d29ca940a9feb92e6bb734697417009" },
- "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
- "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
- "omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "ec1a2431f8872f650a85ed71c24f0715df2e49c2" },
- "onedark.nvim": { "branch": "master", "commit": "11de4da47f3e69cb70c3ae9816bd8af166cbe121" },
- "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
+ "nvim-lspconfig": { "branch": "master", "commit": "ececa531ecae813422697b5ef627a11cc964c2a7" },
+ "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
+ "nvim-tree.lua": { "branch": "master", "commit": "64e2192f5250796aa4a7f33c6ad888515af50640" },
+ "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
+ "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
+ "omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "a47388e5417e7f1cfa6962cc441a23c4c5fb2151" },
+ "onedark.nvim": { "branch": "master", "commit": "de495fabe171d48aed5525f002d14414efcecbb2" },
+ "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
- "rainbow-delimiters.nvim": { "branch": "master", "commit": "55ad4fb76ab68460f700599b7449385f0c4e858e" },
+ "rainbow-delimiters.nvim": { "branch": "master", "commit": "3277ad5f96eb03c9d618c88e24f683e4364e578c" },
"semantic-highlight.vim": { "branch": "master", "commit": "7e141c2b7be0f2600276004fd2e7382a3fa0f690" },
- "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
- "sonokai": { "branch": "master", "commit": "f59c796780655c3b9da442d310ad2f2d735f2e56" },
- "tagbar": { "branch": "master", "commit": "8de7694c0aeda253073098bbc9fb890b2902ddb8" },
+ "snacks.nvim": { "branch": "main", "commit": "8625e4bd72f624ea0daaf44dc53a0ce5a2b9ad9d" },
+ "sonokai": { "branch": "master", "commit": "48c809c887ce7b7828f7ea27408fc2ef2179efb5" },
+ "tagbar": { "branch": "master", "commit": "7bfffca1f121afb7a9e38747500bf5270e006bb1" },
"tailwind-tools": { "branch": "master", "commit": "fbe982901d4508b0dcd80e07addf0fcb6dab6c49" },
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
- "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
+ "todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"tokyonight.nvim": { "branch": "main", "commit": "c8ea87cd34b0267c44a67e90ff8f6e7d6af46ff9" },
- "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
+ "trouble.nvim": { "branch": "main", "commit": "c098362fe603d3922095e7db595961e020bdf2d0" },
"vim-gradle": { "branch": "master", "commit": "508629fa2a3be1b2052e4e553593f60d12dfc090" },
"vim-jsx-pretty": { "branch": "master", "commit": "6989f1663cc03d7da72b5ef1c03f87e6ddb70b41" },
"vim-matlab": { "branch": "master", "commit": "eafe639be77454b6bf46f149a7695de773b702b9" },
- "vimtex": { "branch": "master", "commit": "08760834ce04903deb6f8760e61c11cf6f6b2f89" },
- "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
+ "vimtex": { "branch": "master", "commit": "be9deac3a23eeb145ccf11dd09080795838496ce" },
+ "which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
}
diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua
index 3187414..c923893 100644
--- a/lua/plugins/mason.lua
+++ b/lua/plugins/mason.lua
@@ -1,107 +1,31 @@
+-- lua/plugins/mason.lua
return {
+ ---------------------------------------------------------------------------
+ -- Core LSP defaults (new API)
+ ---------------------------------------------------------------------------
{
"neovim/nvim-lspconfig",
dependencies = { "saghen/blink.cmp" },
-
- -- example using `opts` for defining servers
- opts = {
- servers = {
- lua_ls = {},
- },
- },
- config = function(_, opts)
- local lspconfig = require("lspconfig")
- for server, config in pairs(opts.servers) do
- -- passing config.capabilities to blink.cmp merges with the capabilities in your
- -- `opts[server].capabilities, if you've defined it
- config.capabilities = require("blink.cmp").get_lsp_capabilities(config.capabilities)
- lspconfig[server].setup(config)
- end
- end,
- },
- {
- "williamboman/mason.nvim",
config = function()
- require("mason").setup()
- end,
- },
- {
- "williamboman/mason-lspconfig.nvim",
- opts = {
- ensure_installed = {
- -- Language Servers
- "jdtls", -- Java
- "pyright", -- Python
- "rust_analyzer", -- Rust
- "clangd", -- C/C++
- "gopls", -- Go
- "emmet_ls", -- HTML/CSS
- "html", -- HTML
- "tailwindcss", -- Tailwind CSS
- "jsonls", -- JSON
- "solargraph", -- Ruby
- "sqlls", -- SQL
- "yamlls", -- YAML
- "bashls", -- Bash
- "dockerls", -- Docker
- "elixirls", -- Elixir
- "vimls", -- Vim
- "lua_ls", -- Lua
- "eslint", -- JavaScript/TypeScript
- "graphql", -- GraphQL
- "phpactor", -- PHP
- "perlnavigator", -- Perl
- "terraformls", -- Terraform
- "hls", -- Haskell
- "kotlin_language_server", -- Kotlin
- "marksman", -- Markdown
- "svelte", -- Svelte
- "lemminx", -- XML
- "ltex", -- LaTeX
- "ts_ls", -- TypeScript
- "tailwindcss", -- Tailwind CSS
- "arduino_language_server", -- Arduino
- },
- automatic_installation = true,
- handlers = {
- function(server_name)
- require("lspconfig")[server_name].setup({
- on_attach = function(client, bufnr)
- local function buf_set_keymap(...)
- vim.api.nvim_buf_set_keymap(bufnr, ...)
- end
- local function buf_set_option(...)
- vim.api.nvim_buf_set_option(bufnr, ...)
- end
- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
- end,
- capabilities = require("blink.cmp").get_lsp_capabilities(),
- })
+ local caps = require("blink.cmp").get_lsp_capabilities()
+
+ -- Apply shared defaults to all servers
+ vim.lsp.config("*", {
+ capabilities = caps,
+ on_attach = function(_, bufnr)
+ -- Keep your old buffer-local setting
+ vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
end,
- },
- },
- },
- {
- "nvimdev/lspsaga.nvim",
- dependencies = { "nvim-lspconfig" },
- config = function()
- require("lspsaga").setup({
- lightbulb = {
- enable = true, -- Disable the lightbulb to avoid shaking
- sign = false,
- virtual_text = true, -- You can keep virtual text if you prefer
- },
- })
- end,
- },
- {
- "neovim/nvim-lspconfig",
- config = function()
- require("lspconfig").ts_ls.setup({
- -- Any specific settings you want to include
})
- require("lspconfig")["jdtls"].setup({
- cmd = { "jdtls" }, -- Mason will automatically handle the path
+
+ -- === Per-server overrides / custom configs (define only; enabling happens later) ===
+
+ -- TypeScript
+ vim.lsp.config("ts_ls", {})
+ vim.lsp.config("tailwindcss", {})
+ -- Java (JDTLS)
+ vim.lsp.config("jdtls", {
+ cmd = { "jdtls" },
root_dir = function(fname)
return require("jdtls.setup").find_root({ ".git", "mvnw", "gradlew" }, fname)
end,
@@ -110,33 +34,27 @@ return {
contentProvider = { preferred = "fernflower" },
},
},
- on_attach = function(client, bufnr)
- local function buf_set_option(...)
- vim.api.nvim_buf_set_option(bufnr, ...)
- end
- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
+ on_attach = function(_, bufnr)
+ vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
end,
})
- require("lspconfig").pyright.setup({
+
+ -- Python (pyright)
+ vim.lsp.config("pyright", {
root_dir = function(fname)
- -- Find the git directory or any of the common Python project files
- return require("lspconfig.util").find_git_ancestor(fname)
- or require("lspconfig.util").root_pattern(
- "pyproject.toml",
- "setup.py",
- "requirements.txt",
- ".git"
- )(fname)
- or require("lspconfig.util").path.dirname(fname)
+ local util = require("lspconfig.util")
+ return util.find_git_ancestor(fname)
+ or util.root_pattern("pyproject.toml", "setup.py", "requirements.txt", ".git")(fname)
+ or util.path.dirname(fname)
end,
})
- -- Define the Unity project path
+
+ -- C# / Unity (OmniSharp)
local unity_project_path = vim.fn.expand("~/Neoware/ShadowedHunterMetroidvania")
local solution_path = unity_project_path .. "/ShadowedHunterMetroidvania.sln"
- require("lspconfig").omnisharp.setup({
- capabilities = require("blink-cmp").get_lsp_capabilities(),
- on_attach = function(client, bufnr)
+ vim.lsp.config("omnisharp", {
+ on_attach = function(_, bufnr)
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
local bufopts = { noremap = true, silent = true, buffer = bufnr }
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
@@ -147,12 +65,8 @@ return {
end,
handlers = {
["textDocument/definition"] = function(...)
- local status, extended = pcall(require, "omnisharp_extended")
- if status then
- return extended.handler(...)
- else
- return vim.lsp.handlers["textDocument/definition"](...)
- end
+ local ok, extended = pcall(require, "omnisharp_extended")
+ return ok and extended.handler(...) or vim.lsp.handlers["textDocument/definition"](...)
end,
},
cmd = {
@@ -163,21 +77,13 @@ return {
tostring(vim.fn.getpid()),
},
root_dir = function(fname)
- -- First try to find Unity-specific files
- local unity_root = require("lspconfig").util.root_pattern(
- "Assembly-CSharp.csproj",
- "*.sln",
- "Assets",
- "Packages/manifest.json"
- )(fname)
-
+ local util = require("lspconfig").util
+ local unity_root =
+ util.root_pattern("Assembly-CSharp.csproj", "*.sln", "Assets", "Packages/manifest.json")(fname)
if unity_root then
return unity_root
end
-
- -- Fallback to standard patterns
- return require("lspconfig").util.root_pattern("*.sln", "*.csproj", ".git")(fname)
- or require("lspconfig").util.path.dirname(fname)
+ return util.root_pattern("*.sln", "*.csproj", ".git")(fname) or util.path.dirname(fname)
end,
filetypes = { "cs", "vb" },
init_options = {
@@ -188,41 +94,43 @@ return {
enableImportCompletion = true,
maxProjectResults = 250,
enablePackageRestore = true,
- sdk = {
- name = "Microsoft.NET.Sdk",
- version = "6.0.0",
- },
+ sdk = { name = "Microsoft.NET.Sdk", version = "6.0.0" },
},
- -- Unity-specific settings
settings = {
omnisharp = {
- useModernNet = false, -- Unity typically uses Mono
+ useModernNet = false,
enableMsBuildLoadProjectsOnDemand = true,
enableRoslynAnalyzers = true,
enableEditorConfigSupport = true,
enableImportCompletion = true,
enableAsyncCompletion = true,
projectLoadTimeout = 120,
- useGlobalMono = "always", -- Force using Mono for Unity projects
+ useGlobalMono = "always",
monoPath = "/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono",
},
},
})
- require("lspconfig").kotlin_language_server.setup({
+
+ -- Kotlin
+ vim.lsp.config("kotlin_language_server", {
cmd = { "kotlin-language-server" },
root_dir = require("lspconfig").util.root_pattern("build.gradle", "settings.gradle", ".git"),
})
- require("lspconfig").sourcekit.setup({
+
+ -- Swift
+ vim.lsp.config("sourcekit", {
cmd = { "xcrun", "sourcekit-lsp" },
filetypes = { "swift" },
root_dir = require("lspconfig").util.root_pattern("Package.swift", ".git"),
})
- require("lspconfig").dartls.setup({
+
+ -- Dart
+ vim.lsp.config("dartls", {
cmd = { "dart", "language-server", "--protocol=lsp" },
filetypes = { "dart" },
root_dir = function(fname)
- return require("lspconfig").util.root_pattern("pubspec.yaml", ".git")(fname)
- or require("lspconfig").util.path.dirname(fname) -- Fallback to file's directory
+ local util = require("lspconfig").util
+ return util.root_pattern("pubspec.yaml", ".git")(fname) or util.path.dirname(fname)
end,
init_options = {
closingLabels = true,
@@ -231,17 +139,14 @@ return {
outline = true,
suggestFromUnimportedLibraries = true,
},
- settings = {
- dart = {
- completeFunctionCalls = true,
- showTodos = true,
- },
- },
+ settings = { dart = { completeFunctionCalls = true, showTodos = true } },
})
- require("lspconfig").metals.setup({
+
+ -- Scala (Metals)
+ vim.lsp.config("metals", {
root_dir = function(fname)
- return require("lspconfig").util.root_pattern("build.sbt", "build.sc", ".git")(fname)
- or require("lspconfig").util.path.dirname(fname) -- Fallback to file's directory
+ local util = require("lspconfig").util
+ return util.root_pattern("build.sbt", "build.sc", ".git")(fname) or util.path.dirname(fname)
end,
settings = {
metals = {
@@ -251,16 +156,22 @@ return {
},
},
})
- require("lspconfig").sqlls.setup({
+
+ -- SQL
+ vim.lsp.config("sqlls", {
root_dir = function(fname)
- return require("lspconfig").util.root_pattern(".sql_project", ".git")(fname)
- or require("lspconfig").util.path.dirname(fname)
+ local util = require("lspconfig").util
+ return util.root_pattern(".sql_project", ".git")(fname) or util.path.dirname(fname)
end,
})
- require("lspconfig").perlnavigator.setup({
- root_dir = require("lspconfig").util.root_pattern(".git", "."), -- Find the git directory or the current directory
+
+ -- Perl
+ vim.lsp.config("perlnavigator", {
+ root_dir = require("lspconfig").util.root_pattern(".git", "."),
})
- require("lspconfig").arduino_language_server.setup({
+
+ -- Arduino
+ vim.lsp.config("arduino_language_server", {
cmd = {
"arduino-language-server",
"-cli",
@@ -272,28 +183,119 @@ return {
},
filetypes = { "arduino", "ino" },
})
- require("nvim-treesitter.configs").setup({
- ensure_installed = { "turtle" },
- highlight = { enable = true },
+ end,
+ },
+
+ ---------------------------------------------------------------------------
+ -- Mason core
+ ---------------------------------------------------------------------------
+ {
+ "williamboman/mason.nvim",
+ config = function()
+ require("mason").setup()
+ end,
+ },
+
+ ---------------------------------------------------------------------------
+ -- Mason-LSPConfig (install & enable servers)
+ ---------------------------------------------------------------------------
+ {
+ "williamboman/mason-lspconfig.nvim",
+ opts = function()
+ local servers = {
+ -- Language Servers
+ "jdtls", -- Java
+ "pyright", -- Python
+ "rust_analyzer", -- Rust
+ "clangd", -- C/C++
+ "gopls", -- Go
+ "emmet_ls", -- HTML/CSS
+ "html", -- HTML
+ "tailwindcss", -- Tailwind CSS
+ "jsonls", -- JSON
+ "solargraph", -- Ruby
+ "sqlls", -- SQL
+ "yamlls", -- YAML
+ "bashls", -- Bash
+ "dockerls", -- Docker
+ "elixirls", -- Elixir
+ "vimls", -- Vim
+ "lua_ls", -- Lua
+ "eslint", -- JavaScript/TypeScript
+ "graphql", -- GraphQL
+ "phpactor", -- PHP
+ "perlnavigator", -- Perl
+ "terraformls", -- Terraform
+ "hls", -- Haskell
+ "kotlin_language_server",
+ "marksman", -- Markdown
+ "svelte", -- Svelte
+ "lemminx", -- XML
+ "ltex", -- LaTeX
+ "ts_ls", -- TypeScript
+ "arduino_language_server",
+ -- note: tailwindcss listed once
+ }
+
+ return {
+ ensure_installed = servers,
+ -- We will explicitly enable after setup to avoid deprecated .setup calls
+ -- (mason-lspconfig can do automatic enabling in newer versions, but we keep it explicit here)
+ -- automatic_installation = true, -- optional
+ handlers = {},
+ _servers_to_enable = servers, -- pass through for our config() below
+ }
+ end,
+ config = function(_, opts)
+ require("mason-lspconfig").setup({
+ ensure_installed = opts.ensure_installed,
+ -- automatic_installation = true, -- enable if you want Mason to auto-install missing servers
+ })
+
+ -- Explicitly enable all known servers (safe if already enabled)
+ -- Servers with custom config defined above will use those configs.
+ for _, name in ipairs(opts._servers_to_enable or {}) do
+ pcall(vim.lsp.enable, name)
+ end
+ end,
+ },
+
+ ---------------------------------------------------------------------------
+ -- UI sugar for LSP
+ ---------------------------------------------------------------------------
+ {
+ "nvimdev/lspsaga.nvim",
+ dependencies = { "neovim/nvim-lspconfig" },
+ config = function()
+ require("lspsaga").setup({
+ lightbulb = {
+ enable = true,
+ sign = false,
+ virtual_text = true,
+ },
})
end,
},
+
+ ---------------------------------------------------------------------------
+ -- Extra tools via Mason
+ ---------------------------------------------------------------------------
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
config = function()
require("mason-tool-installer").setup({
ensure_installed = {
- "prettierd", -- JavaScript, TypeScript, HTML, CSS, JSON, YAML, Markdown
+ "prettierd", -- JS/TS/HTML/CSS/JSON/YAML/MD
"black", -- Python
- "isort", -- Python imports sorting
+ "isort", -- Python imports
"stylua", -- Lua
"clang-format", -- C/C++
"csharpier", -- C#
- "google-java-format", -- Java
+ "google-java-format",
"ktlint", -- Kotlin
- "shfmt", -- Shell scripts
- "beautysh", -- Alternative Shell formatter
- "rustywind", -- Rust
+ "shfmt", -- Shell
+ "beautysh", -- Shell (alt)
+ "rustywind", -- Tailwind class sorter
"gofumpt", -- Go
"sqlfmt", -- SQL
"xmlformatter", -- XML
@@ -304,6 +306,9 @@ return {
end,
},
+ ---------------------------------------------------------------------------
+ -- Formatter (unchanged)
+ ---------------------------------------------------------------------------
{
"mhartington/formatter.nvim",
config = function()
@@ -319,11 +324,7 @@ return {
c = { require("formatter.filetypes.c").clangformat },
cs = {
function()
- return {
- exe = "dotnet-csharpier",
- args = { "--write-stdout" },
- stdin = true,
- }
+ return { exe = "dotnet-csharpier", args = { "--write-stdout" }, stdin = true }
end,
},
java = { require("formatter.filetypes.java").google_java_format },
@@ -338,36 +339,23 @@ return {
markdown = { require("formatter.filetypes.markdown").prettier },
sql = {
function()
- return {
- exe = "sqlfmt", -- Change to sql-formatter if desired
- args = { "-" },
- stdin = true,
- }
+ return { exe = "sqlfmt", args = { "-" }, stdin = true }
end,
},
xml = {
function()
- return {
- exe = "xmlformatter",
- args = { "-" },
- stdin = true,
- }
+ return { exe = "xmlformatter", args = { "-" }, stdin = true }
end,
},
latex = {
function()
- return {
- exe = "latexindent",
- args = { "-" },
- stdin = true,
- }
+ return { exe = "latexindent", args = { "-" }, stdin = true }
end,
},
-
dockerfile = {
function()
return {
- exe = "dockerfilelint", -- Replace with docker formatting tool if preferred
+ exe = "dockerfilelint",
args = { vim.api.nvim_buf_get_name(0) },
stdin = true,
}
@@ -377,7 +365,7 @@ return {
function()
return {
exe = "clang-format",
- args = { "--assume-filename=sketch.ino" }, -- helps style detection
+ args = { "--assume-filename=sketch.ino" },
stdin = true,
}
end,
@@ -385,11 +373,25 @@ return {
},
})
- -- Set up autoformatting on save
+ -- Autoformat on save
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = "*",
command = "FormatWrite",
})
end,
},
+
+ ---------------------------------------------------------------------------
+ -- Treesitter (your special-case "turtle" from before)
+ ---------------------------------------------------------------------------
+ {
+ "nvim-treesitter/nvim-treesitter",
+ build = ":TSUpdate",
+ config = function()
+ require("nvim-treesitter.configs").setup({
+ ensure_installed = { "turtle" },
+ highlight = { enable = true },
+ })
+ end,
+ },
}
diff --git a/lua/plugins/tailwind-tools.lua b/lua/plugins/tailwind-tools.lua
index caf41f5..19d9ef5 100644
--- a/lua/plugins/tailwind-tools.lua
+++ b/lua/plugins/tailwind-tools.lua
@@ -7,5 +7,7 @@ return {
"nvim-telescope/telescope.nvim", -- optional
"neovim/nvim-lspconfig", -- optional
},
- opts = {}, -- your configuration
+ opts = {
+ server = { override = false },
+ },
}
From fa835041e2f4957f9a06cd1cf7211679acaf614e Mon Sep 17 00:00:00 2001
From: NoamFav <95364866+NoamFav@users.noreply.github.com>
Date: Thu, 23 Oct 2025 19:41:40 +0200
Subject: [PATCH 17/83] fix (plugins): update lazy.nvim setup and configure
core configuration
---
"Icon\r" | 0
init.lua | 96 ++---
keymaps.vim | 125 ------
lazy-lock.json | 8 +-
lua/core/autocmds.lua | 34 ++
lua/core/diagnostics.lua | 26 ++
lua/core/keymaps.lua | 86 ++++
lua/core/options.lua | 46 ++
lua/lsp/servers.lua | 201 +++++++++
lua/plugins.lua | 53 ---
lua/plugins/autoSave.lua | 34 --
lua/plugins/autopair.lua | 15 -
lua/plugins/blink-cmp.lua | 289 -------------
lua/plugins/coding/blink-cmp.lua | 13 +
lua/plugins/coding/copilot.lua | 8 +
lua/plugins/coding/snippets.lua | 8 +
lua/plugins/colorschemes.lua | 156 -------
lua/plugins/editor/autopairs.lua | 5 +
lua/plugins/editor/autosave.lua | 23 +
lua/plugins/editor/comment.lua | 12 +
lua/plugins/editor/harpoon.lua | 48 +++
lua/plugins/editor/ibl.lua | 20 +
.../treesitter.lua} | 55 +--
lua/plugins/git.lua | 70 ---
lua/plugins/ibl.lua | 26 --
lua/plugins/init.lua | 21 +
lua/plugins/{ => lang}/jupyter.lua | 6 +-
lua/plugins/lang/latex.lua | 19 +
lua/plugins/lang/matlab.lua | 4 +
lua/plugins/lang/web.lua | 18 +
lua/plugins/latex.lua | 20 -
lua/plugins/lsp/formatters.lua | 98 +++++
lua/plugins/lsp/mason.lua | 85 ++++
lua/plugins/lualine.lua | 29 --
lua/plugins/mason.lua | 397 ------------------
lua/plugins/nerdicons.lua | 16 -
lua/plugins/nvim-tree.lua | 64 ---
lua/plugins/nvim-web-devicons.lua | 11 -
lua/plugins/tagbar.lua | 25 --
lua/plugins/tailwind-tools.lua | 13 -
lua/plugins/telescope.lua | 67 ---
lua/plugins/tools/git.lua | 70 +++
lua/plugins/tools/terminal.lua | 25 ++
lua/plugins/tools/trouble.lua | 42 ++
lua/plugins/tools/which-key.lua | 52 +++
lua/plugins/trouble.lua | 66 ---
lua/plugins/ui/colorschemes.lua | 97 +++++
lua/plugins/ui/devicons.lua | 4 +
lua/plugins/ui/lualine.lua | 26 ++
lua/plugins/ui/mini-icons.lua | 5 +
lua/plugins/ui/nerdicons.lua | 14 +
lua/plugins/{ => ui}/notifications.lua | 37 +-
lua/plugins/ui/nvim-tree.lua | 63 +++
lua/plugins/{ => ui}/snacks.lua | 13 +-
lua/plugins/ui/telescope.lua | 68 +++
....config%back%lua%plugins%notifications.lua | Bin 0 -> 1113 bytes
...avier%.config%back%lua%plugins%trouble.lua | Bin 0 -> 672 bytes
...vier%.config%nvim%lua%core%diagnostics.lua | Bin 0 -> 4382 bytes
...amfavier%.config%nvim%lua%core%keymaps.lua | Bin 0 -> 709 bytes
...config%nvim%lua%plugins%coding%copilot.lua | Bin 0 -> 693 bytes
...onfig%nvim%lua%plugins%coding%snippets.lua | Bin 0 -> 1284 bytes
...onfig%nvim%lua%plugins%editor%autosave.lua | Bin 0 -> 2396 bytes
...amfavier%.config%nvim%lua%plugins%init.lua | Bin 0 -> 695 bytes
...ier%.config%nvim%lua%plugins%lsp%mason.lua | Bin 0 -> 2304 bytes
...ier%.config%nvim%lua%plugins%tools%git.lua | Bin 0 -> 1687 bytes
....config%nvim%lua%plugins%tools%trouble.lua | Bin 0 -> 5040 bytes
...onfig%nvim%lua%plugins%tools%which-key.lua | Bin 0 -> 4042 bytes
...r%.config%nvim%lua%plugins%ui%devicons.lua | Bin 0 -> 1140 bytes
...er%.config%nvim%lua%plugins%ui%lualine.lua | Bin 0 -> 23363 bytes
....config%nvim%lua%plugins%ui%mini-icons.lua | Bin 0 -> 1195 bytes
...%.config%nvim%lua%plugins%ui%nerdicons.lua | Bin 0 -> 2325 bytes
...nfig%nvim%lua%plugins%ui%notifications.lua | Bin 0 -> 787 bytes
...%.config%nvim%lua%plugins%ui%nvim-tree.lua | Bin 0 -> 2395 bytes
...ier%.config%nvim%lua%plugins%ui%snacks.lua | Bin 0 -> 1655 bytes
...%.config%nvim%lua%plugins%ui%telescope.lua | Bin 0 -> 2785 bytes
75 files changed, 1331 insertions(+), 1601 deletions(-)
delete mode 100644 "Icon\r"
delete mode 100644 keymaps.vim
create mode 100644 lua/core/autocmds.lua
create mode 100644 lua/core/diagnostics.lua
create mode 100644 lua/core/keymaps.lua
create mode 100644 lua/core/options.lua
create mode 100644 lua/lsp/servers.lua
delete mode 100644 lua/plugins.lua
delete mode 100644 lua/plugins/autoSave.lua
delete mode 100644 lua/plugins/autopair.lua
delete mode 100644 lua/plugins/blink-cmp.lua
create mode 100644 lua/plugins/coding/blink-cmp.lua
create mode 100644 lua/plugins/coding/copilot.lua
create mode 100644 lua/plugins/coding/snippets.lua
delete mode 100644 lua/plugins/colorschemes.lua
create mode 100644 lua/plugins/editor/autopairs.lua
create mode 100644 lua/plugins/editor/autosave.lua
create mode 100644 lua/plugins/editor/comment.lua
create mode 100644 lua/plugins/editor/harpoon.lua
create mode 100644 lua/plugins/editor/ibl.lua
rename lua/plugins/{nvim-treesitter.lua => editor/treesitter.lua} (51%)
delete mode 100644 lua/plugins/git.lua
delete mode 100644 lua/plugins/ibl.lua
create mode 100644 lua/plugins/init.lua
rename lua/plugins/{ => lang}/jupyter.lua (71%)
create mode 100644 lua/plugins/lang/latex.lua
create mode 100644 lua/plugins/lang/matlab.lua
create mode 100644 lua/plugins/lang/web.lua
delete mode 100644 lua/plugins/latex.lua
create mode 100644 lua/plugins/lsp/formatters.lua
create mode 100644 lua/plugins/lsp/mason.lua
delete mode 100644 lua/plugins/lualine.lua
delete mode 100644 lua/plugins/mason.lua
delete mode 100644 lua/plugins/nerdicons.lua
delete mode 100644 lua/plugins/nvim-tree.lua
delete mode 100644 lua/plugins/nvim-web-devicons.lua
delete mode 100644 lua/plugins/tagbar.lua
delete mode 100644 lua/plugins/tailwind-tools.lua
delete mode 100644 lua/plugins/telescope.lua
create mode 100644 lua/plugins/tools/git.lua
create mode 100644 lua/plugins/tools/terminal.lua
create mode 100644 lua/plugins/tools/trouble.lua
create mode 100644 lua/plugins/tools/which-key.lua
delete mode 100644 lua/plugins/trouble.lua
create mode 100644 lua/plugins/ui/colorschemes.lua
create mode 100644 lua/plugins/ui/devicons.lua
create mode 100644 lua/plugins/ui/lualine.lua
create mode 100644 lua/plugins/ui/mini-icons.lua
create mode 100644 lua/plugins/ui/nerdicons.lua
rename lua/plugins/{ => ui}/notifications.lua (64%)
create mode 100644 lua/plugins/ui/nvim-tree.lua
rename lua/plugins/{ => ui}/snacks.lua (75%)
create mode 100644 lua/plugins/ui/telescope.lua
create mode 100644 undo/%Users%noamfavier%.config%back%lua%plugins%notifications.lua
create mode 100644 undo/%Users%noamfavier%.config%back%lua%plugins%trouble.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%core%diagnostics.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%core%keymaps.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%coding%copilot.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%coding%snippets.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%editor%autosave.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%init.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%lsp%mason.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%tools%git.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%tools%trouble.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%tools%which-key.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%devicons.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%lualine.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%mini-icons.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%nerdicons.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%notifications.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%nvim-tree.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%snacks.lua
create mode 100644 undo/%Users%noamfavier%.config%nvim%lua%plugins%ui%telescope.lua
diff --git "a/Icon\r" "b/Icon\r"
deleted file mode 100644
index e69de29..0000000
diff --git a/init.lua b/init.lua
index 3b8dca9..1b5f1bd 100644
--- a/init.lua
+++ b/init.lua
@@ -1,3 +1,4 @@
+-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
@@ -5,77 +6,36 @@ if not vim.loop.fs_stat(lazypath) then
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
- "--branch=stable", -- latest stable release
+ "--branch=stable",
lazypath,
})
end
-
-vim.g.mapleader = " "
-vim.opt.termguicolors = true
vim.opt.rtp:prepend(lazypath)
-require("lazy").setup("plugins")
-
-vim.cmd("source ~/.config/nvim/keymaps.vim")
-vim.g.copilot_enabled = false
-
-vim.diagnostic.config({
- virtual_text = true,
- update_in_insert = true,
- severity_sort = true,
-})
-vim.filetype.add({ extension = { ino = "arduino" } })
-vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
- pattern = "*.ttl",
- callback = function()
- vim.bo.filetype = "turtle"
- end,
+-- Set leader keys before loading plugins
+vim.g.mapleader = " "
+vim.g.maplocalleader = " "
+
+-- Load core configuration
+require("core.options")
+require("core.keymaps")
+require("core.autocmds")
+require("core.diagnostics")
+
+-- Setup lazy.nvim
+require("lazy").setup("plugins", {
+ defaults = { lazy = true },
+ install = { colorscheme = { "tokyonight" } },
+ checker = { enabled = true },
+ performance = {
+ rtp = {
+ disabled_plugins = {
+ "gzip",
+ "tarPlugin",
+ "tohtml",
+ "tutor",
+ "zipPlugin",
+ },
+ },
+ },
})
-
-vim.g.OmniSharp_server_use_mono = 0
-
-local harpoon = require("harpoon")
-local mark = require("harpoon.mark")
-local ui = require("harpoon.ui")
-
--- Add a file to Harpoon's quick access list
-vim.api.nvim_set_keymap(
- "n",
- "a",
- "lua require('harpoon.mark').add_file()",
- { noremap = true, silent = true }
-)
-
--- Open Harpoon's quick access menu
-vim.api.nvim_set_keymap(
- "n",
- "h",
- "lua require('harpoon.ui').toggle_quick_menu()",
- { noremap = true, silent = true }
-)
-
--- Navigate to files by Harpoon index
-vim.api.nvim_set_keymap(
- "n",
- "1",
- "lua require('harpoon.ui').nav_file(1)",
- { noremap = true, silent = true }
-)
-vim.api.nvim_set_keymap(
- "n",
- "2",
- "lua require('harpoon.ui').nav_file(2)",
- { noremap = true, silent = true }
-)
-vim.api.nvim_set_keymap(
- "n",
- "3",
- "lua require('harpoon.ui').nav_file(3)",
- { noremap = true, silent = true }
-)
-vim.api.nvim_set_keymap(
- "n",
- "4",
- "lua require('harpoon.ui').nav_file(4)",
- { noremap = true, silent = true }
-)
diff --git a/keymaps.vim b/keymaps.vim
deleted file mode 100644
index d9562fc..0000000
--- a/keymaps.vim
+++ /dev/null
@@ -1,125 +0,0 @@
-set termguicolors " Enable true color support
-set t_ZH=[3m " Enable italics
-set t_ZR=[23m " Disable italics
-
-let g:sonokai_style = 'andromeda'
-let g:sonokai_enable_italic = 1
-let g:sonokai_better_performance = 1
-
-colorscheme tokyonight-night
-
-let g:copilot_enabled = v:true
-" Trigger completion
-imap