Difference between revisions of "User:Kebap"

From Mudlet
Jump to navigation Jump to search
(+1)
(→‎Projects: display Mudlet version picture thumbnail)
 
(6 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
= Projects =
 
= Projects =
  
* <strike>[[User:Kebap/documentation-in-wiki]]</strike> - currently on hold
+
* [[User:Kebap/documentation-in-wiki]] - currently on hold
 +
** Standardize layout of [[Manual:Lua_Functions]] in [[Area 51]]
  
 
* [[User:Kebap/translation infrastructure|Establish translation-infrastructure for Mudlet universe]]
 
* [[User:Kebap/translation infrastructure|Establish translation-infrastructure for Mudlet universe]]
Line 21: Line 22:
  
 
* Graphical overview of [[User:Kebap/Release dates|Release dates]]
 
* Graphical overview of [[User:Kebap/Release dates|Release dates]]
 +
[[File:Release_dates.png|thumb]]
  
 
* Add MorgenGrauen to Mudlet MUDs
 
* Add MorgenGrauen to Mudlet MUDs
Line 41: Line 43:
 
* Look into improving a11y (accessibility) of Mudlet [https://github.com/Mudlet/Mudlet/issues?q=is%3Aopen+is%3Aissue+label%3Aa11y client] and [https://www.w3.org/TR/WCAG20/ website], etc.
 
* Look into improving a11y (accessibility) of Mudlet [https://github.com/Mudlet/Mudlet/issues?q=is%3Aopen+is%3Aissue+label%3Aa11y client] and [https://www.w3.org/TR/WCAG20/ website], etc.
  
= Examples for Wiki formatting =
+
* Learn more [[User:Kebap/git commands|git commands]]
  
==functionName==
+
= Examples for formatting =
;functionName(arg1, arg2, [optionalArg3])
 
: What the function does. In this case, it is just a non-existing function with the only purpose to show, how to write documentation for functions
 
: Returns whatever the function returns.
 
  
See also:
+
== API documentation ==
[[Manual:Lua_Functions#paste|paste]],
 
[[Manual:Lua_Functions#paste|paste]]
 
  
{{note}} Available since Mudlet 3.5
+
Examples and description moved to [[Area 51]] plus template linked from there
  
;Parameters
+
== Standardized error messages in code ==
* arg1:
 
: What arg1 is/does. Passed as a string.
 
* arg2:
 
: What arg2 is/does. Passed as a string.
 
* ''optionalArg3''
 
: (optional) The name needn't be telling. Relevant is to mark optional arguments at the start of this line (with text "optional" in brackets) and in the function definition line (with [these] brackets)
 
  
;Example
+
Old style, not very informative:
<syntaxhighlight lang="lua">
+
<syntaxhighlight lang="cpp">
--a small example snippet of the function in action
+
    if (!lua_isnumber(L, 1)) {
--the comments up top should introduce it/explain what the snippet does
+
        lua_pushstring(L, "createMapLabel: wrong argument type");
functionName("arg1", "arg2")
+
        return lua_error(L);
 +
    }
 +
    int area = lua_isnumber(L, 1);
 +
</syntaxhighlight>
 +
 
 +
New style with additional information:
 +
<syntaxhighlight lang="cpp">
 +
    if (!lua_isnumber(L, 1)) {
 +
        lua_pushfstring(L,
 +
                "createMapLabel: bad argument #1 type (areaID as number expected, got %s!)",
 +
                luaL_typename(L, 1));
 +
        return lua_error(L);
 +
    }
 +
    int area = lua_tointeger(L, 1);
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 23:03, 15 November 2022

About me

Mudlet user and script developer, hailing from MorgenGrauen (German).

Projects

Release dates.png
  • Enable Discord group "Testers" to (de-)register themselves via Discord reactions done! :)
  • Learn how to make small PR like above with Smart Git instead of github web interface done! :)
Me with a few buddies
  • Improve Mudlet documentation, which is not interesting for Mudlet users, but only for (some) developers.
    • Including definitions on internal functions,
    • discussions and decisions on coding style conventions,
    • standard procedures like Release Checklist, update lua function list for autocompletion,
    • This is done by adding Categories like "Mudlet Developer Manual" or "Mudlet Admin Manual"
    • etc.
  • Look into improving a11y (accessibility) of Mudlet client and website, etc.

Examples for formatting

API documentation

Examples and description moved to Area 51 plus template linked from there

Standardized error messages in code

Old style, not very informative:

    if (!lua_isnumber(L, 1)) {
        lua_pushstring(L, "createMapLabel: wrong argument type");
        return lua_error(L);
    }
    int area = lua_isnumber(L, 1);

New style with additional information:

    if (!lua_isnumber(L, 1)) {
        lua_pushfstring(L,
                "createMapLabel: bad argument #1 type (areaID as number expected, got %s!)",
                luaL_typename(L, 1));
        return lua_error(L);
    }
    int area = lua_tointeger(L, 1);