소스 검색

Add hover provider example

Alex Dima 9 년 전
부모
커밋
c7a3e42fe6

+ 38 - 0
website/playground/playground.mdoc

@@ -1009,6 +1009,44 @@ function getCode() {
 
 
 
+== Hover provider example
+=======================JS
+var quoteOfTheDay = new monaco.Promise(function(c,e) {
+	window.parseResponse = function(rawQOD) {
+		c(rawQOD.data.contents.quotes[0].quote);
+	}
+	var script = document.createElement('script');
+	script.src='http://quotes.rest/qod.js';
+	document.head.appendChild(script);
+});
+
+monaco.languages.register({ id: 'mySpecialLanguage' });
+
+monaco.languages.registerHoverProvider('mySpecialLanguage', {
+	provideHover: function(model, position) {
+		return quoteOfTheDay.then(function(quoteText) {
+			return {
+				range: new monaco.Range(1, 1, model.getLineCount(), model.getLineMaxColumn(model.getLineCount())),
+				contents: ['**' + quoteText + '**']
+			}
+		});
+	}
+});
+
+monaco.editor.create(document.getElementById("container"), {
+	value: '\n\nHover over this text',
+	language: 'mySpecialLanguage'
+});
+
+=======================HTML
+<div id="container" style="height:100%;"></div>
+
+=======================CSS
+
+=======================END
+
+
+
 
 == Configure JavaScript defaults
 =======================JS

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
website/playground/samples/all.js


+ 3 - 0
website/playground/samples/extending-language-services-hover-provider-example.js

@@ -0,0 +1,3 @@
+// This is a generated file. Please do not edit directly.
+var SAMPLES = this.SAMPLES || [];
+SAMPLES.push({"id":"extending-language-services-hover-provider-example","js":"//---------------------------------------------------\n// Extending Language Services > Hover provider example\n//---------------------------------------------------\n\nvar quoteOfTheDay = new monaco.Promise(function(c,e) {\n\twindow.parseResponse = function(rawQOD) {\n\t\tc(rawQOD.data.contents.quotes[0].quote);\n\t}\n\tvar script = document.createElement('script');\n\tscript.src='http://quotes.rest/qod.js';\n\tdocument.head.appendChild(script);\n});\n\nmonaco.languages.register({ id: 'mySpecialLanguage' });\n\nmonaco.languages.registerHoverProvider('mySpecialLanguage', {\n\tprovideHover: function(model, position) {\n\t\treturn quoteOfTheDay.then(function(quoteText) {\n\t\t\treturn {\n\t\t\t\trange: new monaco.Range(1, 1, model.getLineCount(), model.getLineMaxColumn(model.getLineCount())),\n\t\t\t\tcontents: ['**' + quoteText + '**']\n\t\t\t}\n\t\t});\n\t}\n});\n\nmonaco.editor.create(document.getElementById(\"container\"), {\n\tvalue: '\\n\\nHover over this text',\n\tlanguage: 'mySpecialLanguage'\n});\n","html":"<div id=\"container\" style=\"height:100%;\"></div>\n","css":""});

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.