Skip to content

Unify VFS interfaces#2641

Open
rodinaarssen wants to merge 166 commits into
mainfrom
unify-vfs-interfaces
Open

Unify VFS interfaces#2641
rodinaarssen wants to merge 166 commits into
mainfrom
unify-vfs-interfaces

Conversation

@rodinaarssen
Copy link
Copy Markdown
Member

@rodinaarssen rodinaarssen commented Feb 11, 2026

Closes #2701

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 11, 2026

Codecov Report

❌ Patch coverage is 3.76045% with 691 lines in your changes missing coverage. Please review.
✅ Project coverage is 46%. Comparing base (940999f) to head (dcb4c00).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...mpl/uri/remote/RemoteExternalResolverRegistry.java 0% 254 Missing ⚠️
...rg/rascalmpl/uri/remote/jsonrpc/RemoteIOError.java 0% 61 Missing ⚠️
...rascalmpl/uri/remote/RascalFileSystemServices.java 0% 58 Missing ⚠️
src/org/rascalmpl/uri/URIResolverRegistry.java 17% 26 Missing and 3 partials ⚠️
.../uri/remote/jsonrpc/ISourceLocationChangeType.java 0% 22 Missing ⚠️
.../org/rascalmpl/uri/remote/jsonrpc/CopyRequest.java 0% 17 Missing ⚠️
...mpl/uri/remote/jsonrpc/ISourceLocationChanged.java 0% 17 Missing ⚠️
...g/rascalmpl/uri/remote/jsonrpc/DirectoryEntry.java 0% 16 Missing ⚠️
...rg/rascalmpl/uri/remote/jsonrpc/RenameRequest.java 0% 15 Missing ⚠️
...org/rascalmpl/uri/remote/jsonrpc/WatchRequest.java 0% 13 Missing ⚠️
... and 34 more
Additional details and impacted files
@@           Coverage Diff            @@
##              main   #2641    +/-   ##
========================================
- Coverage       46%     46%    -1%     
- Complexity    6722    6726     +4     
========================================
  Files          794     829    +35     
  Lines        65936   66595   +659     
  Branches      9888    9956    +68     
========================================
+ Hits         30764   30768     +4     
- Misses       32792   33446   +654     
- Partials      2380    2381     +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Member

@toinehartman toinehartman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of this (and the companion PR usethesource/rascal-language-servers#967) look like a nice unification and clean-up of interfaces.

Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Copy link
Copy Markdown
Member

@DavyLandman DavyLandman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's making progress, but it's not there yet.

Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Comment thread src/org/rascalmpl/uri/remote/RemoteExternalResolverRegistry.java
Comment thread src/org/rascalmpl/uri/vfs/IRemoteResolverRegistry.java Outdated
Comment thread src/org/rascalmpl/uri/URIResolverRegistry.java
@sonarqubecloud
Copy link
Copy Markdown


import io.usethesource.vallang.ISourceLocation;

public interface JsonRpcRequest {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we give this a more specific name? like JsonRpcRequest does not explain why it has transformLocations on there?

Comment on lines +494 to +501
@Override
public boolean supportsCopy() {
try {
return call(getRemote()::supportsCopy).getValue();
} catch (IOException e) {
return false;
}
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think remote file systems should always support local copy. so we should return true. and not have this as part of the rpc interface.

same for rename.

@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adapt VS Code & rascal lsp to be able to start a repl a rascal version thats not the one shipped with VS Code

3 participants