# folke/noice.nvim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/folke-noice-nvim).**

5,612 stars · 160 forks · Lua · apache-2.0

## Links

- GitHub: https://github.com/folke/noice.nvim
- awesome-repositories: https://awesome-repositories.com/repository/folke-noice-nvim.md

## Topics

`neovim` `neovim-lua-plugin` `neovim-plugin` `neovim-ui`

## Description

noice.nvim is a Neovim UI enhancement plugin that replaces the editor's default command-line, notification, and popup-menu interfaces with a modern, customizable floating-window system. It provides a command-line popup menu, an LSP progress viewer, a message routing framework, and a notification display system with configurable layouts and severity-based styling.

The plugin routes Neovim messages to different visual containers based on event type, kind, or content, and displays notifications with customizable layouts, icons, and severity-based styling in floating windows. It visualizes ongoing language server tasks with progress bars, spinners, and client names, and offers a preset configuration system that applies a complete set of UI options through a single boolean flag.

The project covers command-line interface customization, LSP progress visualization, message routing and filtering, and notification management with configurable views and fallback backends. It supports event-based message routing, inline virtual text display, LSP progress message filtering, mini notification display, and recording status display. The plugin can be installed using a preferred package manager by adding its repository to the configuration.

## Tags

### Development Tools & Productivity

- [Neovim Plugins](https://awesome-repositories.com/f/development-tools-productivity/neovim-plugins.md) — Replaces Neovim's default UI with a modern floating-window command-line, notification, and popup-menu system.
- [UI Enhancement Plugins](https://awesome-repositories.com/f/development-tools-productivity/neovim-plugins/ui-enhancement-plugins.md) — Replaces Neovim's default command-line, notification, and popup-menu UI with a modern, customizable floating-window interface.
- [Unified Cmdline Popups](https://awesome-repositories.com/f/development-tools-productivity/code-completion/command-line-and-terminal-completers/unified-cmdline-popups.md) — Positions the command-line input and its completion popup as a unified floating window. ([source](https://github.com/folke/noice.nvim/wiki/Configuration-Recipes))
- [Floating Cmdline Displays](https://awesome-repositories.com/f/development-tools-productivity/command-line-completions/editor-command-line-completers/floating-cmdline-displays.md) — Positions and styles the command-line input and completion popup as a unified floating or bottom window.
- [Floating Cmdline Popups](https://awesome-repositories.com/f/development-tools-productivity/command-line-completions/editor-command-line-completers/floating-cmdline-popups.md) — Shows command-line completions and input in a unified floating window with auto-positioning and highlighting.
- [Notification Layout Tokens](https://awesome-repositories.com/f/development-tools-productivity/date-formatting-utilities/token-based-formatters/notification-layout-tokens.md) — Provides a token-based layout assembly system that builds notification displays from configurable message, title, level, and date tokens.

### Part of an Awesome List

- [LSP Progress Formatters](https://awesome-repositories.com/f/awesome-lists/devops/server-configuration/lsp-server-configurations/lsp-server-status-monitors/lsp-progress-formatters.md) — Visualizes ongoing language server tasks with progress bars, percentages, spinners, and client names. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/format.lua))

### Operating Systems & Systems Programming

- [Editor Floating Windows](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/floating-window-management/editor-floating-windows.md) — Provides the core floating window system that replaces Neovim's default command-line, notification, and popup-menu interfaces.
- [Floating Content Windows](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/floating-window-management/editor-windowing/floating-content-windows.md) — Displays content in a floating window positioned relative to the cursor or editor with auto-sizing. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/views.lua))

### Software Engineering & Architecture

- [Editor Message Filters](https://awesome-repositories.com/f/software-engineering-architecture/type-based-message-routing/editor-message-filters.md) — Redirects or suppresses Neovim messages based on event type, kind, or content to control what the user sees.
- [Editor Message Routers](https://awesome-repositories.com/f/software-engineering-architecture/type-based-message-routing/editor-message-routers.md) — Ships a message routing framework that redirects Neovim messages to different visual containers based on event type, kind, or content.
- [Notification Renderer Chains](https://awesome-repositories.com/f/software-engineering-architecture/chain-of-responsibility-patterns/notification-renderer-chains.md) — Implements a prioritized backend chain that tries a sequence of notification renderers with fallback and merge logic.
- [UI Preset Applications](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-management/project-lifecycle-management/project-configuration-presets/configuration-presets/ui-preset-applications.md) — Applies a pre-built set of UI options for the command line and popup menu with a single boolean flag. ([source](https://github.com/folke/noice.nvim/wiki/Configuration-Recipes))
- [UI Preset Configurations](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-management/project-lifecycle-management/project-configuration-presets/configuration-presets/ui-preset-configurations.md) — Offers a preset configuration system that applies a complete set of UI options through a single boolean flag.
- [Editor View Routers](https://awesome-repositories.com/f/software-engineering-architecture/type-based-message-routing/editor-view-routers.md) — Assigns different message types to specific visual containers like splits or popups. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/views.lua))
- [Neovim Message Routers](https://awesome-repositories.com/f/software-engineering-architecture/type-based-message-routing/neovim-message-routers.md) — Routes Neovim messages to different visual containers based on event type, kind, or content. ([source](https://github.com/folke/noice.nvim/wiki/Configuration-Recipes))

### System Administration & Monitoring

- [LSP Task Progress Indicators](https://awesome-repositories.com/f/system-administration-monitoring/activity-monitors/activity-progress-monitors/task-progress-monitors/visual-progress-indicators/lsp-task-progress-indicators.md) — Displays ongoing language server tasks with progress bars, percentages, and client names in a non-intrusive way.
- [Notification Management](https://awesome-repositories.com/f/system-administration-monitoring/notification-management.md) — Routes, styles, and displays Neovim messages and notifications through configurable views with fallback backends.
- [Severity Level Styling](https://awesome-repositories.com/f/system-administration-monitoring/audit-log-filters/severity-level-filtering/log-severity-categorization/custom-severity-levels/severity-level-styling.md) — Assigns distinct icons and highlight groups to trace, debug, info, warn, and error severity levels for notifications. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/format.lua))

### User Interface & Experience

- [Floating Completion Menus](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/conditional-menu-items/menu-interaction-utilities/suggestion-menu-control/completion-menu-triggers/floating-completion-menus.md) — Shows a configurable floating menu for command-line completions with auto-positioning and custom highlighting. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/views.lua))
- [LSP Progress Viewers](https://awesome-repositories.com/f/user-interface-experience/progress-bars/lsp-progress-viewers.md) — Displays ongoing language server tasks with progress bars, spinners, and client names in the editor.
- [Editor Notification Displays](https://awesome-repositories.com/f/user-interface-experience/ui-components/feedback-overlay-components/notification-systems/editor-notification-displays.md) — Provides a configurable notification display system with severity-based styling and floating window rendering.
- [Editor](https://awesome-repositories.com/f/user-interface-experience/view-layouts/editor.md) — Configures the position, size, border, and window options for each UI element independently. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/views.lua))
- [Notification Layout Assemblers](https://awesome-repositories.com/f/user-interface-experience/notification-customization/notification-layout-assemblers.md) — Assembles message, title, level, and date tokens into a structured display for each notification type. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/format.lua))
- [Prioritized Notification Renderers](https://awesome-repositories.com/f/user-interface-experience/notifications/prioritized-notification-renderers.md) — Displays notifications using a prioritized backend chain with fallback and merge options. ([source](https://github.com/folke/noice.nvim/blob/main/lua/noice/config/views.lua))

### Web Development

- [Editor Virtual Text Overlays](https://awesome-repositories.com/f/web-development/text-highlighting/non-destructive-text-overlays/editor-virtual-text-overlays.md) — Renders message content directly in the editor buffer as inline virtual text with custom highlighting.
