Compare commits
10 Commits
de44f49101
...
897d1e8d7b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
897d1e8d7b | ||
| a8245b6783 | |||
| e1390e2101 | |||
| e324019a1c | |||
| 37aba09336 | |||
| fd0db7d448 | |||
| 1459ea94bf | |||
|
|
a8f539562a | ||
|
|
7ddaab3ffd | ||
|
|
e84e187f3c |
11
.github/ISSUE_TEMPLATE/bug_report.md
vendored
11
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -9,6 +9,13 @@ assignees: ''
|
|||||||
|
|
||||||
<!-- Any bug report not following this template will be immediately closed. Thanks -->
|
<!-- Any bug report not following this template will be immediately closed. Thanks -->
|
||||||
|
|
||||||
|
## Before Reporting an Issue
|
||||||
|
- I have read the kickstart.nvim README.md.
|
||||||
|
- I have read the appropiate plugin's documentation.
|
||||||
|
- I have searched that this issue has not been reported before.
|
||||||
|
|
||||||
|
- [ ] **By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.**
|
||||||
|
|
||||||
## Describe the bug
|
## Describe the bug
|
||||||
<!-- A clear and concise description of what the bug is. -->
|
<!-- A clear and concise description of what the bug is. -->
|
||||||
|
|
||||||
@@ -18,8 +25,8 @@ assignees: ''
|
|||||||
|
|
||||||
## Desktop
|
## Desktop
|
||||||
<!-- please complete the following information. -->
|
<!-- please complete the following information. -->
|
||||||
- OS:
|
- OS:
|
||||||
- Terminal:
|
- Terminal:
|
||||||
|
|
||||||
## Neovim Version
|
## Neovim Version
|
||||||
<!-- Output of running `:version` from inside of neovim. -->
|
<!-- Output of running `:version` from inside of neovim. -->
|
||||||
|
|||||||
23
README.md
23
README.md
@@ -1,5 +1,7 @@
|
|||||||
# kickstart.nvim
|
# kickstart.nvim
|
||||||
|
|
||||||
|
This fork of kickstart.nvim has a few plugins added and is used a general base though just cloning it will get you 90% of the way through most of your development in various languages.
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
A starting point for Neovim that is:
|
A starting point for Neovim that is:
|
||||||
@@ -24,7 +26,7 @@ If you are experiencing issues, please make sure you have the latest versions.
|
|||||||
External Requirements:
|
External Requirements:
|
||||||
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
|
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
|
||||||
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
|
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation)
|
||||||
- Clipboard tool (xclip/xsel/win32yank or other depending on platform)
|
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
|
||||||
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
|
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
|
||||||
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
|
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
|
||||||
- Language Setup:
|
- Language Setup:
|
||||||
@@ -56,12 +58,12 @@ so that you have your own copy that you can modify, then install by cloning the
|
|||||||
fork to your machine using one of the commands below, depending on your OS.
|
fork to your machine using one of the commands below, depending on your OS.
|
||||||
|
|
||||||
> **NOTE**
|
> **NOTE**
|
||||||
> Your fork's url will be something like this:
|
> Your fork's URL will be something like this:
|
||||||
> `https://github.com/<your_github_username>/kickstart.nvim.git`
|
> `https://github.com/<your_github_username>/kickstart.nvim.git`
|
||||||
|
|
||||||
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
|
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
|
||||||
too - it's ignored in the kickstart repo to make maintenance easier, but it's
|
too - it's ignored in the kickstart repo to make maintenance easier, but it's
|
||||||
[recommmended to track it in version control](https://lazy.folke.io/usage/lockfile).
|
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).
|
||||||
|
|
||||||
#### Clone kickstart.nvim
|
#### Clone kickstart.nvim
|
||||||
> **NOTE**
|
> **NOTE**
|
||||||
@@ -101,12 +103,17 @@ nvim
|
|||||||
```
|
```
|
||||||
|
|
||||||
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
|
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
|
||||||
current plugin status. Hit `q` to close the window.
|
the current plugin status. Hit `q` to close the window.
|
||||||
|
|
||||||
|
#### Read The Friendly Documentation
|
||||||
|
|
||||||
Read through the `init.lua` file in your configuration folder for more
|
Read through the `init.lua` file in your configuration folder for more
|
||||||
information about extending and exploring Neovim. That also includes
|
information about extending and exploring Neovim. That also includes
|
||||||
examples of adding popularly requested plugins.
|
examples of adding popularly requested plugins.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> For more information about a particular plugin check its repository's documentation.
|
||||||
|
|
||||||
|
|
||||||
### Getting Started
|
### Getting Started
|
||||||
|
|
||||||
@@ -114,9 +121,9 @@ examples of adding popularly requested plugins.
|
|||||||
|
|
||||||
### FAQ
|
### FAQ
|
||||||
|
|
||||||
* What should I do if I already have a pre-existing neovim configuration?
|
* What should I do if I already have a pre-existing Neovim configuration?
|
||||||
* You should back it up and then delete all associated files.
|
* You should back it up and then delete all associated files.
|
||||||
* This includes your existing init.lua and the neovim files in `~/.local`
|
* This includes your existing init.lua and the Neovim files in `~/.local`
|
||||||
which can be deleted with `rm -rf ~/.local/share/nvim/`
|
which can be deleted with `rm -rf ~/.local/share/nvim/`
|
||||||
* Can I keep my existing configuration in parallel to kickstart?
|
* Can I keep my existing configuration in parallel to kickstart?
|
||||||
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME`
|
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME`
|
||||||
@@ -135,7 +142,7 @@ examples of adding popularly requested plugins.
|
|||||||
* The main purpose of kickstart is to serve as a teaching tool and a reference
|
* The main purpose of kickstart is to serve as a teaching tool and a reference
|
||||||
configuration that someone can easily use to `git clone` as a basis for their own.
|
configuration that someone can easily use to `git clone` as a basis for their own.
|
||||||
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
|
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
|
||||||
into smaller parts. A fork of kickstart that does this while maintaining the
|
into smaller parts. A fork of kickstart that does this while maintaining the
|
||||||
same functionality is available here:
|
same functionality is available here:
|
||||||
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
|
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
|
||||||
* Discussions on this topic can be found here:
|
* Discussions on this topic can be found here:
|
||||||
@@ -174,7 +181,7 @@ run in cmd as **admin**:
|
|||||||
winget install --accept-source-agreements chocolatey.chocolatey
|
winget install --accept-source-agreements chocolatey.chocolatey
|
||||||
```
|
```
|
||||||
|
|
||||||
2. install all requirements using choco, exit previous cmd and
|
2. install all requirements using choco, exit the previous cmd and
|
||||||
open a new one so that choco path is set, and run in cmd as **admin**:
|
open a new one so that choco path is set, and run in cmd as **admin**:
|
||||||
```
|
```
|
||||||
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
|
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
|
||||||
|
|||||||
24
init.lua
24
init.lua
@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
|
|||||||
vim.g.maplocalleader = ' '
|
vim.g.maplocalleader = ' '
|
||||||
|
|
||||||
-- Set to true if you have a Nerd Font installed and selected in the terminal
|
-- Set to true if you have a Nerd Font installed and selected in the terminal
|
||||||
vim.g.have_nerd_font = false
|
vim.g.have_nerd_font = true
|
||||||
|
|
||||||
-- [[ Setting options ]]
|
-- [[ Setting options ]]
|
||||||
-- See `:help vim.opt`
|
-- See `:help vim.opt`
|
||||||
@@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
|
|||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
-- You can also add relative line numbers, to help with jumping.
|
-- You can also add relative line numbers, to help with jumping.
|
||||||
-- Experiment for yourself to see if you like it!
|
-- Experiment for yourself to see if you like it!
|
||||||
-- vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
-- Enable mouse mode, can be useful for resizing splits for example!
|
-- Enable mouse mode, can be useful for resizing splits for example!
|
||||||
vim.opt.mouse = 'a'
|
vim.opt.mouse = 'a'
|
||||||
@@ -135,7 +135,6 @@ vim.opt.signcolumn = 'yes'
|
|||||||
vim.opt.updatetime = 250
|
vim.opt.updatetime = 250
|
||||||
|
|
||||||
-- Decrease mapped sequence wait time
|
-- Decrease mapped sequence wait time
|
||||||
-- Displays which-key popup sooner
|
|
||||||
vim.opt.timeoutlen = 300
|
vim.opt.timeoutlen = 300
|
||||||
|
|
||||||
-- Configure how new splits should be opened
|
-- Configure how new splits should be opened
|
||||||
@@ -274,6 +273,9 @@ require('lazy').setup({
|
|||||||
'folke/which-key.nvim',
|
'folke/which-key.nvim',
|
||||||
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
|
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
|
||||||
opts = {
|
opts = {
|
||||||
|
-- delay between pressing a key and opening which-key (milliseconds)
|
||||||
|
-- this setting is independent of vim.opt.timeoutlen
|
||||||
|
delay = 0,
|
||||||
icons = {
|
icons = {
|
||||||
-- set icon mappings to true if you have a Nerd Font
|
-- set icon mappings to true if you have a Nerd Font
|
||||||
mappings = vim.g.have_nerd_font,
|
mappings = vim.g.have_nerd_font,
|
||||||
@@ -825,6 +827,7 @@ require('lazy').setup({
|
|||||||
-- set group index to 0 to skip loading LuaLS completions as lazydev recommends it
|
-- set group index to 0 to skip loading LuaLS completions as lazydev recommends it
|
||||||
group_index = 0,
|
group_index = 0,
|
||||||
},
|
},
|
||||||
|
{ name = 'copilot' },
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
{ name = 'luasnip' },
|
{ name = 'luasnip' },
|
||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
@@ -926,18 +929,17 @@ require('lazy').setup({
|
|||||||
-- Here are some example plugins that I've included in the Kickstart repository.
|
-- Here are some example plugins that I've included in the Kickstart repository.
|
||||||
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
|
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
|
||||||
--
|
--
|
||||||
-- require 'kickstart.plugins.debug',
|
require 'kickstart.plugins.debug',
|
||||||
-- require 'kickstart.plugins.indent_line',
|
require 'kickstart.plugins.indent_line',
|
||||||
-- require 'kickstart.plugins.lint',
|
require 'kickstart.plugins.lint',
|
||||||
-- require 'kickstart.plugins.autopairs',
|
require 'kickstart.plugins.autopairs',
|
||||||
-- require 'kickstart.plugins.neo-tree',
|
require 'kickstart.plugins.neo-tree',
|
||||||
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
|
require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
|
||||||
|
|
||||||
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
||||||
-- This is the easiest way to modularize your config.
|
-- This is the easiest way to modularize your config.
|
||||||
--
|
--
|
||||||
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
|
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
|
||||||
-- { import = 'custom.plugins' },
|
{ import = 'custom.plugins' },
|
||||||
--
|
--
|
||||||
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
|
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
|
||||||
-- Or use telescope!
|
-- Or use telescope!
|
||||||
|
|||||||
0
lua/custom/options.lua
Normal file
0
lua/custom/options.lua
Normal file
10
lua/custom/plugins/code-companion.lua
Normal file
10
lua/custom/plugins/code-companion.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
'olimorris/codecompanion.nvim',
|
||||||
|
opts = {
|
||||||
|
ignore_warnings = true,
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
},
|
||||||
|
}
|
||||||
30
lua/custom/plugins/copilot.lua
Normal file
30
lua/custom/plugins/copilot.lua
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
'zbirenbaum/copilot.lua',
|
||||||
|
cmd = 'Copilot',
|
||||||
|
event = 'InsertEnter',
|
||||||
|
config = function()
|
||||||
|
require('copilot').setup {
|
||||||
|
suggestion = { enabled = false },
|
||||||
|
panel = { enabled = false },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'zbirenbaum/copilot-cmp',
|
||||||
|
event = 'InsertEnter',
|
||||||
|
config = function()
|
||||||
|
require('copilot_cmp').setup()
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
'zbirenbaum/copilot.lua',
|
||||||
|
cmd = 'Copilot',
|
||||||
|
config = function()
|
||||||
|
require('copilot').setup {
|
||||||
|
suggestion = { enabled = false },
|
||||||
|
panel = { enabled = false },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
50
lua/custom/plugins/harpoon.lua
Normal file
50
lua/custom/plugins/harpoon.lua
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
return {
|
||||||
|
'ThePrimeagen/harpoon',
|
||||||
|
branch = 'harpoon2',
|
||||||
|
requires = { { 'nvim-lua/plenary.nvim' } },
|
||||||
|
config = function()
|
||||||
|
local harpoon = require 'harpoon'
|
||||||
|
harpoon:setup()
|
||||||
|
-- Harpoon remaps
|
||||||
|
vim.keymap.set('n', '<leader>hm', function()
|
||||||
|
harpoon:list():append()
|
||||||
|
end, { desc = 'Add buffer to Harpoon list' })
|
||||||
|
vim.keymap.set('n', '<C-e>', function()
|
||||||
|
harpoon.ui:toggle_quick_menu(harpoon:list())
|
||||||
|
end)
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-h>', function()
|
||||||
|
harpoon:list():select(1)
|
||||||
|
end)
|
||||||
|
vim.keymap.set('n', '<C-t>', function()
|
||||||
|
harpoon:list():select(2)
|
||||||
|
end)
|
||||||
|
vim.keymap.set('n', '<C-s>', function()
|
||||||
|
harpoon:list():select(3)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Toggle previous & next buffers stored within Harpoon list
|
||||||
|
vim.keymap.set('n', '<C-S-P>', function()
|
||||||
|
harpoon:list():prev()
|
||||||
|
end)
|
||||||
|
vim.keymap.set('n', '<C-S-N>', function()
|
||||||
|
harpoon:list():next()
|
||||||
|
end)
|
||||||
|
|
||||||
|
harpoon:extend {
|
||||||
|
UI_CREATE = function(cx)
|
||||||
|
vim.keymap.set('n', '<C-v>', function()
|
||||||
|
harpoon.ui:select_menu_item { vsplit = true }
|
||||||
|
end, { buffer = cx.bufnr })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-x>', function()
|
||||||
|
harpoon.ui:select_menu_item { split = true }
|
||||||
|
end, { buffer = cx.bufnr })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-t>', function()
|
||||||
|
harpoon.ui:select_menu_item { tabedit = true }
|
||||||
|
end, { buffer = cx.bufnr })
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}
|
||||||
10
lua/custom/plugins/lazygit.lua
Normal file
10
lua/custom/plugins/lazygit.lua
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
'kdheepak/lazygit.nvim',
|
||||||
|
-- optional for floating window border decoration
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.keymap.set('n', '<leader>gg', ':LazyGit <CR>')
|
||||||
|
end,
|
||||||
|
}
|
||||||
14
lua/custom/plugins/mcp-hub.lua
Normal file
14
lua/custom/plugins/mcp-hub.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
-- 'ravitemer/mcphub.nvim',
|
||||||
|
-- dependencies = {
|
||||||
|
-- 'nvim-lua/plenary.nvim', -- Required for Job and HTTP requests
|
||||||
|
-- },
|
||||||
|
-- -- uncomment the following line to load hub lazily
|
||||||
|
-- --cmd = "MCPHub", -- lazy load
|
||||||
|
-- build = 'npm install -g mcp-hub@latest', -- Installs required mcp-hub npm module
|
||||||
|
-- -- uncomment this if you don't want mcp-hub to be available globally or can't use -g
|
||||||
|
-- -- build = "bundled_build.lua", -- Use this and set use_bundled_binary = true in opts (see Advanced configuration)
|
||||||
|
-- config = function()
|
||||||
|
-- require('mcphub').setup()
|
||||||
|
-- end,
|
||||||
|
}
|
||||||
15
lua/custom/plugins/noice.lua
Normal file
15
lua/custom/plugins/noice.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
return {
|
||||||
|
'folke/noice.nvim',
|
||||||
|
event = 'VeryLazy',
|
||||||
|
opts = {
|
||||||
|
-- add any options here
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||||
|
'MunifTanjim/nui.nvim',
|
||||||
|
-- OPTIONAL:
|
||||||
|
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||||
|
-- If not available, we use `mini` as the fallback
|
||||||
|
'rcarriga/nvim-notify',
|
||||||
|
},
|
||||||
|
}
|
||||||
40
lua/custom/plugins/toggleterm.lua
Normal file
40
lua/custom/plugins/toggleterm.lua
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
'akinsho/toggleterm.nvim',
|
||||||
|
-- [[ cmd = { "toggleterm", "termexec" }, ]]
|
||||||
|
opts = {
|
||||||
|
highlights = {
|
||||||
|
normal = { link = 'normal' },
|
||||||
|
normalnc = { link = 'normalnc' },
|
||||||
|
normalfloat = { link = 'normalfloat' },
|
||||||
|
floatborder = { link = 'floatborder' },
|
||||||
|
statusline = { link = 'statusline' },
|
||||||
|
statuslinenc = { link = 'statuslinenc' },
|
||||||
|
winbar = { link = 'winbar' },
|
||||||
|
winbarnc = { link = 'winbarnc' },
|
||||||
|
},
|
||||||
|
on_create = function()
|
||||||
|
vim.opt.foldcolumn = '0'
|
||||||
|
vim.opt.signcolumn = 'no'
|
||||||
|
end,
|
||||||
|
size = function(term)
|
||||||
|
if term.direction == 'horizontal' then
|
||||||
|
return 15
|
||||||
|
elseif term.direction == 'vertical' then
|
||||||
|
return vim.o.columns * 0.4
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
shell = 'pwsh',
|
||||||
|
open_mapping = [[<f12>]],
|
||||||
|
shading_factor = 2,
|
||||||
|
direction = 'float',
|
||||||
|
float_opts = { border = 'rounded' },
|
||||||
|
vim.keymap.set('n', '<leader>tv', '<Cmd>ToggleTerm direction=vertical<CR>', { desc = 'ToggleTerm vertical' }),
|
||||||
|
vim.keymap.set('n', '<leader>tnv', '<Cmd>TermNew direction=vertical<CR>', { desc = 'ToggleTerm New vertical' }),
|
||||||
|
vim.keymap.set('n', '<leader>tt', '<Cmd>ToggleTerm direction=horizontal<CR>', { desc = 'ToggleTerm horizontal' }),
|
||||||
|
vim.keymap.set('n', '<leader>tnh', '<Cmd>TermNew direction=horizontal<CR>', { desc = 'ToggleTerm New horizontal' }),
|
||||||
|
vim.keymap.set('n', '<leader>tf', '<Cmd>ToggleTerm direction=float<CR>', { desc = 'ToggleTerm float' }),
|
||||||
|
vim.api.nvim_set_keymap('t', '<Esc>', '<C-\\><C-n>', { noremap = true }),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
26
lua/custom/plugins/vim-go.lua
Normal file
26
lua/custom/plugins/vim-go.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
return {
|
||||||
|
'fatih/vim-go', -- Popular Go plugin
|
||||||
|
config = function()
|
||||||
|
-- Explicitly set Go-specific indentation
|
||||||
|
vim.api.nvim_create_augroup('GoIndentation', { clear = true })
|
||||||
|
vim.api.nvim_create_autocmd('FileType', {
|
||||||
|
group = 'GoIndentation',
|
||||||
|
pattern = 'go',
|
||||||
|
callback = function()
|
||||||
|
vim.opt_local.tabstop = 4
|
||||||
|
vim.opt_local.shiftwidth = 4
|
||||||
|
vim.opt_local.softtabstop = 4
|
||||||
|
vim.opt_local.expandtab = false -- Go prefers tabs, not spaces
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
-- Additional Go-specific settings
|
||||||
|
vim.g.go_fmt_command = 'goimports' -- Automatically import packages
|
||||||
|
vim.g.go_auto_type_info = 1 -- Show type information
|
||||||
|
vim.g.go_highlight_types = 1
|
||||||
|
vim.g.go_highlight_fields = 1
|
||||||
|
vim.g.go_highlight_functions = 1
|
||||||
|
vim.g.go_highlight_function_calls = 1
|
||||||
|
vim.g.go_highlight_operators = 1
|
||||||
|
vim.g.go_highlight_extra_types = 1
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ return {
|
|||||||
},
|
},
|
||||||
cmd = 'Neotree',
|
cmd = 'Neotree',
|
||||||
keys = {
|
keys = {
|
||||||
{ '\\', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
{ '\\', ':Neotree reveal right<CR>', desc = 'NeoTree reveal', silent = true },
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
filesystem = {
|
filesystem = {
|
||||||
|
|||||||
Reference in New Issue
Block a user