1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-29 14:26:39 +02:00
Commit Graph

99 Commits

Author SHA1 Message Date
Sébastien Helleu a6826af796 core: add creation of user variables in evaluated expressions with ${define:name,value} 2021-09-20 21:15:28 +02:00
Sébastien Helleu 5b3929b321 api: add split of string and shell arguments in evaluation of expressions
Split of string: ${split:number,separators,flags,xxx}
Split of shell arguments: ${split_shell:number,xxx}
2021-09-06 13:32:04 +02:00
Sébastien Helleu 2de272ee6c api: add "${re:repl_index}" to get the index of replacement in function string_eval_expression 2021-08-29 10:40:52 +02:00
Sébastien Helleu d89c4f559c api: add random integer number in evaluation of expressions with "random:min,max" 2021-08-03 19:46:41 +02:00
Sébastien Helleu b21589944e core, irc, script: fix typos 2021-05-29 14:33:13 +02:00
Sébastien Helleu e5f58b77c1 core, buflist, irc, relay: replace freenode by libera in comments 2021-05-25 13:39:55 +02:00
Sébastien Helleu 5bce484c01 api: add translated string in evaluation of expressions with "translate:xxx" (issue #1622) 2021-05-16 10:01:03 +02:00
Sébastien Helleu 0f9640a5f3 core: split WeeChat home in 4 directories, use XDG directories by default (issue #1285)
The 4 directories (which can be the same):

- config: configuration files, certificates
- data: log/upgrade files, local plugins, scripts, xfer files
- cache: script repository, scripts downloaded (temporary location)
- runtime: FIFO pipe, relay UNIX sockets
2021-05-11 21:06:34 +02:00
Sébastien Helleu 3bf585ba04 core: evaluate left/right part of comparison after split on the comparison operator in ${if:xxx} (closes #1627)
To force evaluation of the expression before doing the comparison (less safe),
the "${eval_cond:xxx}" can be used.

With the old behavior we had:

    >> ${if:a==b}
    == [0]
    >> ${if:${raw:a==b}}
    == [0]
    >> ${if:${eval_cond:${raw:a==b}}}
    == [0]

And with the new behavior, we have:

    >> ${if:a==b}
    == [0]
    >> ${if:${raw:a==b}}
    == [1]
    >> ${if:${eval_cond:${raw:a==b}}}
    == [0]
2021-04-04 14:44:18 +02:00
Sébastien Helleu 4d96a3a84d core: add pointer name in description of function eval_replace_vars_cb 2021-03-18 07:35:12 +01:00
Sébastien Helleu 8ee7d46605 api: add support of pointer names in function string_eval_expression (direct and in hdata)
These two formats are now supported, if "pointer_name" is present in the
"pointers" hashtable:

* "${pointer_name}": value of pointer (example: "0x1234abcd")
* ${buffer[pointer_name].full_name}: use of a pointer name instead of pointer
  value or list name
2021-03-17 21:57:16 +01:00
Sébastien Helleu a93e598c35 core: add raw string in evaluation of expressions with "raw:xxx" (closes #1611) 2021-02-05 20:07:16 +01:00
Sébastien Helleu efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu 470e3ef9cf core: move debug_id assignation in macro EVAL_DEBUG_MSG 2021-01-02 14:43:40 +01:00
Sébastien Helleu d413ccdf4f core: add indentation and colors in /eval debug output 2021-01-01 17:08:59 +01:00
Sébastien Helleu 2ad3da03a2 core: display more verbose debug with two "-d" in command /eval
Now a single -d in command /eval shows less debug messages than previous
versions.

To get the same debug messages than previous versions, two -d must be used.
2020-12-31 20:37:43 +01:00
Sébastien Helleu b626df72fb core: add evaluation of conditions in evaluation of expressions with "eval_cond:" (closes #1582) 2020-11-14 09:28:46 +01:00
Sébastien Helleu cfd221014c api: add argument "bytes" in function string_dyn_concat 2020-08-23 23:27:57 +02:00
Sébastien Helleu 66d4590dab core: add base 16/32/64 encoding/decoding in evaluation of expressions 2020-05-21 09:36:35 +02:00
Sébastien Helleu 8f308ea918 core: split function eval_replace_vars_cb into multiple functions 2020-05-20 00:04:45 +02:00
Sébastien Helleu b1c3a29ac7 core: add include comparison operators in evaluation of expressions
New comparison operators:

- "==*": is matching mask, case sensitive (wildcard "*" is allowed)
- "!!*": is NOT matching mask, case sensitive (wildcard "*" is allowed)
- "==-": is included, case sensitive
- "!!-": is NOT included, case sensitive
- "=-": is included, case insensitive
- "!-": is NOT included, case insensitive
2020-05-05 20:43:45 +02:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu e612e63140 core: fix evaluation of condition with nested "if" (closes #1434) 2019-12-18 21:22:36 +01:00
Sébastien Helleu a13099aa63 core: add debug option "-d" in command /eval (issue #1434) 2019-12-18 21:18:59 +01:00
Sébastien Helleu 8fc8f728d4 core: add reverse of string for screen in evaluation of expressions with "revscr:" 2019-10-12 20:14:36 +02:00
Sébastien Helleu 88aa82d672 core: add support of modifiers in evaluation of expressions with "modifier:name,data,string" (issue #60) 2019-10-06 09:13:35 +02:00
Sébastien Helleu e1a4612797 core: ignore color codes in ${length:xxx} and ${lengthscr:xxx} 2019-09-21 13:54:36 +02:00
Sébastien Helleu dcfc4e8ed5 core: add "length:xxx" and "lengthscr:xxx" in evaluation of expressions 2019-09-21 07:56:21 +02:00
Sébastien Helleu 997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Sébastien Helleu 3d95217745 api: return allocated string in hook_info callback and function info_get 2019-04-13 08:42:45 +02:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu 8da3458f4c core: add repeat of string in evaluation of expressions with "repeat:count,string" (closes #958) 2018-10-09 21:12:02 +02:00
Sébastien Helleu 82697714e1 core: fix evaluation of nested ternary operators (closes #1263) 2018-10-08 22:51:08 +02:00
Sébastien Helleu 8abd05fe3d core: replace "long unsigned int" by "unsigned long" 2018-10-01 22:21:25 +02:00
Sébastien Helleu 6bf0dfddd6 core: fix evaluation of condition when the left operand is an empty string 2018-08-18 15:30:16 +02:00
Sébastien Helleu 1a0087a7d7 core: fix string evaluation with regex replacement when the string is empty 2018-08-16 22:45:42 +02:00
Sébastien Helleu dc12f6bef0 fset: fix crash when applying filters after closing the fset buffer (closes #1204) 2018-06-11 23:03:02 +02:00
Sébastien Helleu 1abf4040f1 core: add reverse of string in evaluation of expressions with "rev:" (closes #1200) 2018-06-02 16:01:14 +02:00
Sébastien Helleu 76f3be5260 core: fix infinite loop in evaluation of strings (closes #1183) 2018-04-17 20:27:48 +02:00
Sébastien Helleu 7877e1b8c2 core: add an eval context structure
A pointer to this structure is given as parameter in each eval function called:

- eval_replace_vars
- eval_expression_condition
- eval_replace_regex
2018-04-17 20:27:12 +02:00
Sébastien Helleu ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu 1d56e17b2f core: allow floating point and hexadecimal numbers in comparison of evaluated values 2017-10-17 20:43:40 +02:00
Sébastien Helleu aeeec38d6f core: fix cast of time_t (to "long long" instead of "long") (closes #1051) 2017-08-12 18:36:45 +02:00
Sébastien Helleu a0f1f3fd68 core: remove unused variable "index" in function eval_hdata_get_value 2017-05-28 08:25:41 +02:00
Sébastien Helleu 925e8b79a8 core: allow index for hdata arrays in evaluation of expressions 2017-05-20 00:05:31 +02:00
Simmo Saan 1329dfb57a core: add wildcard matching operators to eval (closes #608) 2017-04-29 17:04:44 +02:00
Sébastien Helleu 49cdbaab38 core: fix check of condition in ${if:...} (evaluated strings) 2017-04-25 19:41:49 +02:00
Sébastien Helleu a96d27f236 core: add new cut formats in function comment 2017-04-25 07:19:02 +02:00
Sébastien Helleu 112bebcddf core: add a way to count the suffix length in max chars displayed in cut of string ("cut:" and "cutscr:") (closes #963)
The format to use is one of:

- ${cut:+max,suffix,string}
- ${cutscr:+max,suffix,string}

With the "+" before max, WeeChat ensures there are at most "max" chars in
output, including the length of suffix string.
2017-04-24 22:37:49 +02:00