--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nsis.rst Thu May 27 15:18:39 2010 +0300
@@ -0,0 +1,66 @@
+-*- mode: outline; coding: utf-8 -*-
+
+* Strings.
+
+String is a sequence of chars. To represent spaces enclose string in quotes.
+To escape quote use $\. ${MACRO_NAME}, $(VAR_NAME) substituted with
+macros/variable values. To escape $ use $$.
+
+ MessageBox MB_OK "I'll be happy" ; this one puts a ' inside a string
+ MessageBox MB_OK 'And he said to me "Hi there!"' ; this one puts a " inside a string
+ MessageBox MB_OK `And he said to me "I'll be happy!"` ; this one puts both ' and "s inside a string
+ MessageBox MB_OK "$\"A quote from a wise man$\" said the wise man" ; this one shows escaping of quotes
+
+* Variables.
+
+Allowed chaacters for variable names: [a-z][A-Z][0-9] and '_'.
+
+** Variable definition.
+
+To declare variable:
+
+ Var NAME
+
+There are exist registers (predefined variable) through them passed args for
+macros/functions/plug-ins:
+
+ $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7, $R8, $R9
+
+To assign value to variable use:
+
+ StrCpy $NAME STRING
+
+To access to there value use such syntax:
+
+ $NAME
+
+** Language strings.
+
+To declare multilingual string use:
+
+ LangString NAME LANGUAGE_ID STRING
+
+For 'LANGUAGE_ID' use '${LANG_ENGLISH}', '${LANG_RUSSIAN}', etc.
+
+To access to there value use such syntax:
+
+ $(NAME)
+
+*** Standard language strings.
+
+You can see list of such var under Contrib\Language Files\*.nlf files, which
+loaded by 'LoadLanguageFile'.
+
+To access to there value use such syntax:
+
+ $(^NAME)
+
+** Macros definition.
+
+To define macro variable:
+
+ !define NAME STRING
+
+To access to there value use such syntax:
+
+ ${NAME}