docs/readme.mdwn
author Myhailo Danylenko <isbear@ukrpost.net>
Fri, 17 Aug 2012 19:09:41 +0300
changeset 30 3a18a8bf797b
parent 29 5d86c5fefef6
child 31 d7b9a5a84f96
permissions -rw-r--r--
Fix readme
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     1
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
     2
# Welcome to Yet Another Yuseless Built-In Language!
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
     3
29
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
     4
This module provides next commands:
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
     5
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
     6
 * 'multi' allows to execute several mcabber commands at once.
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
     7
   Handy for bindings, aliases, hooks and other. Use semicolons
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
     8
   to separate commands (note, however, that commands itself cannot
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
     9
   contain semicolon).
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    10
 * 'if', 'then' and 'else' provide crude conditional construction.
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    11
   'if' evaluates given expression (see 'eval' for rules) and stores
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    12
   result. After that, 'then' and 'else' can be executed as many times,
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    13
   as you need, they will use stored value.
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    14
 * 'let' works like 'set', but assigned value is evaluated first
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    15
   (see 'eval' for rules).
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    16
 * 'eval' evaluates expression and then executes it as mcabber command.
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    17
   Expression can contain unquoted variable names, double-quoted strings,
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    18
   numbers and next operators:
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    19
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    20
    * . string concatenation
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    21
    * : string head
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    22
    * \^ string tail
30
3a18a8bf797b Fix readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 29
diff changeset
    23
    * \+ binary plus / string concatenation
3a18a8bf797b Fix readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 29
diff changeset
    24
    * \- binary minus
29
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    25
    * \* multiplication / string replication
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    26
    * / division
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    27
    * % division remain
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    28
    * \< binary / string less than
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    29
    * \> binary / string greater than
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    30
    * = binary / string equality
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    31
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    32
   All operators have the same priority, and there is no grouping.
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    33
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    34
All commands are marked as safe to use in initial config file.
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    35
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    36
# Installation
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
To install it, you need:
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    39
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    40
 * cmake
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    41
 * make
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    42
 * gcc
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    43
 * glib
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    44
 * mcabber headers
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    45
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    46
Then do
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    47
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    48
    $ mkdir build
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    49
    $ cd build
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    50
    $ cmake ..
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    51
    $ make edit_cache
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    52
    $ make
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    53
    # make install
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    54
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    55
Debian users can instead of make install do
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    56
29
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    57
    $ make package
5d86c5fefef6 Update readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 25
diff changeset
    58
    # dpkg -i libmcabber-yaubil*.deb
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    59
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    60
Users of other distributions can select appropriate package
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    61
generator, using cache editor.
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    62
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    63
# License
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    64
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    65
This code underlies terms of GNU GPL v2 or later. You can find it in file COPYING
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    66
from this distribution or on a GNU web-site <http://www.gnu.org/licenses/>.
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    67
22
37d7ae649929 reformat readme
Myhailo Danylenko <isbear@ukrpost.net>
parents: 21
diff changeset
    68
# Contact
3
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    69
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    70
I will be happy to get feedback, patches, suggestions, etc.
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    71
You can send me email or contact via jabber <isbear@unixzone.org.ua>.
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    72
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    73
  -- Myhailo Danylenko <isbear@ukrpost.net>
7b0b509e02e4 README and TODO
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    74