mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 17:25:39 +01:00
Add folding provider sample to the playground
Signed-off-by: Remy Suen <remy.suen@gmail.com>
This commit is contained in:
parent
fe5ddc65b2
commit
4279391dde
6 changed files with 202 additions and 0 deletions
|
|
@ -0,0 +1,119 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- THIS IS A GENERATED FILE VIA gulp generate-test-samples -->
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<base href="..">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
/*----------------------------------------SAMPLE CSS START*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------SAMPLE CSS END*/
|
||||||
|
</style>
|
||||||
|
<a class="loading-opts" href="playground.generated/index.html">[<< BACK]</a> <br/>
|
||||||
|
THIS IS A GENERATED FILE VIA gulp generate-test-samples
|
||||||
|
|
||||||
|
<div id="bar" style="margin-bottom: 6px;"></div>
|
||||||
|
|
||||||
|
<div style="clear:both"></div>
|
||||||
|
<div id="outer-container" style="width:800px;height:450px;border: 1px solid grey">
|
||||||
|
<!-- ----------------------------------------SAMPLE HTML START-->
|
||||||
|
|
||||||
|
<div id="container" style="height:100%;"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ----------------------------------------SAMPLE HTML END-->
|
||||||
|
</div>
|
||||||
|
<div style="clear:both"></div>
|
||||||
|
|
||||||
|
<script src="../metadata.js"></script>
|
||||||
|
<script src="dev-setup.js"></script>
|
||||||
|
<script>
|
||||||
|
loadEditor(function() {
|
||||||
|
/*----------------------------------------SAMPLE JS START*/
|
||||||
|
|
||||||
|
monaco.languages.register({
|
||||||
|
id: "foldLanguage"
|
||||||
|
});
|
||||||
|
|
||||||
|
var value =
|
||||||
|
`1. Hit F1 to bring up the Command Palette
|
||||||
|
2. Type 'fold'
|
||||||
|
3. Choose 'Fold All Block Comments' or 'Fold All Regions'
|
||||||
|
|
||||||
|
5. comment1
|
||||||
|
6. comment1
|
||||||
|
7. comment1
|
||||||
|
|
||||||
|
9. unfoldable text
|
||||||
|
10. unfoldable text
|
||||||
|
11. unfoldable text
|
||||||
|
|
||||||
|
13. comment2
|
||||||
|
14. comment2
|
||||||
|
15. comment2
|
||||||
|
16. comment2
|
||||||
|
17. comment2
|
||||||
|
|
||||||
|
19. foldable text
|
||||||
|
20. foldable text
|
||||||
|
21. foldable text
|
||||||
|
|
||||||
|
23. region1
|
||||||
|
24. region1
|
||||||
|
25. region1
|
||||||
|
|
||||||
|
27. region2
|
||||||
|
28. region2
|
||||||
|
29. region2`
|
||||||
|
|
||||||
|
monaco.editor.create(document.getElementById("container"), {
|
||||||
|
value: value,
|
||||||
|
language: "foldLanguage"
|
||||||
|
});
|
||||||
|
|
||||||
|
monaco.languages.registerFoldingRangeProvider("foldLanguage", {
|
||||||
|
provideFoldingRanges: function(model, context, token) {
|
||||||
|
return [
|
||||||
|
// comment1
|
||||||
|
{
|
||||||
|
start: 5,
|
||||||
|
end: 7,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Comment
|
||||||
|
},
|
||||||
|
// comment2
|
||||||
|
{
|
||||||
|
start: 13,
|
||||||
|
end: 17,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Comment
|
||||||
|
},
|
||||||
|
// foldable text
|
||||||
|
{
|
||||||
|
start: 19,
|
||||||
|
end: 21
|
||||||
|
},
|
||||||
|
// region1
|
||||||
|
{
|
||||||
|
start: 23,
|
||||||
|
end: 25,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Region
|
||||||
|
},
|
||||||
|
// region2
|
||||||
|
{
|
||||||
|
start: 27,
|
||||||
|
end: 29,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Region
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*----------------------------------------SAMPLE CSS END*/
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -30,6 +30,7 @@ THIS IS A GENERATED FILE VIA gulp generate-test-samples<br/><br/>
|
||||||
<a class="loading-opts" href="playground.generated/extending-language-services-completion-provider-example.html">Extending Language Services > Completion provider example</a><br/>
|
<a class="loading-opts" href="playground.generated/extending-language-services-completion-provider-example.html">Extending Language Services > Completion provider example</a><br/>
|
||||||
<a class="loading-opts" href="playground.generated/extending-language-services-codelens-provider-example.html">Extending Language Services > Codelens provider example</a><br/>
|
<a class="loading-opts" href="playground.generated/extending-language-services-codelens-provider-example.html">Extending Language Services > Codelens provider example</a><br/>
|
||||||
<a class="loading-opts" href="playground.generated/extending-language-services-color-provider-example.html">Extending Language Services > Color provider example</a><br/>
|
<a class="loading-opts" href="playground.generated/extending-language-services-color-provider-example.html">Extending Language Services > Color provider example</a><br/>
|
||||||
|
<a class="loading-opts" href="playground.generated/extending-language-services-folding-provider-example.html">Extending Language Services > Folding provider example</a><br/>
|
||||||
<a class="loading-opts" href="playground.generated/extending-language-services-hover-provider-example.html">Extending Language Services > Hover provider example</a><br/>
|
<a class="loading-opts" href="playground.generated/extending-language-services-hover-provider-example.html">Extending Language Services > Hover provider example</a><br/>
|
||||||
<a class="loading-opts" href="playground.generated/extending-language-services-configure-javascript-defaults.html">Extending Language Services > Configure JavaScript defaults</a><br/>
|
<a class="loading-opts" href="playground.generated/extending-language-services-configure-javascript-defaults.html">Extending Language Services > Configure JavaScript defaults</a><br/>
|
||||||
<a class="loading-opts" href="playground.generated/extending-language-services-configure-json-defaults.html">Extending Language Services > Configure JSON defaults</a>
|
<a class="loading-opts" href="playground.generated/extending-language-services-configure-json-defaults.html">Extending Language Services > Configure JSON defaults</a>
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,12 @@ var PLAY_SAMPLES = [
|
||||||
id: "extending-language-services-color-provider-example",
|
id: "extending-language-services-color-provider-example",
|
||||||
path: "extending-language-services/color-provider-example"
|
path: "extending-language-services/color-provider-example"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
chapter: "Extending Language Services",
|
||||||
|
name: "Folding provider example",
|
||||||
|
id: "extending-language-services-folding-provider-example",
|
||||||
|
path: "extending-language-services/folding-provider-example"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
chapter: "Extending Language Services",
|
chapter: "Extending Language Services",
|
||||||
name: "Hover provider example",
|
name: "Hover provider example",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
<div id="container" style="height:100%;"></div>
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
monaco.languages.register({
|
||||||
|
id: "foldLanguage"
|
||||||
|
});
|
||||||
|
|
||||||
|
var value =
|
||||||
|
`1. Hit F1 to bring up the Command Palette
|
||||||
|
2. Type 'fold'
|
||||||
|
3. Choose 'Fold All Block Comments' or 'Fold All Regions'
|
||||||
|
|
||||||
|
5. comment1
|
||||||
|
6. comment1
|
||||||
|
7. comment1
|
||||||
|
|
||||||
|
9. unfoldable text
|
||||||
|
10. unfoldable text
|
||||||
|
11. unfoldable text
|
||||||
|
|
||||||
|
13. comment2
|
||||||
|
14. comment2
|
||||||
|
15. comment2
|
||||||
|
16. comment2
|
||||||
|
17. comment2
|
||||||
|
|
||||||
|
19. foldable text
|
||||||
|
20. foldable text
|
||||||
|
21. foldable text
|
||||||
|
|
||||||
|
23. region1
|
||||||
|
24. region1
|
||||||
|
25. region1
|
||||||
|
|
||||||
|
27. region2
|
||||||
|
28. region2
|
||||||
|
29. region2`
|
||||||
|
|
||||||
|
monaco.editor.create(document.getElementById("container"), {
|
||||||
|
value: value,
|
||||||
|
language: "foldLanguage"
|
||||||
|
});
|
||||||
|
|
||||||
|
monaco.languages.registerFoldingRangeProvider("foldLanguage", {
|
||||||
|
provideFoldingRanges: function(model, context, token) {
|
||||||
|
return [
|
||||||
|
// comment1
|
||||||
|
{
|
||||||
|
start: 5,
|
||||||
|
end: 7,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Comment
|
||||||
|
},
|
||||||
|
// comment2
|
||||||
|
{
|
||||||
|
start: 13,
|
||||||
|
end: 17,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Comment
|
||||||
|
},
|
||||||
|
// foldable text
|
||||||
|
{
|
||||||
|
start: 19,
|
||||||
|
end: 21
|
||||||
|
},
|
||||||
|
// region1
|
||||||
|
{
|
||||||
|
start: 23,
|
||||||
|
end: 25,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Region
|
||||||
|
},
|
||||||
|
// region2
|
||||||
|
{
|
||||||
|
start: 27,
|
||||||
|
end: 29,
|
||||||
|
kind: monaco.languages.FoldingRangeKind.Region
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue