Skip to content

Commit

Permalink
add readme.md for stdlib (Builtin function) (plantuml#1987)
Browse files Browse the repository at this point in the history
  • Loading branch information
The-Lum authored Nov 22, 2024
1 parent 837f440 commit 8fd30bd
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions src/net/sourceforge/plantuml/tim/stdlib/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Directory Documentation for `stdlib`

## Builtin functions [%]

Some functions are defined by default. Their name starts by ``%``

| Name | Description | Example | Return |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------ |
| ``%boolval`` | Convert a value _(String, Integer, JSON value)_ to boolean value | ``%boolval("true")`` | ``1`` |
| ``%call_user_func`` | Invoke a return function by its name with given arguments. | ``%call_user_func("bold", "Hello")`` | Depends on the called function |
| ``%chr`` | Return a character from a give Unicode value | ``%chr(65)`` | ``A`` |
| ``%darken`` | Return a darken color of a given color with some ratio | ``%darken("red", 20)`` | ``#CC0000`` |
| ``%date`` | Retrieve current date. You can provide an optional [format for the date](https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html) | ``%date("yyyy.MM.dd' at 'HH:mm")`` | current date |
| | You can provide another optional time ([on epoch format](https://en.wikipedia.org/wiki/Epoch%5F%28computing%29)) | ``%date("YYYY-MM-dd", %now() + 1*24*3600)`` | tomorrow date |
| ``%dec2hex`` | Return the hexadecimal string (String) of a decimal value (Int) | ``%dec2hex(12)`` | ``c`` |
| ``%dirpath`` | Retrieve current dirpath | ``%dirpath()`` | current path |
| ``%feature`` | Check if some feature is available in the current PlantUML running version | ``%feature("theme")`` | ``true`` |
| ``%false`` | Return always ``false`` | ``%false()`` | ``false`` |
| ``%file_exists`` | Check if a file exists on the local filesystem | ``%file_exists("c:/foo/dummy.txt")`` | ``true`` if the file exists |
| ``%filename`` | Retrieve current filename | ``%filename()`` | current filename |
| ``%function_exists`` | Check if a function exists | ``%function_exists("$some_function")`` | ``true`` if the function has been defined |
| ``%get_all_theme`` | Retreive a JSON Array of all PlantUML [theme](https://plantuml.com/theme) | ``%get_all_theme()`` | ``["_none_", "amiga", ..., "vibrant"]`` |
| ``%get_all_stdlib`` | Retreive a JSON Array of all PlantUML [stdlib](https://plantuml.com/stdlib) names | ``%get_all_stdlib()`` | ``["archimate", "aws", ..., "tupadr3"]`` |
| ``%get_all_stdlib`` | Retreive a JSON Object of all PlantUML [stdlib](https://plantuml.com/stdlib) information | ``%get_all_stdlib(detailed)`` | a JSON Object with stdlib information |
| ``%get_variable_value`` | Retrieve some variable value | ``%get_variable_value("$my_variable")`` | the value of the variable |
| ``%getenv`` | Retrieve environment variable value | ``%getenv("OS")`` | the value of ``OS`` variable |
| ``%hex2dec`` | Return the decimal value (Int) of a hexadecimal string (String) | ``%hex2dec("d")`` or ``%hex2dec(d)`` | ``13`` |
| ``%hsl_color`` | Return the RGBa color from a HSL color ``%hsl_color(h, s, l)`` or ``%hsl_color(h, s, l, a)`` | ``%hsl_color(120, 100, 50)`` | ``#00FF00`` |
| ``%intval`` | Convert a String to Int | ``%intval("42")`` | ``42`` |
| ``%invoke_procedure`` | Dynamically invoke a procedure by its name, passing optional arguments to the called procedure. | ``%invoke_procedure("$go", "hello from Bob...")`` | Depends on the invoked procedure |
| ``%is_dark`` | Check if a color is a dark one | ``%is_dark("#000000")`` | ``true`` |
| ``%is_light`` | Check if a color is a light one | ``%is_light("#000000")`` | ``false`` |
| ``%lighten`` | Return a lighten color of a given color with some ratio | ``%lighten("red", 20)`` | ``#CC3333`` |
| ``%load_json`` | [Load JSON data from local file or external URL](https://github.com/plantuml/plantuml/pull/755) | ``%load_json("http://localhost:7778/management/health")`` | JSON data |
| ``%lower`` | Return a lowercase string | ``%lower("Hello")`` | ``hello`` in that example |
| ``%mod`` | Return the remainder of division of two integers (modulo division) | ``%mod(10, 3)`` | ``1`` |
| ``%newline`` | Return a newline | ``%newline()`` | a newline |
| ``%not`` | Return the logical negation of an expression | ``%not(2+2==4)`` | ``false`` in that example |
| ``%now`` | Return the current epoch time | ``%now()`` | ``1685547132`` in that example (when updating the doc.) |
| ``%ord`` | Return a Unicode value from a given character | ``%ord("A")`` | ``65`` |
| ``%lighten`` | Return a lighten color of a given color with some ratio | ``%lighten("red", 20)`` | ``#CC3333`` |
| ``%random()`` | Return randomly the integer `0` or `1` | ``%random()`` | `0` or `1` |
| ``%random(n)`` | Return randomly an interger between `0` and `n - 1` | ``%random(5)`` | `3` |
| ``%random(min, max)`` | Return randomly an interger between `min` and `max - 1` | ``%random(7, 15)`` | `13` |
| ``%reverse_color`` | Reverse a color using RGB | ``%reverse_color("#FF7700")`` | ``#0088FF`` |
| ``%reverse_hsluv_color`` | Reverse a color [using HSLuv](https://www.hsluv.org/) | ``%reverse_hsluv_color("#FF7700")`` | ``#602800`` |
| ``%set_variable_value`` | Set a global variable | ``%set_variable_value("$my_variable", "some_value")`` | an empty string |
| ``%size`` | Return the size of any string or JSON structure | ``%size("foo")`` | ``3`` in the example |
| ``%splitstr`` | Split a string into an array based on a specified delimiter. | ``%splitstr("abc~def~ghi", "~")`` | ``["abc", "def", "ghi"]`` |
| ``%splitstr_regex`` | Split a string into an array based on a specified REGEX. | ``%splitstr_regex("AbcDefGhi", "(?=[A-Z])")`` | ``["Abc", "Def", "Ghi"]`` |
| ``%string`` | Convert an expression to String | ``%string(1 + 2)`` | ``3`` in the example |
| ``%strlen`` | Calculate the length of a String | ``%strlen("foo")`` | ``3`` in the example |
| ``%strpos`` | Search a substring in a string | ``%strpos("abcdef", "ef")`` | 4 (position of ``ef``) |
| ``%substr`` | Extract a substring. Takes 2 or 3 arguments | ``%substr("abcdef", 3, 2)`` | ``"de"`` in the example |
| ``%true`` | Return always ``true`` | ``%true()`` | ``true`` |
| ``%upper`` | Return an uppercase string | ``%upper("Hello")`` | ``HELLO`` in that example |
| ``%variable_exists`` | Check if a variable exists | ``%variable_exists("$my_variable")`` | ``true`` if the variable has been defined exists |
| ``%version`` | Return PlantUML current version | ``%version()`` | ``1.2020.8`` for example |


## Link of Current Preprocessing (documentation)
- [PlantUML Preprocessing](https://plantuml.com/preprocessing)
- [PlantUML Preprocessing JSON](https://plantuml.com/preprocessing-json)

0 comments on commit 8fd30bd

Please sign in to comment.