Skip to content

BUG: Search filter is case-sensitive for non-ASCII characters (Cyrillic) #1925

@itrous

Description

@itrous

Did you check docs and existing issues?

  • I have read all the docs.
  • I have searched the existing issues.
  • I have searched the existing discussions.

Neovim Version (nvim -v)

NVIM v0.11.5

Operating System / Version

Linux krl-arch 6.17.7-arch1-1

Describe the Bug

The fuzzy search/filter functionality in Neo-tree works case-insensitively for ASCII characters (English) but becomes case-sensitive for non-ASCII characters like Cyrillic.

Actual Behavior:

English: searching "test" matches "Test", "TEST", "TeSt" ✅ (works correctly)
Russian: searching "тест" does NOT match "Тест" or "ТЕСТ" ❌ (case-sensitive)

Screenshots, Traceback

No response

Steps to Reproduce

  1. Open Neo-tree with a directory containing files with non-ASCII names (e.g., Russian/Cyrillic)
  2. Use fuzzy finder (/) or filter
  3. Try searching with lowercase letters

Expected Behavior

Search should be case-insensitive for all characters:
English: searching "test" should match "Test", "TEST", "TeSt" ✅
Russian: searching "тест" should match "Тест", "ТЕСТ", "ТеСт" ✅

Your Configuration

-- template from https://lazy.folke.io/developers#reprolua, feel free to replace if you have your own minimal init.lua
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
  spec = {
    {
      "nvim-neo-tree/neo-tree.nvim",
      branch = "v3.x", -- or "main"
      dependencies = {
        "nvim-lua/plenary.nvim",
        "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
        "MunifTanjim/nui.nvim",
        -- { "3rd/image.nvim", opts = {} }, -- Optional image support
      },
      lazy = false,
      ---@module "neo-tree"
      ---@type neotree.Config?
      opts = {
        -- fill any relevant options here
      },
    }
  },
})
vim.g.mapleader = " "
vim.keymap.set("n", "<leader>e", "<Cmd>Neotree<CR>")
-- do anything else you need to do to reproduce the issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions