| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | refactor(lsp): drop once(), use _memoize() #37829 | Justin M. Keyes | 2026-02-12 |
| | | |||
| * | refactor(docs): remove unnecessary `@private`/`@nodoc` annotations (#33951) | Maria José Solano | 2025-05-10 |
| | | | | | | * refactor(docs): remove `@private` annotations from local functions * refactor(docs): remove unnecessary `@nodoc` annotations | ||
| * | feat(func): allow manual cache invalidation for _memoize | Riley Bruins | 2025-01-05 |
| | | | | | | This commit also adds some tests for the existing memoization functionality. | ||
| * | fix(treesitter): return correct match table in iter_captures() | Lewis Russell | 2024-03-27 |
| | | |||
| * | feat(lua): add vim.func._memoize | Lewis Russell | 2023-09-20 |
| Memoizes a function, using a custom function to hash the arguments. Private for now until: - There are other places in the codebase that could benefit from this (e.g. LSP), but might require other changes to accommodate. - Invalidation of the cache needs to be controllable. Using weak tables is an acceptable invalidation policy, but it shouldn't be the only one. - I don't think the story around `hash_fn` is completely thought out. We may be able to have a good default hash_fn by hashing each argument, so basically a better 'concat'. | |||