[Adds support for dynamic variables in strings for plugins.]
[Parse options]
[Automatically strip "end of line" characters]
[Automatically strip white space]
[Automatically strip all non-parsing characters]
[Test area]
[Click on the help button to get more information]
[Parse the following string at startup]
[Auto parse]
[Parse]
[Please enter your input below]
[Don't set a contact]
[Set to the following contact]
[The token %subject% is translated into a special contact, which depends on the situation in which the string is parsed. Use this dialog to simulate the contact to which %subject% translates. An example for using this token is: !cinfo(%subject%,display).]
[Description]
[Setting]
[The token %extratext% is translated into a string which depends on the situation in which the string is parsed. Use this dialog to simulate the string to which %extratext% translates.]
[The Variables plugin translates various tokens into a certain value. An example is: I'm running Miranda %mirandaversion%. The substring %mirandaversion% will be translated into the correct version number. The following list shows all available tokens.]
[Token]
[Tokens]
[Input]
[Variables Help]
[Open String Formatting Help]
[user defined]
[stores y as alias named x]
[Stopped]
[Paused]
[External Applications]
[retrieves song name of the song currently playing in Winamp]
[retrieves current Winamp state (Playing/Paused/Stopped)]
[Internet Related]
[converts each non-html character into hex format]
[converts each hex value into non-html character]
[converts a 32-bit number to IPv4 dotted notation]
[converts a 32-bit number (in host byte order) to IPv4 dotted notation]
[Logical Expressions]
[performs logical AND (x && y && ...)]
[boolean FALSE]
[performs w, then shows z and performs y while x is TRUE]
[shows y if x is TRUE, otherwise it shows z]
[shows x if x is TRUE, otherwise it shows y (if(x,x,y))]
[the first argument parsed successfully]
[y if w = x, else z]
[y if w > x, else z]
[y if string length of w > x, else z]
[TRUE if x = y]
[TRUE if x > y]
[TRUE if x is longer than y]
[performs logical NOT (!x)]
[performs logical OR (x || y || ...)]
[boolean TRUE]
[performs logical XOR (x ^ y)]
[Mathematical Functions]
[x + y + ...]
[x divided by y]
[converts decimal value x to hex value and padds to length y]
[x modulo y (remainder of x divided by y)]
[x times y]
[x times y divided by z]
[minimum value of (decimal) arguments]
[maximum value of (decimal) arguments]
[pads decimal value x to length y with zeros]
[random number]
[x - y - ...]
[Metacontacts]
[get parent metacontact of contact x]
[get default subcontact x]
[get the 'most online' subcontact x]
[Miranda Core Global]
[path to Miranda root folder]
[path to folder containing Miranda profiles]
[name of current Miranda profile (filename, without extension)]
[will return parsed string %miranda_profilesdir%\\%miranda_profilename%]
[will return parsed string %miranda_profilesdir%\\%miranda_profilename%\\AvatarCache]
[will return parsed string %miranda_profilesdir%\\%miranda_profilename%\\Logs]
[Miranda Core OS]
[same as environment variable %APPDATA% for currently logged-on Windows user]
[username for currently logged-on Windows user]
["My Documents" folder for currently logged-on Windows user]
["Desktop" folder for currently logged-on Windows user]
[Miranda Related]
[translates status code x into a status description]
[zth contact with property y described by x, example: (unregistered,nick) (z is optional)]
[number of contacts with property y described by x, example: (unregistered,nick)]
[info property y of contact x]
[database profile name]
[database profile path]
[database setting z of module y of contact x and return w if z doesn't exist (w is optional)]
[get event for contact x (optional), according to y,z,w, see documentation]
[get last seen time of contact x in format y (y is optional)]
[get last seen date of contact x in format y (y is optional)]
[get last seen status of contact x]
[path to the Miranda NG executable]
[current status description of protocol x (without x, the global status is retrieved)]
[info property y of protocol ID x]
[retrieves the subject, depending on situation]
[translates x]
[get the version of Miranda]
[get the contact display name]
[get the date and time (using Miranda format)]
[TRUE if service function exists]
[Regular Expressions]
[(ANSI input only) the number of substring matches found in y with pattern x]
[(ANSI input only) substring match number z found in subject y with pattern x]
[String Functions]
[converts each first letter of a word to uppercase, all others to lowercase]
[converts each first letter of a word to uppercase]
[inserts 'end of line' character]
[depends on calling plugin]
[replace all occurrences of \\n (Unix) by \\r\\n (Windows)]
[cuts x after the first line and appends y (y is optional)]
[replaces all end of line characters by y (y is optional)]
[inserts string y at position z in string x]
[trims x to length y, keeping first y characters]
[length of x]
[the number of lines in string x]
[the longest string of the arguments]
[converts x to lowercase]
[no operation, x as given]
[pads x to length y prepending character z (z is optional)]
[pads x to length y appending character z (z is optional)]
[pads x to length y prepending character z, or cut if x is longer (z is optional)]
[pads x to length y appending character z, or cut if x is longer (z is optional)]
[repeats x y times]
[replace all occurrences of y in x with z, multiple y and z arguments allowed]
[trims x to length y, keeping last y characters]
[moves string x, z characters to the left and trims it to y characters]
[TRUE if x equals y]
[TRUE if x equals any of the following arguments]
[TRUE if the first z characters of x equal y]
[TRUE if x equals y, ignoring case]
[TRUE if the first z characters of x equal y, ignoring case]
[the shortest string of the arguments]
[location of first occurrence of character y in string x]
[location of last occurrence of character y in string x]
[location of first occurrence of string y in x]
[substring of x starting from position y to z]
[the xth string of the arguments]
[z if y equals x, multiple y and z arguments allowed]
[removes white spaces in before and after x]
[inserts x tab characters (x is optional)]
[converts x to upper case]
[words (separated by white spaces) number y to z from string x (z is optional)]
[System Functions]
[computer name]
[CPU load of process x (without extension) (x is optional)]
[current date in format y (y is optional)]
[current time in format y (y is optional)]
[the directory y directories above x]
[strips y directories from x]
[number of seconds between date x and y (x and y in format: M/d/yy H:m:s)]
[TRUE if directory x exists]
[TRUE if file x exists]
[window title of first window of class x]
[shows files and directories of directory x, with filter y, separated by z (y and z optional)]
[TRUE if process x is running]
[value y from registry key x (REG_SZ (string) values only)]
[formats timestamp x (seconds since 1/1/1970) in date format y]
[formats timestamp x (seconds since 1/1/1970) in time format y]
[y > 0: line number y from file x, y = 0: the whole file, y < 0: line y counted from the end, y = r: random line]
[uptime in seconds]
[expand environment variable x]
[user name]
[text from clipboard]
[variable set by put(s) with name x]
[x, and stores y as variable named x]
[only stores y as variables x]
[--- Special characters ---\r\n\r\nThe following characters have a special meaning in a formatting string:\r\n\r\n?<function>(<arguments>)\r\nThis will parse the function given the arguments, the result will be parsed again. Example: Today is ?cdate(yyyy/MM/dd).\r\n\r\n!<function>(<arguments>)\r\nThis will parse the function given the arguments, the result will not be parsed again. Example: Message waiting: !message(,first,rcvd,unread).\r\n\r\n%<field>%\r\nThis will parse the given field. Example: I installed Miranda at: %mirandapath%.\r\n\r\n`<string>`\r\nThis will not parse the given string, any function, field or special character in the string will shown in the result without being translated. Example: Use `%mirandapath%` to show the installation path.\r\n\r\n#<comment>\r\nThis will add a comment in the formatting string. Everything from the # character to the end of the line will be removed. Example: %dbprofile% #this is a useless comment.\r\n\r\n\r\n--- Contacts ---\r\n\r\nWhenever a functions requires a contact as an argument, you can specify it in two ways:\r\n\r\n(1) Using a unique ID (UIN for ICQ, email for MSN) or, a protocol ID followed by a unique ID in the form <PROTOID:UNIQUEID>, for example <MSN:miranda@hotmail.com> or <ICQ:123456789>.\r\n\r\n(2) Using the contact function:\r\n?contact(x,y)\r\nA contact will be searched which will have value x for its property y, y can be one of the following:\r\nfirst, last, nick, email, ID or display\r\n\r\nFor example: ?contact(miranda@hotmail.com,email) or ?contact(Miranda,nick). The contact function will return either a unique contact according to the arguments or nothing if none or multiple contacts exists with the given property.]