fix snippet file parsing

This commit is contained in:
nightwing 2013-09-05 00:28:42 +04:00
commit 62c514135d
4 changed files with 13 additions and 10 deletions

View file

@ -600,7 +600,7 @@ env.editSnippets = function() {
editor.on("blur", function() { editor.on("blur", function() {
m.snippetText = editor.getValue(); m.snippetText = editor.getValue();
snippetManager.unregister(m.snippets); snippetManager.unregister(m.snippets);
m.snippets = snippetManager.parseSnippetFile(m.snippetText); m.snippets = snippetManager.parseSnippetFile(m.snippetText, m.scope);
snippetManager.register(m.snippets); snippetManager.register(m.snippets);
}) })
sp.$editors[0].once("changeMode", function() { sp.$editors[0].once("changeMode", function() {

View file

@ -53,10 +53,13 @@ var snippetCompleter = {
var snippets = snippetMap[scope] || []; var snippets = snippetMap[scope] || [];
for (var i = snippets.length; i--;) { for (var i = snippets.length; i--;) {
var s = snippets[i]; var s = snippets[i];
var caption = s.name || s.tabTrigger;
if (!caption)
continue;
completions.push({ completions.push({
caption: s.tabTrigger, caption: caption,
snippet: s.content, snippet: s.content,
meta: "snippet" meta: s.tabTrigger && !s.name ? s.tabTrigger + "\u21E5 " : "snippet"
}); });
} }
}, this); }, this);

View file

@ -484,7 +484,7 @@ var SnippetManager = function() {
snippets.forEach(removeSnippet); snippets.forEach(removeSnippet);
}; };
this.parseSnippetFile = function(str) { this.parseSnippetFile = function(str) {
str = str.replace(/\r/, ""); str = str.replace(/\r/g, "");
var list = [], snippet = {}; var list = [], snippet = {};
var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm; var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
var m; var m;

View file

@ -16,12 +16,12 @@ snippet use
use ${1:Foo\Bar\Baz}; use ${1:Foo\Bar\Baz};
${2} ${2}
snippet c snippet c
${1:abstract }class ${2:`Filename()`} ${1:abstract }class ${2:$FILENAME}
{ {
${3} ${3}
} }
snippet i snippet i
interface ${1:`Filename()`} interface ${1:$FILENAME}
{ {
${2} ${2}
} }
@ -45,7 +45,7 @@ snippet sm
* *
* @param ${2:$1} $$1 ${3:description} * @param ${2:$1} $$1 ${3:description}
* *
* @return ${4:`Filename()`} * @return ${4:$FILENAME}
*/ */
${5:public} function set${6:$2}(${7:$2 }$$1) ${5:public} function set${6:$2}(${7:$2 }$$1)
{ {
@ -202,7 +202,7 @@ snippet interface
* @package ${3:default} * @package ${3:default}
* @author ${4:`g:snips_author`} * @author ${4:`g:snips_author`}
*/ */
interface ${1:`Filename()`} interface ${1:$FILENAME}
{ {
${5} ${5}
} }
@ -211,7 +211,7 @@ snippet class
/** /**
* ${1} * ${1}
*/ */
class ${2:`Filename()`} class ${2:$FILENAME}
{ {
${3} ${3}
/** /**
@ -345,7 +345,7 @@ snippet gs
* *
* @param $2 $$1 ${5:description} * @param $2 $$1 ${5:description}
* *
* @return ${6:`Filename()`} * @return ${6:$FILENAME}
*/ */
public function set$3(${7:$2 }$$1) public function set$3(${7:$2 }$$1)
{ {