Famiu Haque
Famiu Haque
The Neovim options code is an incomprehensible mess filled with code duplication, special logic for every option, multiple code paths for the same thing, lack of generalization, etc. This makes...
Problem: Currently, `vim.fs.normalize` does not resolve `.` and `..` components. This makes no sense as the entire point of normalization is to remove redundancy from the path. The path normalization...
Problem: There is currently no way to check if a given path is absolute or convert a relative path to an absolute path through the Lua stdlib. `vim.fs.joinpath` does not...
Problem: Currently, completion is not stopped when completion is exhausted (no matching completion items), which also means `CompleteDone` is not called either. Furthermore, `CompleteDone` is called when pressing a special...
Problem: Currently, there are three different ways of marking an option as hidden, `enable_if = false`, `hidden = true` and `immutalbe = true`. These also have different behaviors. Options hidden...
Problem: Currently there is no way of getting the list of completion items that are actually put in the popupmenu. Which means completion providers have no way of knowing if...
### Problem `'completeopt'` without `noinsert` can be way too intrusive as you can't easily add characters to the completion prefix. But `'completeopt'` with `noinsert` is also not optimal as it...
### Did you check docs and existing issues? - [X] I have read all the lazy.nvim docs - [X] I have searched the existing issues of lazy.nvim - [X] I...
Currently options can have the following scopes: - Buffer local. These options, despite the name, do still have a global value which is used as the default. - Window local:...
Problem: Currently, we use switch_option_context to temporarily switch the current option context before setting an option for a different buffer / window. This is not ideal because we already support...