rust-lang / rust-enhanced

The official Sublime Text 4 package for the Rust Programming Language
MIT License
780 stars 104 forks source link

Can't Type After Clicking Rust Check Compiler Error Bookmark #465

Open turchiad opened 3 years ago

turchiad commented 3 years ago

Description

Using packages Rust Enhanced, RustFmt and LSP with rust-analyzer, when compiling using Cntrl+S, errors may sometimes provide clickable links to the source of the error (e.g. See Primary: ↓: 99). After clicking on the link, typing is disabled until the file is closed out and reopened. Reopening Sublime does not solve this. Note: this is not an issue with Vintage being ignored or not.

Steps to reproduce

  1. Start Sublime Text (Build 4107) with Rust Enhanced, Rustfmt, and LSP with rust-analyzer
  2. Produce an error that makes the compiler provide a clickable link (such as the code below)
enum Test {
    TestOne,
    TestTwo,
}

fn main() {
    match TestOne {
        TestOne => println!("Test"),
    }
}
  1. Save, letting Rust check run.
  2. Click "See Primary: ↓: 7"
  3. Attempt to type.

Expected behavior

It's expected to reposition the cursor near the error.

Actual behavior

The cursor is repositioned near the error, but typing is disabled until the file is closed and reopened. view.is_read_only() returns True

Environment

Bobo1239 commented 3 years ago

I've also noticed this and have found https://github.com/rust-lang/rust-enhanced/pull/432. The problem is probably that the file you're looking at isn't part of your current Sublime project so it's marked as external so rust-enhanced set's the view to read-only when you click on it. What I'm not sure about is whether this is intended behavior since the linked PR message says that this should only affect external macros but the code affects all links afaict.

turchiad commented 3 years ago

I actually noticed that this behavior has disappeared after I started loading projects into Sublime and not just individual files. I can confirm that this happens even with internal links (to my memory).

minirop commented 6 months ago

The issue (if that's the same cause) is simpler than that. I have the issue with single file. On save, when there are errors, randomly¹, Sublime's view will be set in read only. To fix it, I open the console and type view.set_read_only(False).

¹: sometimes I have the issue every time I save, and sometimes I can go several hours without encountering it.