windows-terminal/.github/actions/spelling/expect
e82eric 74b5a0c975
Update command palette search to prioritize "longest substring" match. (#18700)
It's the fzf algorithm!

Repurposed work from #16586
- I think the fzf algo fits here where it optimizes to find the optimal
  match based on consecutive chars and word boundaries.
- There are some edge cases where a match with a small gap could get a
  higher score than a match of consecutive chars when the match with a
  gap has other bonuses (FirstChar * Boundary Bonus). This can be
  adjusted by adjusting the bonuses or removing them if needed.
- From reading the thread in #6693 it looked like you guys were leaning
  towards something like the fzf algo.
- License file is now updated in
  https://github.com/nvim-telescope/telescope-fzf-native.nvim repository
  - https://github.com/nvim-telescope/telescope-fzf-native.nvim/pull/148
  - https://github.com/junegunn/fzf/issues/4310
- Removed the following from the original implementation to minimize
  complexity and the size of the PR. (Let me know if any of these should
  be added back).
  - Query expressions "$:StartsWith ^:EndsWith |:Or !:Not etc" 
- Slab to avoid allocating the scoring matrix. This felt like overkill
  for the number of items in the command pallete.
- Fallback to V1 algorithm for very long strings. I want to say that the
  command palette won't have strings this long.
- Added the logic from GH#9941 that copies pattern and text chars to
  string for comparision with lstrcmpi
  - It does this twice now which isn't great...

Closes #6693

---------

Co-authored-by: Leonard Hecker <lhecker@microsoft.com>
2025-06-03 00:22:24 +00:00
..
README.md ci: update to Spell check to 0.0.17a (#9014) 2021-02-03 11:17:38 -08:00
alphabet.txt ci: upgrade to check-spelling v0.0.24 (#18261) 2024-12-04 12:06:31 -06:00
expect.txt Update command palette search to prioritize "longest substring" match. (#18700) 2025-06-03 00:22:24 +00:00
web.txt Check spelling 0.0.22 (#16127) 2023-12-05 15:40:23 -08:00

README.md

The contents of each .txt file in this directory are merged together.

  • alphabet is a sample for alphabet related items
  • web is a sample for web/html related items
  • expect is the main list of expected items -- there is nothing particularly special about the file name (beyond the extension which is important).

These terms are things which temporarily exist in the project, but which aren't necessarily words.

If something is a word that could come and go, it probably belongs in a dictionary.