aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2021-02-25 12:01:05 -0500
committerBrian Cully <bjc@kublai.com>2021-02-25 12:07:17 -0500
commita23b5fd474c55f34d54d99f5ad1a59ef28b3d883 (patch)
treea0fe6d23002b7b2713201a2f14d752bc7290a955
parentcf412740aabae885d5bd735b4874a3456d6cbdeb (diff)
downloadflymake-rust-a23b5fd474c55f34d54d99f5ad1a59ef28b3d883.tar.gz
flymake-rust-a23b5fd474c55f34d54d99f5ad1a59ef28b3d883.zip
Add TODO file.
Need to track this stuff somewhere that’s not just the source files.
-rw-r--r--TODO.org12
-rw-r--r--flymake-rust.el3
2 files changed, 12 insertions, 3 deletions
diff --git a/TODO.org b/TODO.org
new file mode 100644
index 0000000..da84773
--- /dev/null
+++ b/TODO.org
@@ -0,0 +1,12 @@
+* TODO Handling files that aren’t yet being linked
+When new files are created (that aren’t top-level =main.rs= or =lib.rs=), =cargo= doesn’t see them, since they’re not yet part of the compile graph. However, it would be very useful to still get Flymake output. I just don’t know how to convince =cargo= to see them, and =rustc= has its own issues (see [[Rustc support][below]])
+
+* TODO Rustc support [0/2]
+- [ ] See if there’s a way to get rustc to become aware of the rest of the project, so it doesn’t issue warnings about ~main~ not being defined.
+- [ ] Figure out how to get edition from =cargo= without constantly requesting it.
+ Since the file may exist remotely (which is how I use it!), requesting data from cargo all the time can become quite slow. Caching is probably not an option, because the information needs to correct on every check to avoid spurious warnings.
+
+* TODO Verify idle timers work as expected.
+I’m creating an idle timer in the [[file:flymake-rust.el::defun flymake-rust--sentinel (source-buffer report-fn proc _event][sentinel]] to do parsing, rather than just parsing directly. I was scared off by the verbiage in [[info:elisp#Sentinels][the documentation]] that says sentinels prevent the handling of =quit=. I would like to disrupt users as little as possible, even in the event of a programming error, so I thought it better to do processing in an idle timer.
+
+However, I don’t actually know that idle timers will allow =quit= either! I need to verify that.
diff --git a/flymake-rust.el b/flymake-rust.el
index bc2fec1..321062f 100644
--- a/flymake-rust.el
+++ b/flymake-rust.el
@@ -202,9 +202,6 @@ output from the Rust compiler."
(funcall report-fn (flatten-list diags))
(funcall report-fn nil :explanation "no errors")))))
-;; TODO: verify that idle timers don’t actually break anything, and
-;; are, in fact, an improvement over just calling stuff in the
-;; sentinel directly.
(defun flymake-rust--sentinel (source-buffer report-fn proc _event)
"Handle events for ‘PROC’.