How to include an external file with sublime text while injecting to one context
From the Sublime Text docs:
Sublime Syntax files support the notion of one syntax definition embedding another. For example, HTML can contain embedded JavaScript. Here's an example of a basic syntax defintion for HTML that does so:
scope: text.html
contexts:
main:
- match: <script>
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: (?=</script>)
pop: true
- match: "<"
scope: punctuation.definition.tag.begin
- match: ">"
scope: punctuation.definition.tag.end
Note the first rule above. It indicates that when we encounter a tag, the main context within JavaScript.sublime-syntax should be pushed onto the context stack. It also defines another key, with_prototype. This contains a list of patterns that will be inserted into every context defined within JavaScript.sublime-syntax.
I want to include an external file just as above, but I don't want it to be inserted into every context. I only want it to be inserted into a specific context.
A use-case for this could be for highlighting documentation. To highlight the @test
in
/*
@test
Prints "Hello, World"
*/
function print() {console.log("Hello, World")}
I would need to specifically inject a match condition into the comment context (right?) to make sure no other @test
s are matched outside a comment
sublimetext3 sublime-syntax
add a comment |
From the Sublime Text docs:
Sublime Syntax files support the notion of one syntax definition embedding another. For example, HTML can contain embedded JavaScript. Here's an example of a basic syntax defintion for HTML that does so:
scope: text.html
contexts:
main:
- match: <script>
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: (?=</script>)
pop: true
- match: "<"
scope: punctuation.definition.tag.begin
- match: ">"
scope: punctuation.definition.tag.end
Note the first rule above. It indicates that when we encounter a tag, the main context within JavaScript.sublime-syntax should be pushed onto the context stack. It also defines another key, with_prototype. This contains a list of patterns that will be inserted into every context defined within JavaScript.sublime-syntax.
I want to include an external file just as above, but I don't want it to be inserted into every context. I only want it to be inserted into a specific context.
A use-case for this could be for highlighting documentation. To highlight the @test
in
/*
@test
Prints "Hello, World"
*/
function print() {console.log("Hello, World")}
I would need to specifically inject a match condition into the comment context (right?) to make sure no other @test
s are matched outside a comment
sublimetext3 sublime-syntax
add a comment |
From the Sublime Text docs:
Sublime Syntax files support the notion of one syntax definition embedding another. For example, HTML can contain embedded JavaScript. Here's an example of a basic syntax defintion for HTML that does so:
scope: text.html
contexts:
main:
- match: <script>
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: (?=</script>)
pop: true
- match: "<"
scope: punctuation.definition.tag.begin
- match: ">"
scope: punctuation.definition.tag.end
Note the first rule above. It indicates that when we encounter a tag, the main context within JavaScript.sublime-syntax should be pushed onto the context stack. It also defines another key, with_prototype. This contains a list of patterns that will be inserted into every context defined within JavaScript.sublime-syntax.
I want to include an external file just as above, but I don't want it to be inserted into every context. I only want it to be inserted into a specific context.
A use-case for this could be for highlighting documentation. To highlight the @test
in
/*
@test
Prints "Hello, World"
*/
function print() {console.log("Hello, World")}
I would need to specifically inject a match condition into the comment context (right?) to make sure no other @test
s are matched outside a comment
sublimetext3 sublime-syntax
From the Sublime Text docs:
Sublime Syntax files support the notion of one syntax definition embedding another. For example, HTML can contain embedded JavaScript. Here's an example of a basic syntax defintion for HTML that does so:
scope: text.html
contexts:
main:
- match: <script>
push: Packages/JavaScript/JavaScript.sublime-syntax
with_prototype:
- match: (?=</script>)
pop: true
- match: "<"
scope: punctuation.definition.tag.begin
- match: ">"
scope: punctuation.definition.tag.end
Note the first rule above. It indicates that when we encounter a tag, the main context within JavaScript.sublime-syntax should be pushed onto the context stack. It also defines another key, with_prototype. This contains a list of patterns that will be inserted into every context defined within JavaScript.sublime-syntax.
I want to include an external file just as above, but I don't want it to be inserted into every context. I only want it to be inserted into a specific context.
A use-case for this could be for highlighting documentation. To highlight the @test
in
/*
@test
Prints "Hello, World"
*/
function print() {console.log("Hello, World")}
I would need to specifically inject a match condition into the comment context (right?) to make sure no other @test
s are matched outside a comment
sublimetext3 sublime-syntax
sublimetext3 sublime-syntax
asked Nov 20 '18 at 18:50
FireCubezFireCubez
13010
13010
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53399636%2fhow-to-include-an-external-file-with-sublime-text-while-injecting-to-one-context%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53399636%2fhow-to-include-an-external-file-with-sublime-text-while-injecting-to-one-context%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown