Skip to content
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

Figure out what to do about case insensitive file systems (if anything) #106

Open
mjbvz opened this issue Dec 2, 2022 · 1 comment
Open
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug
Milestone

Comments

@mjbvz
Copy link
Contributor

mjbvz commented Dec 2, 2022

From microsoft/vscode#167857

Problem

Paths on windows are case insensitive. However this library makes a lot of assumptions about paths being case sensitive. Examples:

  • Path validation
  • Find all references
  • Rename

This means that if the casing of paths doesn't exactly match, we can end up missing references and reporting false positive diagnostics. We should figure out what to do about this (if anything)

@mjbvz
Copy link
Contributor Author

mjbvz commented Dec 2, 2022

If we address this, I think we likely should have separate case sensitivity options for path validation and tooling such as find all references

For path validation, even if you are on a case insensitive file system, the markdown may be rendered and deployed to a case-sensitive server (or shared with coworkers on case-sensitive file systems). For these reasons, we may always want to validate links case sensitively, perhaps with an option to opt-out

For tooling though, being case sensitive may result in us missing file references. This seems like a poor experience, since you likely want to know where the file is being referenced even if we don't strictly consider the path valid. On case insensitive file systems, document links are also case insensitive automatically. This means you can click the link but find all references then won't find the link you just clicked on


My proposals:

  • Add a new diagnostic for when a path only differs in case (plus a quick fix). Right now, casing errors are pretty annoying to fix

  • Add an option for the case sensitivity of tooling features (defaulted to being case sensitive at the library level, but with the server passing the correct value for whatever type of file system it is run on).

  • Add a separate option for the case sensitivity of paths (defaulting to being case sensitive in both the library and server)

@mjbvz mjbvz added this to the Backlog milestone Dec 6, 2023
@mjbvz mjbvz self-assigned this Dec 13, 2024
@mjbvz mjbvz added the bug Issue identified by VS Code Team member as probable bug label Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug
Projects
None yet
Development

No branches or pull requests

1 participant