Skip to content

Goals for v2 #1059

@Saghen

Description

@Saghen
  • Convert to library: Decouple many of the components such that the project may be used as a library
    • Pluggable triggers
    • Pluggable views
    • Pluggable fuzzy matchers
  • Keymap
  • Triggers
    • Support macros Macro support #1311
    • Rewrite to be readable
    • Try to find a better solution for auto_insert
    • Regex configuration
  • Sources: Replace with in-process LSPs
    • Compat layer for blink.cmp sources as LSPs
    • lsp.* for LSP specific options replaces sources system
      • Opt-in auto brackets
      • Opt-out proximity/frecency bonus (i.e. rust-analyzer sort is already excellent) or make frecency lower prio than sortText by default
    • Move hacks to LSP specific options
    • Move blink specific fields to .blink (Move clangd .score to .lsp_score #1778)
  • Fuzzy
    • Simplify and use build script for downloading binary
    • Explore small language model for item sorting
    • Stable sorting (Lua's table.sort is unstable)
    • Use LSP fuzzy range
    • Drop score of anything with __
    • Use 'state' directory instead of 'data' by default
  • Windows
    • Virtual text for scrollbar (If possible with borders, primarily for neovide)
    • Simplify drawing
      • Drop treesitter label highlighting (colorful-menu.nvim is excellent, should contribute separate label_description component there for better overflow handling)
      • Redraw resolved item
    • Focusable windows
      • Open in split
      • Opt-in replace vim.lsp.buf.hover and vim.lsp.buf.signature_help
    • Multiple details/signatures
    • Icon presets (vscode, mini-icons, ascii)
  • Tooling
  • Raise minimum neovim version to 0.11+
  • Consider switching cmdline defaults back: Why does cmdline mapping not inherit the top-level mapping by default? #1668 (reply in thread)
  • Other?

If you have any ideas, please don't hesitate to share either here or in the discussions. Many of these may also be done with v1, PRs welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions