codemirror-ts icon indicating copy to clipboard operation
codemirror-ts copied to clipboard

Implement symbol renaming

Open tmcw opened this issue 1 year ago • 2 comments

CleanShot 2023-11-17 at 17 09 04@2x

This is supported by monaco and should be available to CodeMirror users. It doesn't seem like TypeScript itself has a method to just "give you a document with a symbol renamed" - it's a matter of finding all instances of the symbol and renaming them there. Closest I can find to a source reference:

https://github.com/microsoft/monaco-editor/blob/091550e89857bd926d2b66e100dc3c2094475783/src/language/typescript/languageFeatures.ts#L1191C48-L1191C48

tmcw avatar Nov 17 '23 22:11 tmcw

What's the expected API here? I guess this is an overarching question for the library as a whole. Should codemirror-ts ship with a default context menu, similar to what Monaco provides? The alternative is to ship some minimal

renameSymbol({offset: number, newSymbolName: string, ...opts})

From my experience, the codemirror ecosystem seems to promote the latter.

peterje avatar Feb 13 '24 05:02 peterje

I think I'd want to ship a command, like you suggest, and an optional UI or keybinding to make it easy to get started, but you can stop using the UI if you want to build your own.

tmcw avatar Sep 10 '24 15:09 tmcw