{"id":16370718,"url":"https://github.com/integralist/nvim","last_synced_at":"2025-04-10T01:13:19.199Z","repository":{"id":140161945,"uuid":"570536765","full_name":"Integralist/nvim","owner":"Integralist","description":"Neovim configuration","archived":false,"fork":false,"pushed_at":"2025-04-03T08:43:21.000Z","size":9201,"stargazers_count":72,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T01:13:13.683Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Integralist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-25T12:31:54.000Z","updated_at":"2025-04-03T08:43:26.000Z","dependencies_parsed_at":"2023-04-07T13:03:20.237Z","dependency_job_id":"9ec27c51-77d3-48af-bc2e-9f161b858081","html_url":"https://github.com/Integralist/nvim","commit_stats":{"total_commits":389,"total_committers":1,"mean_commits":389.0,"dds":0.0,"last_synced_commit":"5ea452fad512d5ab1ed64e97a8ad798b0f8ceb56"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2Fnvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2Fnvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2Fnvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Integralist%2Fnvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Integralist","download_url":"https://codeload.github.com/Integralist/nvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137891,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T03:05:48.567Z","updated_at":"2025-04-10T01:13:19.181Z","avatar_url":"https://github.com/Integralist.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Installation\n\nDownload these files into `~/.config/nvim/`\n\n## Screenshots\n\nOpening neovim you'll see the traditional screen + you can see the which-key\nplugin is available:\n\n\u003e \\[!TIP\\]\n\u003e The `\u003cleader\u003e` key is `\\`.\\\n\u003e A single `\u003cleader\u003e` is for \"searching\".\\\n\u003e A double `\u003cleader\u003e` is for other types of actions.\\\n\u003e See the which-key output for each to understand what's available.\n\n![](./screenshots/1.png)\n\nLSP support for Go and Rust + custom lualine implementation + breadcrumb trail\nin the winbar:\n\n![](./screenshots/2.png)\n\nA mini-map can be activated via key mapping:\n\n![](./screenshots/3.png)\n\nA traditional file structure navigation is available + LSP diagnostics shown:\n\n![](./screenshots/4.png)\n\nAn AST navigation view for the symbols in the file is available:\n\n![](./screenshots/5.png)\n\nTelescope is used heavily for searching for all sorts of data:\n\n![](./screenshots/6.png)\n\nThe quickfix workflow is also improved via a plugin:\n\n![](./screenshots/7.png)\n\n## Directory Structure\n\n```\n.\n├── after\n│   ├── ftplugin\n│   │   └── *.vim\n│   └── syntax\n│       └── *vim\n├── ftdetect\n│   └── *.vim\n├── init.lua\n├── lua\n│   ├── autocommands.lua\n│   ├── commands.lua\n│   ├── custom\n│   │   └── example\n│   │       └── *.lua\n│   ├── highlights.lua\n│   ├── mappings.lua\n│   ├── plugins\n│   │   ├── *.lua\n│   ├── quickfix.lua\n│   └── settings.lua\n├── spell\n│   ├── en.utf-8.add\n│   └── en.utf-8.add.spl\n└── syntax\n    └── qf.vim\n```\n\n### ftdetect\n\nDetermines the filetype of a buffer when it's first opened.\n\n- Global: `$VIMRUNTIME/ftdetect/\u003cfiletype\u003e.vim` or `*.lua`.\n- User-defined: `~/.config/nvim/ftdetect/\u003cfiletype\u003e.vim` or `*.lua`\n\n\u003e \\[!NOTE\\]\n\u003e `ftdetect` doesn’t have an `after/` equivalent because once the filetype is\n\u003e set, it doesn't need to be adjusted again.\n\n### ftplugin\n\nConfigures buffer-local settings after the filetype is detected and set by\nftdetect.\n\n- Global: `$VIMRUNTIME/ftplugin/\u003cfiletype\u003e.vim` or `*.lua`.\n- User-defined: `~/.config/nvim/ftplugin/\u003cfiletype\u003e.vim` or `*.lua`.\n- After defined: `~/.config/nvim/after/ftplugin/\u003cfiletype\u003e.vim` or `*.lua`.\n\n\u003e \\[!NOTE\\]\n\u003e Files in `/after/ftplugin/` are sourced after the regular `ftplugin` files.\n\u003e This allows overriding or extending previous filetype configurations without\n\u003e directly modifying them.\n\n### spell\n\nThe `spell/` directory stores custom spelling dictionaries for different\nlanguages or locales. It allows you to add custom words to the spellchecker\nwithout modifying Neovim’s default spell files.\n\n- `en.utf-8.add`: This is the plain-text list of additional words you’ve added\n  to the spellchecker.\n- `en.utf-8.add.spl`: This is the compiled spell file generated from the `.add`\n  file, which helps speeds up spellchecking.\n\n\u003e \\[!TIP\\]\n\u003e Hover over a misspelled word and press `zg` to add it to the custom\n\u003e dictionary. The word gets saved to `~/.config/nvim/spell/en.utf-8.add`.\n\u003e Alternatively, type `z=` to see suggestions.\n\n\u003c!----\u003e\n\n\u003e \\[!TIP\\]\n\u003e An optional (but recommended) step is to compile the spell file:\\\n\u003e `mkspell ~/.config/nvim/spell/en.utf-8.add`\n\n### syntax\n\nThe `syntax/*.vim` or `*.lua` files define syntax highlighting rules for\ndifferent filetypes.\n\n- Global: `$VIMRUNTIME/syntax/\u003cfiletype\u003e.vim` or `*.lua`.\n- User-defined: `~/.config/nvim/syntax/\u003cfiletype\u003e.vim` or `*.lua`.\n- After defined: `~/.config/nvim/after/syntax/\u003cfiletype\u003e.vim` or `*.lua`.\n\n### after\n\nWhen you install plugins with `lazy.nvim` (or `packer`, `vim-plug`, etc.), those\nplugins typically place their configuration files in:\n\n```plain\n~/.local/share/nvim/lazy/\u003cplugin-name\u003e/\n```\n\nThese plugin files live in the global runtime path (`$VIMRUNTIME`) and are\nsourced automatically by Neovim.\n\nFiles in `/after/` are sourced after plugin files, allowing you to:\n\n- Override plugin settings (like buffer options, keymaps).\n- Add extra configurations that build on top of the plugin’s defaults.\n- Fix incompatibilities between plugins or conflicts in configuration.\n\nAs an example, when configuring an LSP server, you would have your setup code\nin:\n\n```plain\n~/.config/nvim/lua/plugins/lsp.lua\n```\n\nWhile adding any LSP specific modifications into:\n\n```plain\n~/.config/nvim/after/plugin/lsp.lua\n```\n\nSo `.setup()` calls configure plugins globally, whereas `ftplugin` is\nfiletype-specific. If you place `.setup()` in `ftplugin/`, it will only run when\na file of that type is opened, which can lead to incomplete or missing\nconfigurations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintegralist%2Fnvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintegralist%2Fnvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintegralist%2Fnvim/lists"}