You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f11383b
Browse filesBrowse the repository at this point in the historyBrowse files
Use namespaced middleware ops; tidy two request params
Three improvements found while auditing the middleware request/response
shapes:
- Use refactor-nrepl's namespaced op names (refactor/find-symbol, etc.)
instead of the bare ones. refactor-nrepl registers every op under both
forms, treats the namespaced one as canonical, and plans to drop the
bare names; namespacing also avoids op-name collisions with other
middleware. Prefixing is centralized in cljr--create-msg and
cljr--op-supported-p (plus the one inline extract-definition request).
Requires refactor-nrepl 3.13.0+; the injected version is now 3.14.0.
- Send an explicit "false" for ignore-errors when
cljr-ignore-analyzer-errors is nil, instead of a nil value that nREPL
drops (leaving the middleware on its lenient default). The strict
behavior the option documents now actually takes effect.
- Drop the obsolete language-context param from the suggest-libspecs
request; refactor-nrepl has read buffer-language-context /
input-language-context since 3.7.0.
Validated live against refactor-nrepl 3.14.0: op-support, version,
rename, clean-ns and suggest-libspecs all work under the namespaced ops.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,10 @@
2
2
3
3
## Unreleased
4
4
5
+
-**(Breaking)** Use refactor-nrepl's namespaced op names (`refactor/find-symbol`, `refactor/clean-ns`, …) instead of the bare ones. refactor-nrepl treats the namespaced forms as canonical and plans to drop the bare names, and namespacing avoids op-name collisions with other middleware. This requires refactor-nrepl 3.13.0+ (the injected version is now 3.14.0).
6
+
-`cljr-rename-symbol`, `cljr-find-usages`, `cljr-inline-symbol` and `cljr-change-function-signature` now send an explicit `ignore-errors` value that matches `cljr-ignore-analyzer-errors`, instead of a nil value that was dropped on the wire. With the default (nil) this means the strict behavior the option documents actually takes effect - a project with an unanalyzable namespace now surfaces a warning rather than silently skipping it.
7
+
-`cljr-slash` no longer sends the obsolete `language-context` parameter to the `suggest-libspecs` op (superseded by `buffer-language-context`/`input-language-context` in refactor-nrepl 3.7.0).
8
+
5
9
- The asynchronous refactorings (`cljr-rename-symbol`, `cljr-change-function-signature`, `cljr-rename-file-or-dir`) now show a mode-line spinner while the middleware is working, so it's clear the operation is still running. Uses CIDER's spinner, so it honors `cider-show-spinner` and friends.
6
10
7
11
-`cljr-rename-symbol` and `cljr-change-function-signature` now find their occurrences asynchronously. Locating every occurrence analyses the whole project, which on a cold cache or a large project could freeze Emacs for a long time; now the command returns immediately and the rename (or the change-signature edit buffer) happens once the search finishes, so Emacs stays responsive meanwhile. As a side effect they now also honor `cljr-middleware-ignored-paths`.
0 commit comments