You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR is a very simple change: it adds a yaml injection language for #| comments. This means that our syntax highlighting will delegate to the yaml language highlighter inside of #| comments.
The quarto.tmLanguage change is generated from the build-lang.js script.
IMO this is a more "correct" approach, if you will. We lose control over how the yaml looks, but we shouldn't really have that control anyway (let yaml be yaml)?
Pros
very simple
uses VSCode's yaml highlighting so it'll match frontmatter (which uses the same injection language approach) and yaml files
Cons
yaml highlighting is a little visually intense in default themes
no background colour
possibly has some weird edge cases? I expected multiline yaml stuff to not work well, but it seems to work just fine. I tried using some yaml-feature-test yaml as a hash pipe comment, and it worked well.
Testing note
We could test that the generated tmLanguage delegates #| properly in some examples, in a non-integrated way, by using vscode-textmate and vscode-oniguruma as dependencies in the tests, but that seems a little heavy handed so I didn't do that.
@mine-cetinkaya-rundel what do you think of this approach #1088 to #| highlighting v.s. #1084 (comment)? The highlights (pun intended) are that this approach is simpler and uses built-in yaml highlighting so it'll be consistent across the IDE, but gives us less control so we can't i.e. have a background behind the #| comment lines.
@vezwork Even though there's no background color, there's still a line separating the yaml code cell options and the code, is that correct? If so, that's pretty good still for the visiual differentiation between the two pieces of the code cell.
@mine-cetinkaya-rundel there's no line. Actually, let me look into combining these two approaches. Maybe we can use built-in yaml highlighting and also add a background.
This PR was accidentally merged to main and then reverted. The PR continues in #1092. Sorry for confusion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Fixes #409
This is an alternative approach to #1084.
This PR is a very simple change: it adds a yaml injection language for #| comments. This means that our syntax highlighting will delegate to the yaml language highlighter inside of #| comments.
The quarto.tmLanguage change is generated from the build-lang.js script.
IMO this is a more "correct" approach, if you will. We lose control over how the yaml looks, but we shouldn't really have that control anyway (let yaml be yaml)?
Pros
Cons
Testing note
We could test that the generated tmLanguage delegates
#|properly in some examples, in a non-integrated way, by usingvscode-textmateandvscode-onigurumaas dependencies in the tests, but that seems a little heavy handed so I didn't do that.