{"id":47317502,"url":"https://github.com/wassimk/qf-formatter.nvim","last_synced_at":"2026-03-17T16:23:40.080Z","repository":{"id":339869840,"uuid":"1163645260","full_name":"wassimk/qf-formatter.nvim","owner":"wassimk","description":"Beautiful quickfix and location list formatting with diagnostic and LSP kind icons for Neovim","archived":false,"fork":false,"pushed_at":"2026-03-09T00:14:44.000Z","size":212,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T05:34:42.683Z","etag":null,"topics":["lua","neovim","neovim-plugin","nvim","quickfix"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wassimk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-21T23:35:57.000Z","updated_at":"2026-03-09T00:14:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wassimk/qf-formatter.nvim","commit_stats":null,"previous_names":["wassimk/qf-formatter.nvim"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/wassimk/qf-formatter.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wassimk%2Fqf-formatter.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wassimk%2Fqf-formatter.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wassimk%2Fqf-formatter.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wassimk%2Fqf-formatter.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wassimk","download_url":"https://codeload.github.com/wassimk/qf-formatter.nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wassimk%2Fqf-formatter.nvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30627017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T14:16:03.965Z","status":"ssl_error","status_checked_at":"2026-03-17T14:16:03.380Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["lua","neovim","neovim-plugin","nvim","quickfix"],"created_at":"2026-03-17T16:23:39.313Z","updated_at":"2026-03-17T16:23:40.075Z","avatar_url":"https://github.com/wassimk.png","language":"Lua","readme":"# qf-formatter.nvim\n\nBeautiful quickfix and location list formatting with diagnostic and LSP kind icons.\n\n\u003cimg src=\"demo/diagnostics.jpg\" alt=\"Quickfix list with diagnostic entries showing error, warning, info, and hint icons\" width=\"700\"\u003e\n\n## 📋 Requirements\n\n- **Neovim 0.10+**\n- **[Nerd Font](https://www.nerdfonts.com/)** for icon rendering\n\n## 🛠️ Installation\n\nInstall via your preferred plugin manager. The following example uses [lazy.nvim](https://github.com/folke/lazy.nvim).\n\n```lua\n{\n  'wassimk/qf-formatter.nvim',\n  event = 'VeryLazy',\n  opts = {}\n}\n```\n\n## 💻 Features\n\n- Formatted quickfix and location list entries: `filename │line:col│ [icon] text`\n- Truncates long filenames with ellipsis\n- Replaces `$HOME` with `~` in file paths\n- Diagnostic icons for error, warning, info, and hint entries\n- LSP kind icons (codicons) for document symbol entries\n- Syntax highlighting for filenames, separators, line numbers, diagnostics, and LSP kinds\n\n## 🔧 Configuration\n\nThe `setup()` function accepts an options table. All values are optional.\n\n```lua\nrequire('qf-formatter').setup({\n  filename_width = 32, -- max filename column width (default: 32)\n})\n```\n\n### Highlight Groups\n\nAll highlights are defined with `default = true`, so your colorscheme always takes priority. Every group is prefixed with `QfFormatter` so you can customize the quickfix appearance without affecting the rest of Neovim.\n\n**Quickfix structure:**\n\n| Group | Default Link | Description |\n|-------|-------------|-------------|\n| `QfFormatterFilename` | `Directory` | Filename column |\n| `QfFormatterSeparator` | `Delimiter` | `│` separators |\n| `QfFormatterLineNr` | `LineNr` | Line and column numbers |\n\n**Diagnostic icons:**\n\n| Group | Default Link |\n|-------|-------------|\n| `QfFormatterError` | `DiagnosticSignError` |\n| `QfFormatterWarn` | `DiagnosticSignWarn` |\n| `QfFormatterInfo` | `DiagnosticSignInfo` |\n| `QfFormatterHint` | `DiagnosticSignHint` |\n\n**LSP kind icons:**\n\n| Group | Default Link |\n|-------|-------------|\n| `QfFormatterKindClass` | `Type` |\n| `QfFormatterKindColor` | `Special` |\n| `QfFormatterKindConstant` | `Constant` |\n| `QfFormatterKindConstructor` | `Function` |\n| `QfFormatterKindEnum` | `Type` |\n| `QfFormatterKindEnumMember` | `Constant` |\n| `QfFormatterKindEvent` | `Special` |\n| `QfFormatterKindField` | `Identifier` |\n| `QfFormatterKindFile` | `Directory` |\n| `QfFormatterKindFolder` | `Directory` |\n| `QfFormatterKindFunction` | `Function` |\n| `QfFormatterKindInterface` | `Type` |\n| `QfFormatterKindKeyword` | `Keyword` |\n| `QfFormatterKindMethod` | `Function` |\n| `QfFormatterKindModule` | `Include` |\n| `QfFormatterKindOperator` | `Operator` |\n| `QfFormatterKindProperty` | `Identifier` |\n| `QfFormatterKindReference` | `Identifier` |\n| `QfFormatterKindSnippet` | `Special` |\n| `QfFormatterKindStruct` | `Type` |\n| `QfFormatterKindText` | `String` |\n| `QfFormatterKindTypeParameter` | `Type` |\n| `QfFormatterKindUnit` | `Number` |\n| `QfFormatterKindValue` | `Number` |\n| `QfFormatterKindVariable` | `Identifier` |\n\nTo customize any group, override it in your config:\n\n```lua\nvim.api.nvim_set_hl(0, 'QfFormatterFilename', { fg = '#82aaff' })\nvim.api.nvim_set_hl(0, 'QfFormatterKindMethod', { link = 'BlinkCmpKindMethod' })\n```\n\n## 🔧 Development\n\nRun tests and lint:\n\n```shell\nmake test\nmake lint\n```\n\nEnable the local git hooks (one-time setup):\n\n```shell\ngit config core.hooksPath .githooks\n```\n\nThis activates a pre-commit hook that auto-generates `doc/qf-formatter.nvim.txt` from `README.md` whenever the README is staged. Requires [pandoc](https://pandoc.org/installing.html).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwassimk%2Fqf-formatter.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwassimk%2Fqf-formatter.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwassimk%2Fqf-formatter.nvim/lists"}