feat: compiler: add source filename to the IFileHandler #1116
+16
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
npm test
).npm run-script lint
).Description
Add a
sourceFilename
parameter to theResolveInkFilename
andLoadInkFileContents
methods of theIFileHandler
. These will provide context to the IFileHandler to be able to resolve the actual Include Filename, relative to the Source Ink Filename that included it. This is particularly useful when an Ink Story has Include Files that, in themselves, also Include Files.For example,
/main.ink
includes/common/functions.ink
, which includes/common/library/my_function.ink
, this would open the door to define as follows:This PR is being proposed in support of a VSCode Extension for Ink under-development.
On Discord, we discussed concerns about breaking compatibility with Inky, which this most certainly open the door for. It was agreed that the VSCode Extension should offer an "Inky compatibility" setting (default to enabled), to avoid confusion, when using this new feature.