diff --git a/demo/kitchen-sink/demo.js b/demo/kitchen-sink/demo.js index 1ace9cb0..634125f6 100644 --- a/demo/kitchen-sink/demo.js +++ b/demo/kitchen-sink/demo.js @@ -600,7 +600,7 @@ env.editSnippets = function() { editor.on("blur", function() { m.snippetText = editor.getValue(); snippetManager.unregister(m.snippets); - m.snippets = snippetManager.parseSnippetFile(m.snippetText); + m.snippets = snippetManager.parseSnippetFile(m.snippetText, m.scope); snippetManager.register(m.snippets); }) sp.$editors[0].once("changeMode", function() { diff --git a/lib/ace/ext/language_tools.js b/lib/ace/ext/language_tools.js index 9c4c20dc..e5cd8bb4 100644 --- a/lib/ace/ext/language_tools.js +++ b/lib/ace/ext/language_tools.js @@ -53,10 +53,13 @@ var snippetCompleter = { var snippets = snippetMap[scope] || []; for (var i = snippets.length; i--;) { var s = snippets[i]; + var caption = s.name || s.tabTrigger; + if (!caption) + continue; completions.push({ - caption: s.tabTrigger, + caption: caption, snippet: s.content, - meta: "snippet" + meta: s.tabTrigger && !s.name ? s.tabTrigger + "\u21E5 " : "snippet" }); } }, this); diff --git a/lib/ace/snippets.js b/lib/ace/snippets.js index 6e11a932..3e00008b 100644 --- a/lib/ace/snippets.js +++ b/lib/ace/snippets.js @@ -484,7 +484,7 @@ var SnippetManager = function() { snippets.forEach(removeSnippet); }; this.parseSnippetFile = function(str) { - str = str.replace(/\r/, ""); + str = str.replace(/\r/g, ""); var list = [], snippet = {}; var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm; var m; diff --git a/lib/ace/snippets/php.snippets b/lib/ace/snippets/php.snippets index 97f17bc1..8d11a281 100644 --- a/lib/ace/snippets/php.snippets +++ b/lib/ace/snippets/php.snippets @@ -16,12 +16,12 @@ snippet use use ${1:Foo\Bar\Baz}; ${2} snippet c - ${1:abstract }class ${2:`Filename()`} + ${1:abstract }class ${2:$FILENAME} { ${3} } snippet i - interface ${1:`Filename()`} + interface ${1:$FILENAME} { ${2} } @@ -45,7 +45,7 @@ snippet sm * * @param ${2:$1} $$1 ${3:description} * - * @return ${4:`Filename()`} + * @return ${4:$FILENAME} */ ${5:public} function set${6:$2}(${7:$2 }$$1) { @@ -202,7 +202,7 @@ snippet interface * @package ${3:default} * @author ${4:`g:snips_author`} */ - interface ${1:`Filename()`} + interface ${1:$FILENAME} { ${5} } @@ -211,7 +211,7 @@ snippet class /** * ${1} */ - class ${2:`Filename()`} + class ${2:$FILENAME} { ${3} /** @@ -345,7 +345,7 @@ snippet gs * * @param $2 $$1 ${5:description} * - * @return ${6:`Filename()`} + * @return ${6:$FILENAME} */ public function set$3(${7:$2 }$$1) {