mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
merged staticManager with snippetManager
This commit is contained in:
parent
769875c5d5
commit
688f1e9e75
3 changed files with 84 additions and 88 deletions
|
@ -1,10 +1,9 @@
|
||||||
define [
|
define [
|
||||||
"ide/editor/directives/aceEditor/auto-complete/SuggestionManager"
|
"ide/editor/directives/aceEditor/auto-complete/SuggestionManager"
|
||||||
"ide/editor/directives/aceEditor/auto-complete/SnippetManager"
|
"ide/editor/directives/aceEditor/auto-complete/SnippetManager"
|
||||||
"ide/editor/directives/aceEditor/auto-complete/StaticSuggestionManager"
|
|
||||||
"ace/ace"
|
"ace/ace"
|
||||||
"ace/ext-language_tools"
|
"ace/ext-language_tools"
|
||||||
], (SuggestionManager, SnippetManager, StaticSuggestionManager) ->
|
], (SuggestionManager, SnippetManager) ->
|
||||||
Range = ace.require("ace/range").Range
|
Range = ace.require("ace/range").Range
|
||||||
aceSnippetManager = ace.require('ace/snippets').snippetManager
|
aceSnippetManager = ace.require('ace/snippets').snippetManager
|
||||||
|
|
||||||
|
@ -45,8 +44,6 @@ define [
|
||||||
|
|
||||||
SnippetCompleter = new SnippetManager()
|
SnippetCompleter = new SnippetManager()
|
||||||
|
|
||||||
StaticCommandCompleter = new StaticSuggestionManager()
|
|
||||||
|
|
||||||
labelsManager = @labelsManager
|
labelsManager = @labelsManager
|
||||||
LabelsCompleter =
|
LabelsCompleter =
|
||||||
getCompletions: (editor, session, pos, prefix, callback) ->
|
getCompletions: (editor, session, pos, prefix, callback) ->
|
||||||
|
@ -117,7 +114,6 @@ define [
|
||||||
|
|
||||||
@editor.completers = [@suggestionManager,
|
@editor.completers = [@suggestionManager,
|
||||||
SnippetCompleter,
|
SnippetCompleter,
|
||||||
StaticCommandCompleter,
|
|
||||||
ReferencesCompleter,
|
ReferencesCompleter,
|
||||||
LabelsCompleter]
|
LabelsCompleter]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,73 @@
|
||||||
define () ->
|
define () ->
|
||||||
|
noArgumentCommands = [
|
||||||
|
'item', 'hline', 'lipsum', 'centering', 'noindent', 'textwidth', 'draw',
|
||||||
|
'maketitle', 'newpage', 'verb', 'bibliography', 'fi', 'hfill', 'par',
|
||||||
|
'in', 'sum', 'cdot', 'alpha', 'ldots', 'else', 'linewidth', 'left',
|
||||||
|
'right', 'today', 'clearpage', 'newline', 'endinput', 'mu',
|
||||||
|
'tableofcontents', 'vfill', 'bigskip', 'fill', 'cleardoublepage',
|
||||||
|
]
|
||||||
|
singleArgumentCommands = [
|
||||||
|
'chapter', 'usepackage', 'section', 'label', 'textbf', 'subsection',
|
||||||
|
'vspace', 'cite', 'textit', 'documentclass', 'includegraphics', 'input',
|
||||||
|
'emph','caption', 'ref', 'title', 'author', 'texttt', 'include',
|
||||||
|
'hspace', 'bibitem', 'url', 'large', 'subsubsection', 'textsc', 'date',
|
||||||
|
'footnote', 'small', 'thanks', 'underline', 'graphicspath', 'pageref',
|
||||||
|
'section*', 'subsection*', 'subsubsection*', 'sqrt', 'text',
|
||||||
|
'normalsize', 'Large', 'paragraph', 'pagestyle', 'thispagestyle',
|
||||||
|
'bibliographystyle',
|
||||||
|
]
|
||||||
|
doubleArgumentCommands = [
|
||||||
|
'newcommand', 'frac', 'renewcommand', 'setlength', 'href', 'newtheorem',
|
||||||
|
]
|
||||||
|
tripleArgumentCommands = [
|
||||||
|
'addcontentsline', 'newacronym', 'multicolumn'
|
||||||
|
]
|
||||||
|
special = ['LaTeX', 'TeX']
|
||||||
|
|
||||||
|
noArgumentCommands = for com in noArgumentCommands
|
||||||
|
{
|
||||||
|
caption: "\\#{com}"
|
||||||
|
snippet: "\\#{com}"
|
||||||
|
meta: "cmd"
|
||||||
|
}
|
||||||
|
singleArgumentCommands = for com in singleArgumentCommands
|
||||||
|
{
|
||||||
|
caption: "\\#{com}{}"
|
||||||
|
snippet: "\\#{com}{$1}"
|
||||||
|
meta: "cmd"
|
||||||
|
}
|
||||||
|
doubleArgumentCommands = for com in doubleArgumentCommands
|
||||||
|
{
|
||||||
|
caption: "\\#{com}{}{}"
|
||||||
|
snippet: "\\#{com}{$1}{$2}"
|
||||||
|
meta: "cmd"
|
||||||
|
}
|
||||||
|
tripleArgumentCommands = for com in tripleArgumentCommands
|
||||||
|
{
|
||||||
|
caption: "\\#{com}{}{}{}"
|
||||||
|
snippet: "\\#{com}{$1}{$2}{$3}"
|
||||||
|
meta: "cmd"
|
||||||
|
}
|
||||||
|
special = for cmd in special
|
||||||
|
if cmd == 'TeX'
|
||||||
|
{
|
||||||
|
caption: "\\TeX{}"
|
||||||
|
snippet: "\\TeX{}"
|
||||||
|
meta: "cmd"
|
||||||
|
}
|
||||||
|
else if com == 'LaTeX'
|
||||||
|
{
|
||||||
|
caption: "\\LaTeX{}"
|
||||||
|
snippet: "\\LaTeX{}"
|
||||||
|
meta: "cmd"
|
||||||
|
}
|
||||||
|
|
||||||
|
staticCommands = [].concat(noArgumentCommands,
|
||||||
|
singleArgumentCommands,
|
||||||
|
doubleArgumentCommands,
|
||||||
|
tripleArgumentCommands,
|
||||||
|
special)
|
||||||
|
|
||||||
environments = [
|
environments = [
|
||||||
"abstract",
|
"abstract",
|
||||||
"align", "align*",
|
"align", "align*",
|
||||||
|
@ -6,7 +75,9 @@ define () ->
|
||||||
"gather", "gather*",
|
"gather", "gather*",
|
||||||
"multline", "multline*",
|
"multline", "multline*",
|
||||||
"split",
|
"split",
|
||||||
"verbatim"
|
"verbatim",
|
||||||
|
"quote",
|
||||||
|
"center"
|
||||||
]
|
]
|
||||||
|
|
||||||
staticSnippets = for env in environments
|
staticSnippets = for env in environments
|
||||||
|
@ -95,8 +166,18 @@ define () ->
|
||||||
\\end{frame}
|
\\end{frame}
|
||||||
"""
|
"""
|
||||||
meta: "env"
|
meta: "env"
|
||||||
|
}, {
|
||||||
|
caption: "\\begin{thebibliography}..."
|
||||||
|
snippet: """
|
||||||
|
\\begin{thebibliography}{$1}
|
||||||
|
\\bibitem{$2}
|
||||||
|
$3
|
||||||
|
\\end{thebibliography}
|
||||||
|
"""
|
||||||
}]
|
}]
|
||||||
|
|
||||||
|
staticSnippets = staticSnippets.concat staticCommands
|
||||||
|
|
||||||
|
|
||||||
parseCustomEnvironments = (text) ->
|
parseCustomEnvironments = (text) ->
|
||||||
re = /^\\newenvironment{(\w+)}.*$/gm
|
re = /^\\newenvironment{(\w+)}.*$/gm
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
define () ->
|
|
||||||
noArgumentCommands = [
|
|
||||||
'item', 'hline', 'lipsum', 'centering', 'noindent', 'textwidth', 'draw',
|
|
||||||
'maketitle', 'newpage', 'verb', 'bibliography', 'fi', 'hfill', 'par',
|
|
||||||
'in', 'sum', 'cdot', 'alpha', 'ldots', 'else', 'linewidth', 'left',
|
|
||||||
'right', 'today', 'clearpage', 'newline', 'endinput', 'mu',
|
|
||||||
'tableofcontents', 'vfill', 'bigskip', 'fill', 'cleardoublepage',
|
|
||||||
]
|
|
||||||
singleArgumentCommands = [
|
|
||||||
'chapter', 'usepackage', 'section', 'label', 'textbf', 'subsection',
|
|
||||||
'vspace', 'cite', 'textit', 'documentclass', 'includegraphics', 'input',
|
|
||||||
'emph','caption', 'ref', 'title', 'author', 'texttt', 'include',
|
|
||||||
'hspace', 'bibitem', 'url', 'large', 'subsubsection', 'textsc', 'date',
|
|
||||||
'footnote', 'small', 'thanks', 'underline', 'graphicspath', 'pageref',
|
|
||||||
'section*', 'subsection*', 'subsubsection*', 'sqrt', 'text',
|
|
||||||
'normalsize', 'Large', 'paragraph', 'pagestyle', 'thispagestyle',
|
|
||||||
'bibliographystyle',
|
|
||||||
]
|
|
||||||
doubleArgumentCommands = [
|
|
||||||
'newcommand', 'frac', 'renewcommand', 'setlength', 'href', 'newtheorem',
|
|
||||||
]
|
|
||||||
tripleArgumentCommands = [
|
|
||||||
'addcontentsline', 'newacronym', 'multicolumn'
|
|
||||||
]
|
|
||||||
special = ['def', 'let', 'LaTeX']
|
|
||||||
|
|
||||||
noArgumentCommands = for com in noArgumentCommands
|
|
||||||
{
|
|
||||||
caption: "\\#{com}"
|
|
||||||
snippet: "\\#{com}"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
singleArgumentCommands = for com in singleArgumentCommands
|
|
||||||
{
|
|
||||||
caption: "\\#{com}{}"
|
|
||||||
snippet: "\\#{com}{$1}"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
doubleArgumentCommands = for com in doubleArgumentCommands
|
|
||||||
{
|
|
||||||
caption: "\\#{com}{}{}"
|
|
||||||
snippet: "\\#{com}{$1}{$2}"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
tripleArgumentCommands = for com in tripleArgumentCommands
|
|
||||||
{
|
|
||||||
caption: "\\#{com}{}{}{}"
|
|
||||||
snippet: "\\#{com}{$1}{$2}{$3}"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
special = for com in special
|
|
||||||
if com == 'def'
|
|
||||||
{ #should be improved
|
|
||||||
caption: "\\def{}"
|
|
||||||
snippet: "\\def$1{$2}"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
else if com == 'let'
|
|
||||||
{ #should be improved
|
|
||||||
caption: "\\let"
|
|
||||||
snippet: "\\let"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
else if com == 'LaTeX'
|
|
||||||
{
|
|
||||||
caption: "\\LaTeX{}"
|
|
||||||
snippet: "\\LaTeX{}"
|
|
||||||
meta: "cmd"
|
|
||||||
}
|
|
||||||
|
|
||||||
staticCommands = [].concat(noArgumentCommands,
|
|
||||||
singleArgumentCommands,
|
|
||||||
doubleArgumentCommands,
|
|
||||||
tripleArgumentCommands,
|
|
||||||
special)
|
|
||||||
|
|
||||||
class StaticSuggestionManager
|
|
||||||
getCompletions: (editor, session, pos, prefix, callback) ->
|
|
||||||
callback null, staticCommands
|
|
||||||
|
|
||||||
return StaticSuggestionManager
|
|
Loading…
Reference in a new issue