-
-
Notifications
You must be signed in to change notification settings - Fork 645
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cider-ns
- refinements
#3632
base: master
Are you sure you want to change the base?
cider-ns
- refinements
#3632
Changes from all commits
c940eca
6437d42
a76bec6
376e7b4
63d5d34
f85f741
9e7417e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -826,6 +826,28 @@ KIND can be the symbols `ns', `var', `emph', `fn', or a face name." | |
(t x))) | ||
menu-list)) | ||
|
||
(defun cider--semantic-end-of-line () | ||
"Returns POINT at the closest EOL that we can move to semantically, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure I understand this. What's an EOL to which we can move semantically? I checked the tests as well, but all assertions are in a single tests, so it's pretty hard to figure out what you're testing for exactly. |
||
i.e. using sexp-aware navigation." | ||
(let ((continue t) | ||
(p (point))) | ||
(save-excursion | ||
(while continue | ||
(end-of-line) | ||
(condition-case nil | ||
(save-excursion | ||
;; If we can't `clojure-backward-logical-sexp', | ||
;; it means that we aren't in a 'semantic' position, | ||
;; so functions like `cider--make-result-overlay' (which use `clojure-backward-logical-sexp' internally) would fail | ||
(clojure-backward-logical-sexp)) | ||
(scan-error (forward-line))) | ||
(setq p (point)) | ||
(setq continue (and (not (eolp)) ;; we're trying to move to the end of the line | ||
(not (eobp)) ;; abort if we reached EOF (infinite loop avoidance) | ||
(not (equal p (point))) ;; abort if we aren't moving (infinite loop avoidance) | ||
))) | ||
(point)))) | ||
|
||
(provide 'cider-util) | ||
|
||
;;; cider-util.el ends here |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
edn | ||
fo | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why so? That's often a misspelled |
||
hist | ||
juxt | ||
nd | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -62,17 +62,24 @@ Typing kbd:[C-c M-n r] or kbd:[C-c M-n M-r] will invoke | |
`cider-ns-refresh` and reload all modified Clojure files on the | ||
classpath. | ||
|
||
Adding a prefix argument, kbd:[C-u C-c M-n r], will reload all | ||
Adding a prefix argument, kbd:[C-u C-c M-n r], it will reload all | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think "Adding" is not the right terminology here, which affects the rest of the sentence (which reads a bit awkwardly to me). I'd write something like "If you invoke cider-ns-refresh with a prefix argument it will" or something along those lines. |
||
the namespaces on the classpath unconditionally, regardless of their | ||
modification status. | ||
|
||
Adding a double prefix argument, kbd:[C-u C-u M-n r], will first | ||
Adding a double prefix argument, kbd:[C-u C-u M-n r], it will first | ||
clear the state of the namespace tracker before reloading. This is | ||
useful for recovering from some classes of error that normal reloads | ||
useful for recovering from some classes of errors that normal reloads | ||
would otherwise not recover from. A good example is circular | ||
dependencies. The trade-off is that stale code from any deleted files | ||
may not be completely unloaded. | ||
|
||
Adding a negative prefix argument will inhibit | ||
the `cider-ns-refresh-before-fn` and `cider-ns-refresh-after-fn` functions from being run. | ||
|
||
Invoked with a programmatic `clear-and-inhibit` argument, | ||
it will both clear the namespace tracker before reloading (per the previous paragraph), | ||
and inhibit the `cider-ns-refresh-before-fn` and `cider-ns-refresh-after-fn` functions from being run. | ||
|
||
`cider-ns-refresh` wraps | ||
https://github.com/clojure/tools.namespace[clojure.tools.namespace], and as | ||
such the same | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably we'll need to document this somewhere in the manual as well, otherwise few people are going to find it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. While we're here, should the new mode be invokable through some prefix incantation?
tbh I don't use prefixes at all so I wouldn't know how to add a new variation here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be nice indeed. I think multiple prefixes had to be checked as some number value in the code to differentiate them. There must be some examples in the code. I do think, however, we should start moving towards
transient
for prefix arguments as it's UI is so much better, and it's bundled with Emacs 28+.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I expanded the user manual
In face of this maybe we can refrain from doubling down on prefixes (at least here).
Transient rocks and would love to see a few features / examples of how it would look for CIDER