https://github.com/thebigcicca/neokinds
ide-like pictograms for neovim lsp completion items
https://github.com/thebigcicca/neokinds
icons icons-pack jetbrains lsp lspkind lspkinds mini neokinds neovim neovim-plugin nvim nvim-plugin nvim-web-devicons pictograms vscode
Last synced: 3 months ago
JSON representation
ide-like pictograms for neovim lsp completion items
- Host: GitHub
- URL: https://github.com/thebigcicca/neokinds
- Owner: thebigcicca
- License: mit
- Created: 2025-01-06T00:34:41.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-10T17:32:50.000Z (9 months ago)
- Last Synced: 2025-04-10T11:16:14.397Z (6 months ago)
- Topics: icons, icons-pack, jetbrains, lsp, lspkind, lspkinds, mini, neokinds, neovim, neovim-plugin, nvim, nvim-plugin, nvim-web-devicons, pictograms, vscode
- Language: Lua
- Homepage:
- Size: 125 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# neokinds đĨ´
ide-like pictograms for neovim lsp completion items, make your lsp icons much more attractive.
[](http://www.lua.org)
[](https://neovim.io)
## âĄī¸ Requirements
- nerd fonts
- neovim 0.10 +> [!NOTE]
> This plugin would not be possible without nerd fonts, mini.icons and lspkind, their links are in the acknowledgements section.> [TODO]
> Adding nvim-tree support## đē Installation
```lua
{
"BrunoCiccarino/neokinds",
config = function ()
local neokinds = require("neokinds"),
neokinds.setup({
...
}),
end
}
```## âī¸ Config
```lua
local neokinds = require("neokinds")neokinds.setup({
icons = {
error = "ī",
warn = "īą",
hint = "īĒ",
info = "ī",
},
completion_kinds = {
Text = "ī ",
Method = "ķ°§",
Function = "ķ°",
Constructor = "īŖ ",
Field = "î",
Variable = "î ",
Class = "ķ° ą ",
Interface = "îĄ ",
Module = "ī ",
Property = "ķ°ĸ ",
Unit = "īĩ ",
Value = "īĸ ",
Enum = "īŠ",
Keyword = "ķ°",
Snippet = "ī",
Color = "īŖ ",
File = "î ",
Reference = "ī ",
Folder = "îĒ ",
EnumMember = "ī ",
Constant = "î ",
Struct = "îĒ",
Event = "ī§ ",
Operator = "ī ",
TypeParameter = "ī ",
Boolean = "îĒ ",
Array = "îĒ ",
},
})```
### đ¨ integration
blink-cmp config
```lua
local neokinds = require("neokinds")require('blink-cmp').setup({
completion = {
list = { selection = function(ctx) return ctx.mode == "cmdline" and "auto_insert" or "preselect" end },
menu = {
border = "rounded",
winhighlight = "Normal:NormalFloat,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None",
draw = {
components = {
kind_icon = {
text = function(ctx)
local icon = neokinds.config.completion_kinds[ctx.kind] or ""
return icon .. " " .. (ctx.kind or "")
end,
highlight = function(ctx)
return "CmpItemKind" .. (ctx.kind or "Default")
end,
},
},
},
},
},
}
```cmp config
```lua
local neokinds = require('neokinds')formatting = {
format = function(entry, vim_item)
vim_item.menu = ({
nvim_lsp = "[LSP]",
luasnip = "[Snippet]",
buffer = "[Buffer]",
nvim_lua = "[API]",
path = "[Path]",
calc = "[Calc]",
emoji = "[Emoji]",
})[entry.source.name] or ""
vim_item.kind = string.format("%s %s", M.config.completion_kinds[vim_item.kind] or "", vim_item.kind)
return vim_item
end,
},
```## đ file icons

> [!TIP]
> For file icons, we have few variants so far, but over time we will add more and more. So if you want a wide variety of file icons, go to [mini.icons](https://github.com/echasnovski/mini.icons) as the situation there is excellent.### đŗ NeoTree config
```lua
require("neo-tree").setup({
close_if_last_window = false,
popup_border_style = "rounded",
enable_git_status = true,
enable_diagnostics = true,
default_component_configs = {
icon = {
folder_closed = neokinds.config.icons.folders.closed,
folder_open = neokinds.config.icons.folders.open,
folder_empty = neokinds.config.icons.folders.empty,
default = neokinds.config.icons.files.default,
},
},
filesystem = {
filtered_items = {
visible = true,
},
components = {
icon = function(config, node, state)
return neokinds.icon(config, node, state)
end,
},
})
```## đ Compatibility
- nvim-cmp: full support
- blink-cmp full support
- neo-tree full support### đ Acknowledgements
- [mini.icons](https://github.com/echasnovski/mini.icons)
- [lspkind.nvim](https://github.com/onsails/lspkind.nvim)
- [nvim web devicons](https://github.com/nvim-tree/nvim-web-devicons)
- [nerd-fonts](https://www.nerdfonts.com/)