From 4279391dde8faae55716a7f2fc37b7c2cdfeaeaa Mon Sep 17 00:00:00 2001 From: Remy Suen Date: Tue, 15 May 2018 11:01:56 -0400 Subject: [PATCH] Add folding provider sample to the playground Signed-off-by: Remy Suen --- ...age-services-folding-provider-example.html | 119 ++++++++++++++++++ test/playground.generated/index.html | 1 + website/playground/new-samples/all.js | 6 + .../folding-provider-example/sample.css | 0 .../folding-provider-example/sample.html | 1 + .../folding-provider-example/sample.js | 75 +++++++++++ 6 files changed, 202 insertions(+) create mode 100644 test/playground.generated/extending-language-services-folding-provider-example.html create mode 100644 website/playground/new-samples/extending-language-services/folding-provider-example/sample.css create mode 100644 website/playground/new-samples/extending-language-services/folding-provider-example/sample.html create mode 100644 website/playground/new-samples/extending-language-services/folding-provider-example/sample.js diff --git a/test/playground.generated/extending-language-services-folding-provider-example.html b/test/playground.generated/extending-language-services-folding-provider-example.html new file mode 100644 index 00000000..18091fc0 --- /dev/null +++ b/test/playground.generated/extending-language-services-folding-provider-example.html @@ -0,0 +1,119 @@ + + + + + + + + + + +[<< BACK]
+THIS IS A GENERATED FILE VIA gulp generate-test-samples + +
+ +
+
+ + +
+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/test/playground.generated/index.html b/test/playground.generated/index.html index a684f42f..e2733186 100644 --- a/test/playground.generated/index.html +++ b/test/playground.generated/index.html @@ -30,6 +30,7 @@ THIS IS A GENERATED FILE VIA gulp generate-test-samples

Extending Language Services > Completion provider example
Extending Language Services > Codelens provider example
Extending Language Services > Color provider example
+Extending Language Services > Folding provider example
Extending Language Services > Hover provider example
Extending Language Services > Configure JavaScript defaults
Extending Language Services > Configure JSON defaults diff --git a/website/playground/new-samples/all.js b/website/playground/new-samples/all.js index 54395bc2..f7f41d7a 100644 --- a/website/playground/new-samples/all.js +++ b/website/playground/new-samples/all.js @@ -139,6 +139,12 @@ var PLAY_SAMPLES = [ id: "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", name: "Hover provider example", diff --git a/website/playground/new-samples/extending-language-services/folding-provider-example/sample.css b/website/playground/new-samples/extending-language-services/folding-provider-example/sample.css new file mode 100644 index 00000000..e69de29b diff --git a/website/playground/new-samples/extending-language-services/folding-provider-example/sample.html b/website/playground/new-samples/extending-language-services/folding-provider-example/sample.html new file mode 100644 index 00000000..b2e43e28 --- /dev/null +++ b/website/playground/new-samples/extending-language-services/folding-provider-example/sample.html @@ -0,0 +1 @@ +
diff --git a/website/playground/new-samples/extending-language-services/folding-provider-example/sample.js b/website/playground/new-samples/extending-language-services/folding-provider-example/sample.js new file mode 100644 index 00000000..546fe50e --- /dev/null +++ b/website/playground/new-samples/extending-language-services/folding-provider-example/sample.js @@ -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 + } + ]; + } +}); \ No newline at end of file