Skip to content
Closed

Php #1722

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
9904631
Feat: added hardtime
rvonhoog Apr 11, 2024
48c661c
Arch, btw (#852)
rdvm Apr 16, 2024
877e84d
Comment about nerd font selection. Fixes #853 (#854)
dam9000 Apr 17, 2024
4f6e621
Fix: #847 - add prefer_git to treesitter config (#856)
feoh Apr 17, 2024
b71ca4f
Enable inlay hints for the supporting servers (#843)
VlaDexa Apr 17, 2024
15d9588
Move plugin examples from README to optional plugin files (#831)
dam9000 Apr 17, 2024
ca27e56
Add gitsigns recommended keymaps as an optional plugin (#858)
dam9000 Apr 18, 2024
da00a10
fix: restore Mason config timing for DAP startup (again) (#865)
GameFuzzy Apr 19, 2024
12b792c
Update README.md (#860)
EvanCarroll Apr 20, 2024
e09767d
Minor improvements of debian install instructions. Fixes #859 (#869)
dam9000 Apr 20, 2024
cf28db3
Add a commented out example of the classic complete keymaps. Fixes #8…
dam9000 Apr 20, 2024
c4383c4
Fix deprecation notice of inlay hints (#873)
VlaDexa Apr 22, 2024
8f62494
Fix highlight errors when lsp crash or stop (#864)
sudo-tee Apr 22, 2024
afe477c
fix: highlight group clear on each attach (#874)
sudo-tee Apr 22, 2024
7c4c8ca
Update README.md (#875)
adoante Apr 22, 2024
fdeb647
README: add clipboard tool dependency (#886)
dam9000 Apr 27, 2024
0b76ef3
Move LspDetach handler near kickstart-lsp-highlight group (#900)
dam9000 May 2, 2024
82d04e8
Add diff to treesitter's ensure_installed languages (#908)
rmacklin May 6, 2024
62f99c5
fix: debug.lua (#918)
smiggiddy May 8, 2024
89d182d
Automatically set detached state as needed. (#925)
PerMalmberg May 10, 2024
ed477a3
which-key v3 update (#1022)
VlaDexa Jul 16, 2024
b6d84f3
fix(lazy): added error handling for bootstrap (#1001)
folke Jul 16, 2024
8e88270
fix: add required parsers from nvim-treesitter
tjdevries Jul 18, 2024
323fea8
Fix neo-tree keymap description (#932)
dam9000 Jul 21, 2024
413efec
Remove redundant require (#959)
tjkuson Jul 21, 2024
dd08b59
Make debug lazy loadable (#978)
VlaDexa Jul 21, 2024
bb0c0f2
Update README.md | %userprofile%\appdata\local -> %localappdata% (#963)
MZhuvka Jul 21, 2024
bf99e25
Make conform.nvim be lazy-loadable again (#977)
VlaDexa Jul 21, 2024
ffc4ea1
Fix comment about mini.ai example (#985)
rmacklin Jul 21, 2024
2459058
Neovim 0.10 updates (#936)
VlaDexa Jul 22, 2024
9b05bc8
Update lazydev config to fix "Undefined field `fs_stat`" LSP error (#…
rmacklin Jul 22, 2024
13e11af
lint: fix lsp warning in `vim.lsp.inlay_hint.is_enabled` (#947)
srdtrk Jul 22, 2024
5c566f7
Update comment about the toggle inlay hints keymap (#1041)
rmacklin Jul 22, 2024
b4a2af8
Remove redundant hlsearch option (#1058)
rivenirvana Jul 28, 2024
0f6bb29
Modify conform comments to prevent deprecation warning when used (#1057)
igniscyan Jul 28, 2024
afdf527
refactor: remove lazydev and luvit-meta as lsp dependencies (#1047)
iton0 Jul 28, 2024
1a825e5
performance: defer clipboard because xsel and pbcopy can be slow (#1049)
abeldekat Jul 28, 2024
b72b7d0
Remove treesitter prefer_git option (#1061)
jstrot Jul 30, 2024
f67b5f2
Add explicit dependency of nvim-lspconfig on cmp-nvim-lsp (#1042)
jstrot Jul 30, 2024
530fd31
Update README.md (#1091)
theoboldalex Aug 22, 2024
3879561
Add note in README about lazy-lock.json (#1090)
mattgallagher92 Aug 22, 2024
e752df4
Check for loop or uv for lazypath (#1095)
LehMichael Aug 22, 2024
adf2b9c
refactor: update treesitter and which-key config (#1068)
iton0 Aug 23, 2024
f3e7c62
Include visual mode in LSP code action keymap (#1060) (#1064)
byrmsh Aug 24, 2024
7d75d95
Enable silent option for default neo-tree plugin keybinding (#1108)
byrmsh Aug 26, 2024
cb0995a
Fix: updated the windows installation commands (#1101)
pantharshit007 Aug 26, 2024
9538a82
fix: remove deprecated opt for conform.nvim (#1070)
iton0 Aug 26, 2024
c3f1e62
cleanup: refactor which-key configuration for cleaner setup (#1102)
iton0 Aug 26, 2024
67997e1
Fix the which-key spec issue caused by recent cleanup (#1113)
dam9000 Aug 26, 2024
2ed4594
feat: update references of tsserver to ts_ls (#1131)
Cheveniko Sep 10, 2024
26370c0
fix: update lazy uninstall information link (#1148)
neitsab Sep 24, 2024
31c59da
Disable linting autocmd for readonly buffers (#1202)
ccjmne Oct 30, 2024
7fb2f02
samarth-nagar fix: lazy help tag on line 931 (#1167)
samarth-na Oct 30, 2024
272a447
Change diagnostic symbols if vim.g.have_nerd_font is true (#1195)
glmlm Oct 30, 2024
24e619f
Set breakpoint icons and their highlight colors (#1194)
glmlm Oct 30, 2024
7c71dd3
Remove two because there are more than two. (#1213)
winder Oct 30, 2024
3d8489b
feat: Change to prepare for upcoming deprecation of configuring diagn…
glmlm Nov 20, 2024
f6382d8
Fix nvim-dap not lazy loading (#1216)
kaezrr Nov 20, 2024
457561b
fix: which-key comment typo (#1227)
mihasket Nov 20, 2024
93f6101
Tweak outdated comment about lazy's `config` key usage. (#1250)
benfleis Dec 12, 2024
9a8f098
Use consistent syntax style for { ... } "pseudocode" (#1247)
dragunovartem99 Dec 12, 2024
ba15187
Issue 1249 which key comments (#1263)
benfleis Dec 12, 2024
5c7ef90
fix(gitsigns): make visual mode descriptions consistent with normal m…
sswensen Dec 15, 2024
0803738
Fix README.md grammar and typos (#1291)
feketegy Dec 29, 2024
0555446
chore: add pre-issue requirements (#1288)
iton0 Dec 29, 2024
9cdca02
Fix which-key delay settings (#1276)
jensenr30 Dec 29, 2024
7d54f06
fix: prevent mason setup from being run twice (#1298)
tomasgareau Jan 7, 2025
e9d5168
chore: remove redundant comment (#1307)
nhld Jan 15, 2025
4d6d473
chore: fix typo in bug report issue template (#1306)
nhld Jan 15, 2025
991bc53
Use luals 3rd library for luv (#1303)
diorman Jan 15, 2025
8472de4
chore(docs): Update README.md (#1344)
rnevius Feb 15, 2025
2c6d28b
docs: clarify using opts = {} vs config = function() ... require('plu…
bleacheda Feb 15, 2025
452db23
fix (#1319): gitsigns deprecated functions (#1321)
ErlanRG Feb 15, 2025
6e13fc1
Add a blurb about installing missing emoji on Ubuntu
feoh Feb 17, 2025
f43e7cf
fix: arguments for the `vim.lsp.Client.supports_method` method (#1356)
jrentlez Feb 17, 2025
9b5f219
feat(diagnostic): add diagnostic config (#1335)
gelocraft Feb 17, 2025
41c1af8
perf: load tokyonight.nvim in the intended way (#1360)
warbacon Feb 18, 2025
3e3e1fc
feat: add basic function signature help (#1358)
rfletchr Feb 18, 2025
f8c4b1b
Fix: fix the cmp-nvim-lsp-signature-help link (#1363)
aryan-rajoria Feb 18, 2025
3f24c88
fix: regression introduced in db78c0b217fd9525e2cbcbffd18abbbbddc75b2…
jrentlez Feb 18, 2025
ce2d67b
Remove duplicate cmp-path (#1369)
aripollak Feb 19, 2025
6e0af19
Propsed fix for init.lua warnings as per https://github.com/nvim-lua/…
feoh Feb 19, 2025
79033de
upstream changes
rvonhoog Apr 11, 2024
f0ba78e
Chore: fixed toyko failure
Feb 24, 2025
2e890c0
Feat: adding codium
Mar 6, 2025
a1b412b
Enabled debug plugin
Sep 10, 2025
f4a1b07
Merge branch 'master' into php
rvonhoog Sep 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@ test.sh
nvim

spell/
lazy-lock.json
84 changes: 84 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Overview

This is a Neovim configuration based on kickstart.nvim, a minimal starting point for Neovim configuration. The codebase is primarily single-file (init.lua) with modular plugin extensions.

## Commands

### Formatting and Linting
- **Format Lua code**: Use stylua via Mason tool installer (automatically configured)
- **Lint files**: Configured through nvim-lint plugin with markdownlint for markdown files
- **Check formatting**: GitHub Actions workflow runs stylua formatting checks

### Development Workflow
- **Start Neovim**: `nvim`
- **Plugin management**: `:Lazy` (view plugin status, updates, etc.)
- **Health check**: `:checkhealth` (verify external dependencies)
- **Mason management**: `:Mason` (manage LSP servers, formatters, linters)

### Key External Dependencies
- `git`, `make`, `unzip`, C Compiler (`gcc`)
- `ripgrep` (for Telescope search functionality)
- Clipboard tool (xclip/xsel/win32yank)
- Optional: Nerd Font (set `vim.g.have_nerd_font = true` in init.lua)

## Architecture

### File Structure
```
init.lua # Main configuration file (single-file approach)
lua/
├── kickstart/ # Kickstart.nvim optional plugins
│ ├── health.lua # Health check functionality
│ └── plugins/ # Modular plugin configurations
│ ├── autopairs.lua
│ ├── debug.lua
│ ├── gitsigns.lua
│ ├── indent_line.lua
│ ├── lint.lua
│ └── neo-tree.lua
└── custom/ # User custom plugins and configurations
└── plugins/
├── init.lua # Custom plugin loader (sets relativenumber)
├── dap.lua # Debug adapter protocol
├── hardtime.lua
└── codium.lua # Codeium AI completion
```

### Plugin Management
- **Plugin manager**: lazy.nvim
- **LSP management**: Mason + mason-lspconfig + mason-tool-installer
- **Automatic installation**: Tools specified in `ensure_installed` table are auto-installed via Mason

### Core Plugin Categories
1. **LSP & Completion**: nvim-lspconfig, nvim-cmp, mason ecosystem
2. **Fuzzy Finding**: Telescope with fzf-native extension
3. **Syntax**: nvim-treesitter with auto-update
4. **Formatting**: conform.nvim with stylua for Lua
5. **Git**: gitsigns for git integration
6. **UI**: which-key, neo-tree (file explorer)
7. **Debugging**: nvim-dap with UI extensions

### Configuration Philosophy
- Single init.lua file keeps configuration simple and readable
- Modular plugins in separate files for organization
- Lazy loading for performance
- Format-on-save enabled with LSP fallback
- Automatic tool installation via Mason

### Custom Extensions
- Relative line numbers enabled by default
- Codeium AI completion integration
- Additional debugging capabilities with nvim-dap
- Hard time plugin for Vim training

## Development Notes

- The configuration follows kickstart.nvim principles: readable, documented, and minimal
- LSP servers and tools are automatically installed via Mason
- Format-on-save is configured with LSP fallback for unsupported file types
- Plugin lazy-loading is used extensively for performance
- Custom plugins should be added to `lua/custom/plugins/` directory
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ Neovim's configurations are located under the following paths, depending on your
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.


> [!NOTE]
> Your fork's URL will be something like this:
> `https://github.com/<your_github_username>/kickstart.nvim.git`
Expand Down
38 changes: 27 additions & 11 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ vim.o.updatetime = 250
-- Decrease mapped sequence wait time
vim.o.timeoutlen = 300


-- Configure how new splits should be opened
vim.o.splitright = true
vim.o.splitbelow = true
Expand Down Expand Up @@ -585,6 +586,19 @@ require('lazy').setup({
end
end

-- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10)
---@param client vim.lsp.Client
---@param method vim.lsp.protocol.Method
---@param bufnr? integer some lsp support methods only in specific files
---@return boolean
local function client_supports_method(client, method, bufnr)
if vim.fn.has 'nvim-0.11' == 1 then
return client:supports_method(method, bufnr)
else
return client.supports_method(method, { bufnr = bufnr })
end
end

-- The following two autocommands are used to highlight references of the
-- word under your cursor when your cursor rests there for a little while.
-- See `:help CursorHold` for information about when this is executed
Expand Down Expand Up @@ -881,20 +895,19 @@ require('lazy').setup({
-- change the command in the config to whatever the name of that colorscheme is.
--
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
'folke/tokyonight.nvim',
'loctvl842/monokai-pro.nvim',
priority = 1000, -- Make sure to load this before all the other start plugins.
config = function()
---@diagnostic disable-next-line: missing-fields
require('tokyonight').setup {
styles = {
comments = { italic = false }, -- Disable italics in comments
},
}

-- Load the colorscheme here.
-- Like many other themes, this one has different styles, and you could load
-- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
vim.cmd.colorscheme 'tokyonight-night'

vim.cmd.colorscheme 'monokai-pro'

-- You can configure highlights by doing something like:
vim.cmd.hi 'Comment gui=none'
end,
},

Expand Down Expand Up @@ -973,9 +986,9 @@ require('lazy').setup({
-- 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).
--
-- require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint',
require 'kickstart.plugins.debug',
require 'kickstart.plugins.indent_line',
require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
Expand All @@ -984,12 +997,15 @@ require('lazy').setup({
-- 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.
-- { import = 'custom.plugins' },

-- For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins`
{ import = 'custom.plugins' },
--
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
-- Or use telescope!
-- In normal mode type `<space>sh` then write `lazy.nvim-plugin`
-- you can continue same window with `<space>sr` which resumes last telescope search
-- For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins`
}, {
ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the
Expand Down
37 changes: 37 additions & 0 deletions lazy-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"LuaSnip": { "branch": "master", "commit": "21f74f7ba8c49f95f9d7c8293b147c2901dd2d3a" },
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"codeium.vim": { "branch": "main", "commit": "a8d47ec54fe82df920b2545559f767003e8a7f8d" },
"conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
"hardtime.nvim": { "branch": "main", "commit": "6d7664d5bdfaea44c5f50b29f5239fab7b00c273" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "5e085efe67fccb13372d54331d849219662a7e93" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
"mini.nvim": { "branch": "main", "commit": "6bf9eccaf2a5395b254bc031f9812cf163ca4187" },
"monokai-pro.nvim": { "branch": "master", "commit": "1ac671f6da720cba967d28d25c2f16b8b4e18808" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-dap": { "branch": "master", "commit": "7523676a4be17644587aa47e4d42f6f7646d4727" },
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-lint": { "branch": "master", "commit": "f126af5345c7472e9a0cdbe1d1a29209be72c4c4" },
"nvim-lspconfig": { "branch": "master", "commit": "c8b90ae5cbe21d547b342b05c9266dcb8ca0de8f" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}
4 changes: 4 additions & 0 deletions lua/custom/plugins/codium.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
return {
'Exafunction/codeium.vim',
event = 'BufEnter',
}
5 changes: 5 additions & 0 deletions lua/custom/plugins/hardtime.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
return {
'm4xshen/hardtime.nvim',
dependencies = { 'MunifTanjim/nui.nvim', 'nvim-lua/plenary.nvim' },
opts = {},
}
1 change: 1 addition & 0 deletions lua/custom/plugins/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
-- I promise not to create any merge conflicts in this directory :)
--
-- See the kickstart.nvim README for more information
vim.wo.relativenumber = true
return {}
10 changes: 9 additions & 1 deletion lua/kickstart/plugins/autopairs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,13 @@
return {
'windwp/nvim-autopairs',
event = 'InsertEnter',
opts = {},
-- Optional dependency
dependencies = { 'hrsh7th/nvim-cmp' },
config = function()
require('nvim-autopairs').setup {}
-- If you want to automatically add `(` after selecting a function or method
local cmp_autopairs = require 'nvim-autopairs.completion.cmp'
local cmp = require 'cmp'
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
end,
}
Loading