mirror of https://gitlab.com/rnger/amath
Alias in function help
This commit is contained in:
parent
194830b64c
commit
f30729980e
|
@ -143,6 +143,7 @@
|
|||
<ClInclude Include="app\lib\numb.h" />
|
||||
<ClInclude Include="app\lib\real.h" />
|
||||
<ClInclude Include="app\localize\help.h" />
|
||||
<ClInclude Include="app\localize\ialias.h" />
|
||||
<ClInclude Include="app\localize\ident.h" />
|
||||
<ClInclude Include="app\localize\lex.h" />
|
||||
<ClInclude Include="app\localize\start.h" />
|
||||
|
|
|
@ -428,6 +428,9 @@
|
|||
<ClInclude Include="app\localize\help.h">
|
||||
<Filter>app\localize</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="app\localize\ialias.h">
|
||||
<Filter>app\localize</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="app\localize\ident.h">
|
||||
<Filter>app\localize</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* Copyright (c) 2015 Carsten Larsen
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AMATH_TEXT_IDENT_ALIAS_H
|
||||
#define AMATH_TEXT_IDENT_ALIAS_H
|
||||
|
||||
struct identalias {
|
||||
const char *ident;
|
||||
const char *alias;
|
||||
};
|
||||
|
||||
static const identalias identaliases[] = {
|
||||
{ "sqrt", "sqr" },
|
||||
{ "cbrt", "cbr" },
|
||||
{ "log2", "lb" },
|
||||
{ "log", "lg" },
|
||||
{ "log10", "lg" },
|
||||
{ "arsin", "asin" },
|
||||
{ "arcos", "acos" },
|
||||
{ "artan", "atan" },
|
||||
{ "arcot", "acot" },
|
||||
{ "arsec", "asec" },
|
||||
{ "arcsc", "acsc" },
|
||||
{ "arcsin", "asin" },
|
||||
{ "arccos", "acos" },
|
||||
{ "arctan", "atan" },
|
||||
{ "arccot", "acot" },
|
||||
{ "arcsec", "asec" },
|
||||
{ "arccsc", "acsc" },
|
||||
{ "arsinh", "asinh" },
|
||||
{ "arcosh", "acosh" },
|
||||
{ "artanh", "atanh" },
|
||||
{ "arcoth", "acoth" },
|
||||
{ "arsech", "asech" },
|
||||
{ "arcsch", "acsch" },
|
||||
{ "arcsinh", "asinh" },
|
||||
{ "arccosh", "acosh" },
|
||||
{ "arctanh", "atanh" },
|
||||
{ "arccoth", "acoth" },
|
||||
{ "arcsech", "asech" },
|
||||
{ "arccsch", "acsch" }
|
||||
}
|
||||
|
||||
#endif
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include "clib.h"
|
||||
#include "localize/tags.h"
|
||||
#include "localize/ialias.h"
|
||||
#include "system/language.h"
|
||||
|
||||
Language::Language()
|
||||
|
@ -40,6 +41,18 @@ Language::~Language()
|
|||
}
|
||||
}
|
||||
|
||||
char* Language::FindAlias(const char* ident)
|
||||
{
|
||||
static const unsigned int count = sizeof(identaliases) / sizeof(identalias);
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
if (StrIsEqual(identaliases[i].ident == ident)) {
|
||||
return (char*)identaliases[i].alias;
|
||||
}
|
||||
}
|
||||
|
||||
return (char*)ident;
|
||||
}
|
||||
|
||||
char* Language::UntagText(const char* text)
|
||||
{
|
||||
if (lastText != NOMEM) {
|
||||
|
|
|
@ -48,6 +48,7 @@ public:
|
|||
virtual bool StrIsEqualLoc(const char *s1, const char *s2) = 0;
|
||||
|
||||
protected:
|
||||
char* FindAlias(const char *ident);
|
||||
char* UntagText(const char *text);
|
||||
char* lastText;
|
||||
};
|
||||
|
|
|
@ -86,10 +86,12 @@ char* AmigaLanguage::GetText(int id)
|
|||
|
||||
char* AmigaLanguage::GetHelpText(char* ident)
|
||||
{
|
||||
char *s = FindAlias(ident);
|
||||
|
||||
identhelpdef *def = NOMEM;
|
||||
static const unsigned int count = sizeof(identtexts) / sizeof(identhelpdef);
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
if (StrIsEqual(identtexts[i].ident, ident)) {
|
||||
if (StrIsEqual(identtexts[i].ident, s)) {
|
||||
def = (identhelpdef*)&identtexts[i];
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue