bew / dotfiles

All my dotfiles in one place!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

lsp: Almost inline rename UI

bew opened this issue · comments

I'd like to have a 'rename' UI (for LSP/jedi), that:

  • Is in a virtual lines block below the identifier I'm renaming. Until this is stable, fallback to a floating window impl? (but it'll hide some text below..)

  • The UI should look like:

    do_something_useful(some_variable)  # I want to rename `some_variable`
                Rename: new_variable|               # this line is a virtual line (and colored)
         Press <cr> to validate, <esc> to cancel    # and this line
    
    • The editable area is aligned with the original identifier I'm renaming (note: there are special cases when the identifier is on the left/right edge of the window).
    • The 2 lines of the rename UI are colored (darker than Normal? lighter?), and the Rename: text and the help text should be dimmed, to not be a
  • Highlight all visible identifiers that are going to be renamed.

  • Mappings: insert mode, with: <cr> to validate, <esc> to cancel (and tiny help line below to explicit that).

  • Has good support for completions (omni complete, keyword, auto complete, ..).

  • (If possible?) show the count of (visible/total) renames that are going to happen (and in how many files?).
    That information may be slow to get? try to do it async?

  • Ctrl-u should work properly (without deleting more than just the thing I'm renaming.

https://github.com/filipdutescu/renamer.nvim looks promising, I could contribute that inline renaming UI to this project?