merged staticManager with snippetManager

This commit is contained in:
Nate Stemen 2017-08-11 09:23:36 +01:00
parent 769875c5d5
commit 688f1e9e75
3 changed files with 84 additions and 88 deletions

View file

@ -1,10 +1,9 @@
define [
"ide/editor/directives/aceEditor/auto-complete/SuggestionManager"
"ide/editor/directives/aceEditor/auto-complete/SnippetManager"
"ide/editor/directives/aceEditor/auto-complete/StaticSuggestionManager"
"ace/ace"
"ace/ext-language_tools"
], (SuggestionManager, SnippetManager, StaticSuggestionManager) ->
], (SuggestionManager, SnippetManager) ->
Range = ace.require("ace/range").Range
aceSnippetManager = ace.require('ace/snippets').snippetManager
@ -45,8 +44,6 @@ define [
SnippetCompleter = new SnippetManager()
StaticCommandCompleter = new StaticSuggestionManager()
labelsManager = @labelsManager
LabelsCompleter =
getCompletions: (editor, session, pos, prefix, callback) ->
@ -117,7 +114,6 @@ define [
@editor.completers = [@suggestionManager,
SnippetCompleter,
StaticCommandCompleter,
ReferencesCompleter,
LabelsCompleter]

View file

@ -1,4 +1,73 @@
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 = [
"abstract",
"align", "align*",
@ -6,7 +75,9 @@ define () ->
"gather", "gather*",
"multline", "multline*",
"split",
"verbatim"
"verbatim",
"quote",
"center"
]
staticSnippets = for env in environments
@ -95,8 +166,18 @@ define () ->
\\end{frame}
"""
meta: "env"
}, {
caption: "\\begin{thebibliography}..."
snippet: """
\\begin{thebibliography}{$1}
\\bibitem{$2}
$3
\\end{thebibliography}
"""
}]
staticSnippets = staticSnippets.concat staticCommands
parseCustomEnvironments = (text) ->
re = /^\\newenvironment{(\w+)}.*$/gm

View file

@ -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