Skip to content

Unify VFS interfaces#2641

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

Unify VFS interfaces#2641
rodinaarssen wants to merge 174 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.81356% with 681 lines in your changes missing coverage. Please review.
✅ Project coverage is 46%. Comparing base (8a081c7) to head (4ea603f).

Files with missing lines Patch % Lines
...mpl/uri/remote/RemoteExternalResolverRegistry.java 0% 244 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    6719    6726     +7     
========================================
  Files          794     829    +35     
  Lines        65937   66586   +649     
  Branches      9889    9956    +67     
========================================
+ Hits         30759   30781    +22     
- Misses       32798   33428   +630     
+ Partials      2380    2377     -3     

☔ 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

@DavyLandman DavyLandman deployed to deployment May 22, 2026 11:44 — with GitHub Actions Active
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