Since there is no IDE which can rename namespaces and move functions while updating references in multiple projects for clj+cljc+cljs, I would like to try building this.
I have identified these problems so far:
- Load multiple source directories
- Parse clj+cljc+cljs while keeping comments, whitespace, formating
- Resolve and index all references
- Determine the correct destination folder for any given (new) namespace
- Determine the correct destination position in a file for any moved-in function
- Create data which describes all the actions so it can be displayed (and modified) before execution
I hope rewrite-clj
works on all file types and I can utilize it. This is where I would start investigating.
Do you have any suggestions what else to think about before starting to tackle this problem? Or which existing libraries would help? Thank you.