home *** CD-ROM | disk | FTP | other *** search
/ ftp.texkom.ru / ftp.texkom.ru.tar / ftp.texkom.ru / Plugins.zip / Plugins / SearchAndReplace / s_and_r_Eng.hlf < prev    next >
Text File  |  2003-04-08  |  80KB  |  2,034 lines

  1. .Language=English,English
  2. .PluginContents=Search and Replace
  3.  
  4. @Contents
  5. $^#Search and Replace (version 2.1 of 08.04.2003)#
  6.  
  7.     S&R allows to find and replace data (~any~@CT@ codepage, including Unicode)
  8. or/and hex-codes sequence. Works in panels, in editor and in viewer.
  9. It's possible to use regular expressions and to translate files' codepages!
  10.  
  11.     ~Search and Replace in files~@MainDialog@
  12.     ~Search and Replace in editor~@Editor@
  13.     ~Search in viewer~@Viewer@
  14.     ~Files codepages translating~@Recode@
  15.     ~Support of plugin modules~@SRPlugins@
  16.     ~Temporary panel support~@TmpPanel@
  17.     ~Working with config-file~@INI@
  18.     ~Command line~@CMD@
  19.     ~Configuration~@Config@
  20.     ~Thanks~@thanks@
  21.     ~About the author...~@author@
  22.  
  23. ^~Registration~@reg@
  24.  
  25. @reg
  26. $^#Search And Replace registration#
  27.  
  28.     See License.txt.
  29.  
  30.  ~Contents~@Contents@
  31.  
  32. @author
  33. $ #About the author of this plug-in#
  34.     According to my passport, my name is #Ivan Vladimirovich Sintyurin#, friends
  35. call me #Spinoza# (long ago there was Netherlandish philosopher with such
  36. a name).
  37.  
  38.     Use my plug-in for your own sake and don't forget to vote for it at
  39. plugring:
  40.  
  41. ^~http://plugring.farmanager.com/cgi-bin/voter.cgi?ID=229~@http://plugring.farmanager.com/cgi-bin/voter.cgi?ID=229@
  42.  
  43.     One, who doesn't like it - recall F8. One, who has found bugs - inform me.
  44. Just don't storm, have pity on my nerves...
  45.  
  46.     My site: ~http://www.moris.ru/~~spinoza~@http://www.moris.ru/~spinoza@
  47.     E-mail : ~spinoza@@mail.ru~@mailto:Spinoza@@mail.ru?Subject=S_AND_R@
  48.  
  49.  #P.S. You can play on-line games at the site!#
  50.  
  51.  ~Contents~@Contents@
  52.  
  53. @Recode
  54. $^#Files codepage translation#
  55.  
  56.     Yes, you haven't heard amiss - s&r can translate files from any
  57. codepage (OEM, ANSI or ~any~@CT@ one installed in Far, except Unicode) into
  58. any other! You can do it the following way:
  59.  1. Run this plug-in in panels.
  60.  2. Search string: #.*# (or #.*# - it depends on ~configuration~@CfgSearch@)
  61.     Replacement string: #$0#
  62.     [ ] Delete trash
  63.     [#x#] Regular expressions
  64.     [#x#] Process several lines
  65.     #Table#               - refers to original files codepage
  66.     #[x] Translate into:# - codepage you want to translate into.
  67.  3. Other options is your own choice.
  68.  4. Press #OK#.
  69.  
  70.    Also you can save these settings as a ~scheme~@SchemeIs@ not to waste time
  71. setting them up later, but to choose them from menu.
  72.  
  73.  ~Contents~@Contents@
  74. @PMenu
  75. $^#Search and Replace in panels#
  76.  
  77.   1. ~Search and Replace in files~@MainDialog@
  78.   2. ~Search in files~@MainDialog@ (the same as previous, but only
  79.      search will be performed)
  80.   3. ~Replace in files~@MainDialog@ (the same as first, but only
  81.      replace will be performed)
  82.   4. ~Temporary panel~@TmpPanel@
  83.   0. ~Plugin commands~@SRPlugins@
  84.  
  85. ^#Available commands:#
  86.  
  87.     #Enter#      Execute menu item.
  88.  
  89.     #Esc#        Close the menu.
  90.  
  91.     #Ctrl-PgUp#  Same as #Esc#
  92.  
  93.     #Ctrl-PgDn#  Same as #Enter#
  94.  
  95.  
  96.  ~Contents~@Contents@
  97. @SRPlugins
  98. $^#Support of plugin modules#
  99.  
  100.     #External SRP modules# (plugins for S&R) may be used to implement new S&R
  101. commands. For example, "rename files" command is realized by a plugin module.
  102.  
  103.     All plugins are stored in separate folders within the '#SRPlugins#' folder
  104. (default), which is in the same folder as s_and_r.dll. Information about plugin
  105. modules is stored in the cache (SRPCache), which is located in the same folder as
  106. SRPlugins. You can change this folder in the ~configuration~@CfgOther@. Note,
  107. that relative links in the srp-modules help will work only if the '#SRPlugins#'
  108. folder is stored in s_and_r.dll folder.
  109.  
  110.     For operations acceleration automatic scan for new plugin modules is
  111. not supported. It will be done only if:
  112.  - SRPCache file is not found
  113.  - SRPCache has wrong format
  114.  - language information stored in SRPCache differs from current Far
  115.    language
  116.  - user himself has demanded SRPCache usage (ctrl-r in the menu)
  117.  
  118.     For resources expenditures decrease, plugin modules will be unloaded
  119. from memory immediately after their usage, therefore you can delete / change them
  120. "on the fly" without restarting S&R. If you are sure that some plugins are useless
  121. for you, you may remove them to save disk space.
  122.  
  123. ^#Available commands:#
  124.  
  125.     #Enter#      Start plugin module.
  126.  
  127.     #F4#         Assign hot key to menu item.
  128.  
  129.     #Esc#        Close the menu.
  130.  
  131.     #Ctrl-Up#    Move menu item up.
  132.  
  133.     #Ctrl-Down#  Move menu item down.
  134.  
  135.     #Ctrl-PgUp#  Go to previous menu.
  136.  
  137.     #Ctrl-PgDn#  Same as #Enter#
  138.  
  139.     #Ctrl-R#     Perform plugin modules list update. Use this command
  140.                if you have changed or deleted old plugin module or
  141.                added a new one.
  142.  
  143.     #Shift-F1#   Show #Contents# topic of selected plugin module.
  144.  
  145.  ~Contents~@Contents@
  146. @FileMask
  147. $^#File masks format#
  148.  
  149.     File mask can be one of two kinds: #mask is a regular expression# and
  150. #FAR standard mask#. First character of file mask defines file mask type.
  151. If the first character is '#/#', mask is considered to be a
  152. #regular expression#.
  153.     #Examples#:
  154.      /^.+\.bak$/i  - file mask is a regexp
  155.      *.bak         - standard file mask
  156.  
  157. ^#File-mask is a regular expression#
  158.  
  159.     See ~regexps help~@RegExp@. Some ~settings~@CfgSearch@
  160. "#Replace $ to \r\n when searching with regexps#" and
  161. "#Work without // when searching with regexps#" are ignored for file mask
  162. string.
  163.  
  164. ^#File-mask is not a regular expression#
  165.  
  166.     In this case format of a file mask is almost the same as standard
  167. ~masks of files~@:FileMasks@ in FAR. Existing differences are:
  168.  1. You can use '#,#' & '#;#' as separator of masks.
  169.  2. You can specify "#exclude masks#" (i.e. mask of files not to be
  170. processed), having carved out it from the main mask by '#|#' character.
  171.  
  172. ^#Examples of using exclusion masks#:
  173.  1. *.cpp
  174.     All files with "cpp" extension.
  175.  2. *.*#|#*.bak,*.tmp
  176.     All files, except files with "bak" or "tmp" extension.
  177.  3. *.*#|#
  178.     Error: exclude mask is not specified.
  179.  4. *.*#|#*.bak#|#*.tmp
  180.     Error: character '#|#' may be used only once.
  181.  5. #|#*.bak
  182.     Same as *#|#*.bak
  183.  
  184.  ~Contents~@Contents@
  185. @MainDialog
  186. $^#Search and Replace in files#
  187.  
  188.     If you use ~regexps~@SANDRWithRE@, there are two sections for you:
  189.     1. What can ~search string~@RegExp@ contain.
  190.     2. What can ~replace string~@ReplaceRegExp@ contain.
  191.  
  192.     If you don't use regexps, see help on search and replace
  193. ~strings format~@stringformat@.
  194.  
  195.  
  196.  #File-mask#           Enter ~mask~@FileMask@ of target items to process here
  197.                      (see "#Target#" dropdown list)
  198.  
  199.  #Replace with#        If this option is set, replacing will be
  200.                      performed, else - simple search will.
  201.  
  202.  #Save a copy of#      Copies have BAK extension, if such a file
  203.  #the original file#   already exists, suffix will be 000.BAK (or
  204.                      001.BAK, 002.BAK, 003.BAK etc)
  205.  
  206.  #Confirmation#        If this option is set, you'll have to ~confirm~@SureReplace@
  207.  #of replacement#      replacements.
  208.  
  209.  #Save replace#        Name of the file to receive the replacement
  210.  #data to file#        data. If this field is not empty all replacement
  211.                      data will be placed into the specified file -
  212.                      the same result as if you're working with option
  213.                      #Delete trash#, but original files will not be
  214.                      changed. It's possible to use environment
  215.                      variables here. Replace string cannot be null.
  216.  
  217.  #Search in selected#  Process only selected elements of the folder.
  218.                      If several folders are selected, searching there
  219.                      (if #Process subfolders# option is set) goes
  220.                      with the specified mask. If nothing is selected,
  221.                      file/folder under cursor is processed.
  222.  
  223.  #Search with#         All files in the current folder and subfolders,
  224.  #file-mask#           matching specified file-mask are to be
  225.                      processed, if the corresponding option is set.
  226.  
  227.  #Search in folders#   Search with file-mask is performed in
  228.                      ~folders list~@DirList@ (and in their subfolders, if
  229.                      #Process subfolders# option is set).
  230.  
  231.  #Target#              Using this dropdown list you can specify type
  232.                      of file system object to process. If the list is
  233.                      disabled, only files will be processed. List
  234.                      appears in dialog only in FAR 1.70 build 1282
  235.                      and above.
  236.  
  237.  #More options#        Use ~extended~@ExtendedSearchOptions@ search parameters. To set them up,
  238.                      press the nearby button.
  239.  
  240.  #Case sensitive#      To adjust this parameter, when searching with
  241.                      ~regexps~@RegExp@, in depend of ~settings~@CfgSearch@ use the #i#
  242.                      parameter or this option.
  243.  
  244.  #Regular#             Enable work with ~regular expressions~@SANDRWithRE@
  245.  #expressions#         in search and replace strings.
  246.  
  247.  #Whole words#         Plug-in will search only for ~words~@word@.
  248.                      Option makes sense when searching without
  249.                      regexps.
  250.  
  251.  #Process#             When searching with ~regexps~@RegExp@, depending on
  252.  #several lines#       the ~configuration~@CfgSearch@ use #s# parameter
  253.                      or this option.
  254.  
  255.  #Ignore spaces#       When searching with ~regexps~@RegExp@, depending on
  256.                      the ~configuration~@CfgSearch@ use #x# parameter
  257.                      or this option.
  258.  
  259.  #Delete trash#        Only the replace string will be written to the
  260.                      file, all the rest of the data will be erased.
  261.                      Replace string cannot be null!
  262.  
  263.  #Table#               Plug-in searches data in this ~codepage~@CT@. You can
  264.                      press this button and choose another codepage
  265.                      (OEM, ANSI, Unicode or any other installed
  266.                      in Far). If you choose "#All character tables#"
  267.                      search will be performed in following order:
  268.                      1. If custom character tables are installed:
  269.                         OEM, custom character tables, Unicode.
  270.                      2. If custom character tables are absent:
  271.                         OEM, ANSI, Unicode.
  272.  
  273.  #Translate#           If this option is set, plug-in will translate
  274.                      replacement data in selected codepage (selection
  275.                      is performed after pressing button "#into:#").
  276.                      This feature is not accessible when working with
  277.                      Unicode. Notice, that not the whole file is
  278.                      translated, but only the replacement data.
  279.                      If you like, you may translate the whole file!
  280.                      ~Details...~@Recode@
  281.  
  282.  #Count#               Proceed with #search# with specified criteria and
  283.                      display number of search string occurrences
  284.                      found. Replacement string is ignored.
  285.  
  286.  #Scheme#              Call ~schemes~@SchemeIs@ manipulations ~menu~@Scheme@.
  287.                      You can choose one of first 10 schemes without
  288.                      opening the menu using the following keys
  289.                      combination: #Alt-Shift-0#, #Alt-Shift-1#, ...,
  290.                      #Alt-Shift-9# (this will work only in FAR 1.70
  291.                      build 1282 and above).
  292.  
  293.  #Save#                Save current parameters as a ~scheme~@SchemeIs@
  294.                      (you'll be prompted for the scheme name).
  295.  
  296.  ~Contents~@Contents@
  297. @DirList
  298. $^#Folders list format#
  299.  
  300.     Folders list is a semicolon-delimited (or a comma-delimited) folders names
  301. list. If folder name contains '#;#' or '#,#' character it must be enclosed by
  302. quotes. It's possible to use environment variables here.
  303. Folder name can be both relative and absolute.
  304.     If the first symbol in folders list is '#*#', the rest of the list is
  305. ignored, and this symbol is replaced by the list of root folders of all
  306. fixed disks.
  307.  
  308. ^#Example 1:#
  309.  
  310.     Active folder: #e:\work#
  311.     Folders list: #temp;%windir%;..\gate\test;"samples;"#
  312.  
  313.     Search is performed in the following folders:
  314.     1. #e:\work\temp#
  315.     2. #d:\win2k# (contents of %windir% environment variable)
  316.     3. #e:\gate\test#
  317.     4. #e:\work\samples;#
  318.  
  319. ^#Example 2:#
  320.  
  321.     List similar to #*temp;%windir%;..\gate\test# will be replaced by
  322. #c:\;d:\;e:\;f:\# (in case of fixed disks #c#, #d#, #e#, #f# presence),
  323. and search goes as usual.
  324.  
  325.  ~Contents~@Contents@
  326. @stringformat
  327. $^#Search and Replace strings format#
  328.  
  329.     Search may be case sensitive and case insensitive!
  330.  
  331.     If #case sensitive# search is performed,
  332. the only thing being searched is the one you've typed as a search
  333. string, and it is replaced with the contents of replace string (i.e. signal
  334. symbol #%# is ignored - it is treated as a mere symbol).
  335.  
  336.     In other cases the string may contain as text, as hex-codes sequence.
  337. Signal symbol #%# is just for that. It marks the beginning and the end
  338. of hex-codes. To use #%# symbol as a mere one, type it twice.
  339.  
  340. @-
  341. ^#Search and replacement strings examples#
  342. ^#(case sensitive mode):#
  343. @+
  344.  
  345.  String:     Program's inner presentation (symbols):
  346.  
  347.  #ABC#         A, B, C
  348.  #ABC%%#       A, B, C, %
  349.  #ABC%%%0d0a%# A, B, C, %, 0x0D, 0x0A
  350.  
  351. @-
  352. ^#Search and replacement strings examples#
  353. ^#(case insensitive mode):#
  354. @+
  355.  
  356.  String:     Program's inner presentation (symbols):
  357.  
  358.  #ABC%%#       A, B, C, %, %
  359.  
  360.  ~What mistakes could be expected?~@WrongString@
  361.  
  362.  ~Contents~@Contents@
  363. @WrongString
  364. $^#Possible# user's mistakes in search/replacement strings
  365. $^(only in case sensitive mode)
  366.  
  367.  1. Odd number of '#%#' symbols
  368.  2. Odd number of symbols between '#%#'
  369.     Wrong: %d0a%, right %0d0a%
  370.  3. Hex-codes sequence may not contain symbols outside of
  371.     #0-9#, #A-F#, #a-f# range
  372.  
  373.  ~Contents~@Contents@
  374. @RegExp
  375. $^#Search regexps syntax description#
  376. $^#from Konstantin Stupnik (with my comments)#
  377.  
  378.     The syntax almost completely coincides with Perl.
  379.  
  380.     General syntax is: #regexp# or /#regexp#/#options#
  381. (depend of ~configuration~@CfgSearch@).
  382.  
  383.     #Options#:
  384.     i - ignore case (see also ~configuration~@CfgSearch@).
  385.     s - process all input as single-line text. '.' matches any
  386.         character (see also ~configuration~@CfgSearch@).
  387.     m - process all input as multi-line text. ^ and $
  388.         match respectively any beginning/end of any "internal"
  389.         line (see also ~configuration~@CfgSearch@).
  390.     x - spacer. Ignored if not preceded by a backslash. Useful
  391.         for structuring complex expressions (see also ~configuration~@CfgSearch@).
  392.  
  393.     #regexp# - sequence of characters and metacharacters. Letters and numbers
  394. act as characters. All the rest potentially is metacharacters, since
  395. everything that is not a letter or a digit should be explicitly specified as
  396. a character. Thus, to enter a non-alphanumeric character you will need to
  397. enter also a preceding \ (backslash).
  398.  
  399.     All slashes (#/# and #\#) in your regexp have to be prefixed by the special
  400. symbol "#\#", because single slash can be confused with other special symbols
  401. or with the end of regular expression.
  402.  
  403.  
  404. ^#Metacharacters#
  405.     \ - specifies that the next character will be treated as a
  406.         character (not as a metacharacter).
  407.     . - any character except for line feed. If there is an #s#
  408.         in the options, then matches any character.
  409.         #Comment:# see option "~Process several lines~@MainDialog@"
  410.         and ~search configuration~@CfgSearch@.
  411.  
  412.     ^ - beginning of line. If the #m# option is specified, then
  413.         the beginning of any line within the text is matched,
  414.         otherwise - only the beginning of the whole text.
  415.     $ - end of line. If the #m# option is specified, then the
  416.         end of any line within the text is matched, otherwise
  417.         - only the end of the whole text.
  418.         #Comment:# in viewer and panels files processed by
  419. some part at once, that's why special symbol $ means
  420. #end of data when working in panels and viewer# (for small files $
  421. matches the end of file) and #end of the line when working in editor#.
  422. If you want $ to mean end of the line (\r\n) when working in
  423. panels and in viewer, it must be set up in ~configuration~@CfgSearch@.
  424.  
  425.     |  - alternative ( OR ). Matches either the expression before
  426.          or the expression after |.
  427.  
  428.     () - grouping. Grouping serves either for using backreferences
  429.          or to specify the matching fragment within the parentheses
  430.          for replacement.
  431.     [] - class of characters. A Class of characters determines lists
  432.          or ranges of characters. It matches any of the characters
  433.          listed within the #[]# (or within one of the listed ranges).
  434.          Continuous ranges are specified as [a-z].
  435.          Generally you cannot use other metacharacters inside
  436.          classes. Placing a #^# in the first position of a set
  437.          inverts it (the set becomes negative). If you want to use
  438.          the #^# as a character, it should either be not in the first
  439.          position or be preceded by a backslash.
  440.  
  441.     Apart from grouping, round brackets are used for the following operations:
  442.     (?:pattern)  - same as regular grouping, except for this match
  443.                    won't be saved and thus obtains no reference
  444.                    number (N).
  445.     (?=pattern)  - zero-width positive lookahead assertion.
  446.                    For example, #\w+(?=\s)# matches a word followed
  447.                    by whitespace, without including the whitespace
  448.                    in the MatchResult.
  449.     (?!pattern)  - zero-width negative lookahead assertion. For
  450.                    example #foo(?!bar)# matches any occurrence of "foo"
  451.                    that isn't followed by "bar". Remember that this
  452.                    is a zero-width assertion, which means that
  453.                    #a(?!b)d# will match #ad# because #a# is followed by
  454.                    a character that is not #b# (the #d#) and a #d#
  455.                    follows the zero-width assertion.
  456.     (?<=pattern) - zero-width positive backward assertion. The
  457.                    pattern should be of fixed length, i.e.
  458.                    quantifiers cannot be used.
  459.     (?<!pattern) - zero-width negative backward assertion. The
  460.                    pattern should be of fixed length, i.e.
  461.                    quantifiers cannot be used.
  462.  
  463.     Also you can create brackets with name: (?{name}pattern)
  464.     Name can be empty (in such case you cannot refer to this brackets) or must
  465. contain word symbols (\w) and spaces (\s).
  466.  
  467.  
  468.  
  469. ^#Quantifiers#
  470.      Each character, group or class can be followed by one of quantifiers:
  471.  
  472.      ?      - greedy match (0 or 1 times).
  473.      ??     - non-greedy match (0 or 1 times).
  474.      *      - greedy match (0 or more times).
  475.      *?     - non-greedy match (0 or more times)
  476.      +      - greedy match (1 or more times).
  477.      +?     - non-greedy match (1 or more times).
  478.      {n}    - match exactly n times.
  479.      {n,}   - greedy match (n or more times).
  480.      {n,}?  - non-greedy match (n or more times).
  481.      {n,m}  - greedy match (greater or equal than n,
  482.               less or equal than m times).
  483.      {n,m}? - non-greedy match (greater or equal
  484.               than n, less or equal than m times).
  485.  
  486.  
  487. ^#Greedy and non-greedy quantifiers#
  488.  
  489.      A greedy quantifier attempts to match as much of text as possible. Only
  490. if the next iteration is unsuccessful it "releases" the captured characters
  491. (this is called "rollback" - a rather time- and resource-consuming procedure).
  492.      E.g. if we attempt to match the "A.*Z" expression against the string:
  493. "AZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" then the #.*# will first capture all of
  494. the string and then will sequentially roll back until it finds the Z
  495. character. If we use the non-greedy quantifier "A.*?Z", then the Z character
  496. will be found immediately. A non-greedy quantifier is also called a #minimizing#
  497. quantifier, since it tends to capture the minimal possible amount of
  498. characters and tries to add more only if it did not match the string.
  499.  
  500.  
  501. ^#Special characters#
  502.  
  503. Backslash should be used before non-alphabetic characters. Alphabetic
  504. characters preceded by a backslash designate special characters:
  505.  
  506.     \t - tab (0x09)
  507.     \n - new line (lf, 0x0a)
  508.     \r - return(cr, 0x0d)
  509.     \f - form feed (0x0c)
  510.     \a - bell (0x07)
  511.     \e - escape (0x1b)
  512.     \xNN - a character in hexadecimal notation,
  513.            where N belongs to the set [0-9A-Fa-f].
  514.     \Q - beginning of metacharacter quotation
  515.     \E - end of metacharacter quotation
  516.     \w - letter, digit or '_'.
  517.     \W - not \w
  518.     \s - whitespace character (tab/space/lf/cr).
  519.     \S - not \s
  520.     \d - digit
  521.     \D - not \d
  522.     \i - letter
  523.     \I - not \i
  524.     \l - lowercase character
  525.     \L - not a lowercase character
  526.     \u - uppercase character
  527.     \U - not an uppercase character
  528.     \b - null token matching a word boundary
  529.          \b means that a character which is a part of a
  530.          word (\w) is located on the right or on the left
  531.          of the current position, with a spacer/separator
  532.          character (\W) on the opposite side.
  533.     \B - not \b
  534.     \A - text beginning (not depends on option #m# state)
  535.     \Z - text end (not depends on option #m# state)
  536.     \NN - backreference to previously matched group in
  537.           round brackets. NN - decimal integer (0-15).
  538.           Each bracket except (?:pattern), (?=pattern),
  539.           (?!pattern), (?<=pattern), (?<!pattern) and
  540.           (?{name}pattern) has number (depends on order
  541.           of appearing of opening bracket).
  542.           Example: "(['"])hello\1" matches the "hello" and
  543.           'hello'.
  544.  
  545.     \p{name} - inner regexp reference to it's parsed
  546.                bracket with specified #name#.
  547.  
  548.  
  549. ^#Examples#
  550.  "foobar"
  551.     matches "foobar", "foobar barfoo"
  552.  / FOO bar /ix
  553.     matches "foobar" "FOOBAR"
  554.  "(foo)?bar"
  555.     matches "foobar", "bar"
  556.  "^foobar$"
  557.     matches _only_ "foobar" (not "foofoofoobarfoobar")
  558.  "[\d\.]+"
  559.     Any number with decimal point
  560.  "(foo|bar)+"
  561.     matches "foofoofoobarfoobar", "bar"
  562.  "\Q.)))$\E"
  563.     equal to "\.\)\)\)\$"
  564.  
  565.  ~Contents~@Contents@
  566. @ReplaceRegExp
  567. $^#Replace string operators#
  568.  
  569.     In string of replacement apart from customary characters you can use
  570. special operators - regular expressions for replacement string. They are
  571. conditionally divided into three groups - those, which work everywhere,
  572. which work only when processing files group (i.e. in panels) and influential
  573. to other operators (manipulating width of output).
  574.  
  575. ^#1. Operators which work everywhere#
  576.  
  577.  \\          The '\' symbol
  578.  \[          The '[' symbol
  579.  \{          The '{' symbol
  580.  \-          The '-' symbol
  581.  \$          The '$' symbol
  582.  
  583.  \t          0x09 (tab)
  584.  \n          0x0A (lf).
  585.  \r          0x0D (cr).
  586.  In editor, when S&R meets "\r", "\n" or "\r\n" it inserts one new string in a
  587. file.
  588.  
  589.  \t          0x09 (tab)
  590.  \L          Lowercase symbols starting current position
  591.              (affects symbols till \U, \u, \l, \I, \i, \/ or \E)
  592.  \U          Uppercase symbols starting the current position
  593.              (affects symbols till \L, \l, \u, \I, \i, \/ or \E)
  594.  \I          Invert case of symbols (uppercase lowercased symbols
  595.              and lowercase uppercased symbols) starting the
  596.              current position (affects symbols till \L, \l,
  597.              \U, \u, \i, \/ or \E)
  598.  \/          Stop changing case (used to cancel \U, \L or \I)
  599.  \l          Lowercase next symbol
  600.  \u          Uppercase next symbol
  601.  \i          Invert case of next symbol
  602.  
  603.  \Q          Beginning of operators quotation - all in quotation
  604.              will be processed as text, not a regexp, till
  605.              operator \E
  606.  \E          Means end of operators quotation if follows after
  607.              \Q, otherwise - command to stop case changing
  608.              (the same as \/)
  609.  
  610.  \xNN        NN is a hex-code
  611.  \D{#T#}       Date and time of replacement performed.
  612.              #T# stands for the proper value:
  613.              Y - year
  614.              M - month
  615.              D - day
  616.              h - hour
  617.              m - minute
  618.              s - second
  619.  $0 - $9,    Found groups numbers. The corresponding group
  620.  $A - $F     is substituted in the string while processing.
  621.              $0 means the whole occurrence.
  622.  $#{#name#}#     Found pattern with specified #name#.
  623.  $#{#name#}#     Environment variable with specified #name#.
  624.  $$          Equals "\r\n".
  625.  
  626.  \##          Substitute ~counter~@counter@ value
  627.  \##{number}  Substitute ~counter~@counter@ value, incremented by #number# in
  628.              parentheses.
  629.  \##{#-#number} Substitute ~counter~@counter@ value, decremented by #number# in
  630.              parentheses.
  631.  \##{number#h#} Substitute ~counter~@counter@ value as hexadecimal, incremented
  632.              by hexadecimal number in parentheses.
  633.  
  634.  \##{number,#size#}, \##{#-#number,#size#} or \##{number#h#,#size#}
  635.              Similar to the previous counter insertion operators, but
  636.              the number of digits of substituted number is also
  637.              checked. If it's less than #size# parameter value, then
  638.              it is prefixed with corresponding number of zeroes.
  639.              #size# parameter value is limited by 2 and 10.
  640.  
  641.  \##{number,#size#,#s#} or \##{#-#number,#size#,#s#}
  642.              Similar to the previous counter insertion operators, but
  643.              #+# or #-# sign is always included.
  644.  
  645. ^#2. Operators which are working only with processing of files group#
  646.  
  647.  \P         Path to an object, equal to \P{F,\,L}
  648.  \P{#T#,#D#,#N#}  path to an object which is being processed.
  649.             #T# - type, can be one of following:
  650.                 F - full folder name with path
  651.                 P - the same as F, but without drive letter
  652.                     (i.e. only that is arranged after the character
  653.                     '#:#')
  654.                 N - only name of the folder
  655.                 D - only drive letter
  656.                     (i.e. only that is arranged before the character
  657.                     '#:#')
  658.                 R - relative path
  659.                 #Comments:# in all cases except #R# path will be given
  660.                 without separator character at the end of string.
  661.             #D# - separator character which must separate folders
  662.                 names in a path. Can by, for example, \ or /
  663.             #N# - specify the type of the folder name
  664.                 L - normal (long)
  665.                 S - short
  666.  $I         Internet shortcut, use it only for *.url files.
  667.  \V{#N#}      Version of the file which is being processed (from
  668.             versioninfo resource).
  669.             #N# can be one of following:
  670.                 0 -  "CompanyName"
  671.                 1 -  "FileDescription"
  672.                 2 -  "FileVersion"
  673.                 3 -  "InternalName"
  674.                 4 -  "LegalCopyright"
  675.                 5 -  "OriginalFilename"
  676.                 6 -  "ProductName"
  677.                 7 -  "ProductVersion"
  678.                 8 -  "Comments"
  679.                 9 -  "LegalTrademarks"
  680.                 A -  "Language"
  681.                 B -  "FileType"
  682.                 C -  "FileOS"
  683.                 D -  "FileFlags"
  684.                 E -  file version (data from VS_FIXEDFILEINFO)
  685.                 F -  product version (data from VS_FIXEDFILEINFO)
  686.                 #Remark:# verioninfo is processed only if file
  687.                 size less 4G.
  688.  \F         Name of the object, equal to \F{F,L}
  689.  \F{#T#,#N#}    Name of the object which is being processed.
  690.             #T# - the type, can be one of following:
  691.                 F - name.extension
  692.                 N - name
  693.                 E - extension
  694.             #N# - specify type of the name:
  695.                 L - normal (long)
  696.                 S - short
  697.  \Y{#T#,#P#}    Date and time of the object which is being processed.
  698.             #T# - the same as "T" parameter of the \D{#T#} operator.
  699.             #P# - specify kind of the date and time:
  700.                 A - last access
  701.                 M - last change
  702.                 C - creation
  703.  \S         Size in bytes of the object which is being processed
  704.             (equal to \S{B})
  705.  \S{#RS#}   Size of the object which is being processed
  706.             #R# - specifies a unit of measurements (size in bytes is
  707.             divided on a unit of measurements, the fractional part
  708.             is rejected):
  709.                 B - bytes
  710.                 K - kilobytes
  711.                 M - megabytes
  712.                 G - gigabytes
  713.             #S# - symbol for placing between groups of categories.
  714.                   If this parameter does not exist number will not
  715.                   divided on groups of categories.
  716.  
  717.  
  718. ^#3. Manipulating width of output#
  719.  
  720.     Using special suffix you can specify #width of output# for one of following
  721. operators: counter (\##, \##{...}), group ($0-$F), environment variable ($(...)),
  722. date and time (\D{...}, \Y{...}), path (\P, \P{...}), shortcut ($I), version
  723. (\V{...}), name (\F, \F{...}), size (\S). A suffix will be processed as the
  724. sequence of customary characters for the other operators.
  725.  
  726.     If the sequence of characters, substituted by the operator, will be less
  727. than width of output, its #alignment# will be performed by necessary amount
  728. of symbols-fillers (spaces by default) addition according to width of output.
  729. If the substituted sequence is longer than width of output, its superfluous
  730. part will be cut, and the dots will be pasted into a place of cut.
  731.  
  732.     Format of the suffix:
  733.   #-#{#A#,#NNN#}
  734.    #A#   - type of alignment, can be one of following:
  735.          #R# - right
  736.          #L# - left
  737.          #C# - center
  738.    #NNN# - size of output width: decimal value between 1 and 255.
  739.  
  740.     By default cutting superfluous happens on the right, but you can change this
  741. order, in this case the suffix must have the next format:
  742.   #-#{#A#,#NNN#,#T#}
  743.     #A#, #NNN# - see above.
  744.     #T#  - specify which part must be cut, can be:
  745.          #R# - cut right part
  746.          #L# - cut left part
  747.  
  748.     If you want use symbol-filler which is differ from space, suffix format
  749. will be the following:
  750.   #-#{#A#,#NNN#,#T#,#S#}
  751.     #A#, #NNN#, #T# - see above
  752.     #S#  - symbol-filler. If you want use brace ("}"),
  753.          put before brace one backslash ("\").
  754.  
  755.     Example of using suffix:
  756.     "$1-{C,20}" - paste no more than 20 characters from the first
  757.                   retrieved group and center them.
  758.  ~Contents~@Contents@
  759. @counter
  760. $^#Counter#
  761.  
  762.     #Counter# is a variable, incremented by one as every replacement is
  763. performed. Initial value is zero.
  764.  
  765.     When working in panels, depending on the ~configuration~@CfgReplace@
  766. counter sets equal to 0 for every processed file or stays the same for all
  767. of the files.
  768.  
  769.  ~Contents~@Contents@
  770. @WrongRegExp
  771. $^#Wrong regexps in search/replace string#
  772.  
  773.     See regular expressions syntax:
  774.     ~Search regexps~@RegExp@
  775.     ~Replace regexps~@ReplaceRegExp@
  776.  
  777.  ~Contents~@Contents@
  778. @SANDRWithRE
  779. $^#Search and Replace with regular expressions#
  780.  
  781.     To work with regular expressions while searching, regexp parsing module
  782. by ~Konstantin Stupnik~@thanks@ is used. See author's regexps
  783. ~description~@RegExp@. ~Remark~@CT@.
  784.  
  785.     ~Replacement string operators~@ReplaceRegExp@ are different and their
  786. coincidence with any other regexps is occasional.
  787.  
  788.  ~Contents~@Contents@
  789. @thanks
  790. $^#Thanks, or "The country should know its heroes" :)#
  791.  
  792.     I would like #to thank#:
  793.  
  794.  1.  #Eugene Roshal# for... FAR! :-)
  795.  
  796.  2.  #Igor Ruskih# for ideas, testing, wonderful Colorer and its
  797.                  sources.
  798.      E-mail: ruiv@@uic.nnov.ru
  799.      WWW   : http://www.uic.nnov.ru/~~ruiv
  800.  
  801.  2.  #Konstantin Stupnik# for refinement of regexps parser.
  802.      E-mail: skv@@dvl.novosoft.ru
  803.  
  804.  4.  #Igor Lyubimov# for ideas flow and self-denying testing.
  805.      E-mail: mr_july@@mail.ru
  806.  
  807.  5.  #Alexander Krynko# for translating hlf&lng to Ukrainian.
  808.      E-mail: sky@@prog.pib.com.ua
  809.  
  810.  6.  #DoctoR# for translating hlf&lng to Ukrainian.
  811.      E-mail: doctor@@skeptik.net
  812.      WWW   : http://dr-gng.dp.ua
  813.  
  814.  7.  #Konstantin Dyakov# for translating help into English.
  815.      E-mail: dyakovkm@@paris.com
  816.      WWW   : http://dyakovkm.newmail.ru
  817.  
  818.  8.  #Anton Lykov# for translating help&faq into English, and
  819.                  for testing.
  820.      E-mail: last@@last.ulsu.ru
  821.  
  822.  9.  #Valentin Skirdin# for sources of "versioninfo" plugin module
  823.                       and for testing.
  824.      E-mail: vskirdin@@mail.ru
  825.      WWW   : http://www.halyava.ru/skirda
  826.  
  827.  10. #Nataliya Lukyanova# for translating manual into English.
  828.      E-mail: nat_lu2002@@yahoo.co.uk
  829.  
  830.  11. #All of those, who were not lazy, and became a ~registered~@reg@#
  831.      #Search And Replace user.#
  832.  
  833.  ~Contents~@Contents@
  834. @SureReplace
  835. $^#Replace confirmation#
  836.  
  837.   #Offset#        Offset of data found (decimal)
  838.  
  839.   #Save to#       ~Name~@MainDialog@ of file for placing replacement data,
  840.                 if you specify to do this.
  841.  
  842. ^#Make your choice#
  843.  
  844.   #Replace#       Proceed with replacement
  845.   #All in file#   Proceed with replacement in the whole file
  846.                 without confirmations
  847.   #All in files#  Proceed with replacement in all files
  848.                 without confirmations
  849.   #Skip#          Do not replace this occurrence
  850.   #Skip in this#  Do not replace anything in this file
  851.   #file#
  852.   #Cancel#        Stop processing (all the changes for the current
  853.                 file are cancelled).
  854.  
  855.   Pressing #ESC# is similar to pressing the #"Cancel"# button.
  856.  
  857.  ~Contents~@Contents@
  858. @Config
  859. $^#Search and Replace options#
  860.  
  861.      Configuration editing in "Search and Replace" is implemented by
  862. special 2nd level plug-in, which is represented by files config.msg and
  863. config.srp, this plug-in should be located in "S&R\System\Config" folder.
  864.  
  865.   ~Search options~@CfgSearch@
  866.   ~Replacement options~@CfgReplace@
  867.   ~History options~@CfgHistory@
  868.   ~Messages options~@CfgMsg@
  869.   ~Temporary panel~@CfgTempPanel@
  870.   ~File-type settings~@FATypes@
  871.   ~Other options~@CfgOther@
  872.  
  873.  ~Contents~@Contents@
  874. @CfgSearch
  875. $^#Search options#
  876.  
  877.   #Replace $ to \r\n#     This option affects only work in panels
  878.   #when searching with#   and viewer. Set it, and in search string
  879.   #regexps#               you will be able to type #$# to indicate
  880.                         end of the line. This option is ignored in
  881.                         editor. It is treated as turned off, and
  882.                         #$# always means "~end of line~@RegExp@".
  883.                         #Remark:# you can turn off this option in
  884.                         S&R 2.0 and above if option "#Work without //#
  885.                         #when searching with regexps#" is on, because
  886.                         ~m~@RegExp@ option exists.
  887.  
  888.   #Work without //#       When this option is set, there is no
  889.   #when searching#        necessity to enclose the search string in
  890.   #with regexps#          slashes. In this case the options ~i~@RegExp@
  891.                         (ignore the case) and ~x~@RegExp@ is set up
  892.                         automatically depending on the "Case
  893.                         sensitive" and "Ignore spaces" settings,
  894.                         the ~s~@RegExp@ option depending on the "Process
  895.                         several lines" setting, and the ~m~@RegExp@ option
  896.                         is turned on always.
  897.  
  898.   #Use string from#       This option affects only work in ~editor~@Editor@:
  899.   #a history if there#    #Search the word under the cursor#, #Reverse#
  900.   #is no word under#      #search of the word under the cursor#, #Find all#
  901.   #the cursor#            #occurrences of the word under cursor#. If this
  902.                         option is set and there is no word under the
  903.                         cursor, the "word" is equal to what you've
  904.                         used as the search string at last time.
  905.  
  906.   #Store found#           If this option is set, the program will not
  907.   #occurrences in#        always rescan file while performing some
  908.   #cache (in editor)#     functions, which show the menu with found
  909.                         lines. This feature decreases time for
  910.                         performing of such functions. You can force
  911.                         rescan file by pressing #Ctrl-R# in the ~menu~@EdLOF@.
  912.                         The cache is stored separately for each
  913.                         opened file.
  914.  
  915.   #Select found#          Default value for the option with same name
  916.   #in editor#             in ~search~@EdSearch@ and ~replace~@Replace@ dialogs in editor.
  917.  
  918.   #Pick up the word#      If this option is set on when you open
  919.   #in editor#             ~search~@EdSearch@, ~replace~@Replace@ and ~delete not matched lines~@EdDelete@
  920.                         dialogs the current word under cursor will be
  921.                         put into search line.
  922.  
  923.   #Open search dialog#    This option affects keypresses processing
  924.   #in the locked#         in ~editor~@Editor@ in "disable text modification"
  925.   #editor#                mode. If this option is set, search dialog
  926.                         will be opened in the case, described above,
  927.                         otherwise plugin will open no dialogs.
  928.  
  929.  
  930.   #Only create log#       After files search finishes, list
  931.                         of found items is written to a file,
  932.                         and plug-in stops.
  933.  
  934.   #Show menu#             After files search finishes, list
  935.                         of found items is shown as a ~menu~@FoundFiles@.
  936.                         This option exists in dialog only under
  937.                         FAR with version less 1.70 build 1282.
  938.  
  939.   #Temporary panel#       Found files are placed to the
  940.                         ~temporary panel~@TmpPanel@. If temporary panel
  941.                         plug-in will not work, found files will
  942.                         be shown in a usual ~menu~@FoundFiles@.
  943.  
  944.   #Word consists of#      If this option is not set, a ~word~@word@
  945.   #characters and digits# is treated as a sequence of letters
  946.                         characters, otherwise - as a sequence of
  947.                         letters and digits.
  948.  
  949.   #Additional symbols#    This parameter supplies the previous one.
  950.   #of words#
  951.  
  952.   #Search from next#      Start search in ~editor~@Editor@  and ~viewer~@Viewer@
  953.   #position in editor#    from the position after cursor (affects
  954.   #and viewer#            only #Search# item).
  955.  
  956.   #Do not process#        This option affects only work in #editor# when
  957.   #overlapping#           using forward processing (from file beginning
  958.   #occurrences during#    to the end). Affects ~replacement~@EdReplace@ and ~count~@EdSearch@.
  959.   #replacement and#
  960.   #counting#
  961.  
  962.   #Do not process#        This option affects only ~editor~@Editor@ and ~viewer~@Viewer@
  963.   #overlapping#           #forward# processing (from file beginning to
  964.   #occurrences when#      the end). Affects search #continuation#.
  965.   #continuing searching#
  966.  
  967.  ~Contents~@Contents@
  968. @CfgReplace
  969. $^#Replacement options#
  970.  
  971.   #Reset the counter#     This option concerns ~\##~@ReplaceRegExp@ regexp in
  972.   #for each file#         replacement string. If it's set, the value
  973.                         substituted instead of "\##", will be set to
  974.                         0 for every file.
  975.  
  976.   #Delete empty string#   Default value for the option with same name
  977.                         in ~replace~@Replace@ dialog in editor.
  978.  
  979.  ~Contents~@Contents@
  980. @CfgHistory
  981. $^#History options#
  982.  
  983.   #Own history#           Plug-in stores history for strings
  984.                         "#Search for#", "#Replace with#",
  985.                         "#Search with file-mask#" and
  986.                         "#Save replace data to file#" in its own
  987.                         keys in the registry.
  988.  
  989.   #System history#        System history is used.
  990.  
  991.   #Another history#       You may set up registry keys names to store
  992.                         history.
  993.  
  994.     Notice that there is no system history for "Search in folders" string,
  995. so if you choose "system history", this parameter will nevertheless use
  996. "own history".
  997.  
  998.  ~Contents~@Contents@
  999. @CfgMsg
  1000. $^#Messages options#
  1001.  
  1002.   #Show final message#    If this option is set, at the and of work
  1003.                         in panels, editor and viewer will be shown
  1004.                         some result message. This option is ignored
  1005.                         when you #count# in ~panels~@MainDialog@, ~editor~@EdSearch@ and ~viewer~@ViSearch@,
  1006.                         and result message shows always. If this
  1007.                         option is not set following two options is
  1008.                         ignored (behavior is the same if this options
  1009.                         are not set).
  1010.  
  1011.   #Show a message if#     If this option is set, then if
  1012.   #nothing was found#     nothing was found, the corresponding
  1013.                         message is shown. Otherwise plug-in
  1014.                         just stops working.
  1015.  
  1016.   #Show message if#       This option affects only work in panels.
  1017.   #work is interrupted#   If option is turned on and work in panels
  1018.   #by ESC#                was interrupted by ESC, information message
  1019.                         will be shown to user. If option is turned
  1020.                         off, additional message will not be shown.
  1021.  
  1022.  ~Contents~@Contents@
  1023. @CfgTempPanel
  1024. $^#Temporary panel configuration#
  1025.  
  1026.     In this dialog you may change the following options:
  1027.  
  1028.  #Add to disks menu#   Enables adding the "Temporary" item to the disks
  1029.                      menu.
  1030.  
  1031.  #Disks menu hotkey#   Hotkey for the temporary panel item in
  1032.                      the disks menu. You can enter a value from
  1033.                      1 to 9 or leave this field empty to autoassign.
  1034.  
  1035.     Plugin has own settings for panel mode ##4 ("wide mode"). You can change:
  1036.  #Column types#
  1037.  #Column widths#
  1038.  #Status line column types#
  1039.  #Status line column widths#
  1040.  #Fullscreen view#
  1041.  
  1042.     See ~standard help of FAR~@:PanelViewModes@ for details.
  1043.  
  1044.  #Put found files#     If this option is set S&R will put found
  1045.  #list in empty#       files list into the first empty panel and
  1046.  #panel#               you will not loose last search result. If
  1047.                      S&R does not find an empty panel, it will put
  1048.                      found files list into the panel, which follows
  1049.                      the last used one. If this option is not set
  1050.                      S&R will put found files list into the last
  1051.                      used panel.
  1052.  
  1053.  #Process#             If this option is set, S&R will process
  1054.  #OPEN_FINDLIST#       OPEN_FINDLIST command. FAR sends this command
  1055.  #command#             to plugin, when it wishes to put files to
  1056.                      temporary panel. So if this option is set, S&R
  1057.                      will receive files list instead of standard
  1058.                      FAR temporary panel, when you choose #Panel#
  1059.                      in FAR search dialog (~Alt-F7~@:FindFile@).
  1060.  
  1061.  ~Contents~@Contents@
  1062. @CfgOther
  1063. $^#Other options#
  1064.  
  1065.   #Show file name in#     Turning this option off increases plug-in's
  1066.   #console title#         working speed a little...
  1067.  
  1068.   #Remove selection#      If this option is not set, then files
  1069.   #from files#            selection is not lost, if it is possible.
  1070.                         Selection anyway will be removed if you
  1071.                         press #enter# on any file in the menu
  1072.                         with found stuff list.
  1073.  
  1074.   #Process selected#      If this option is set, in respective
  1075.   #text if exist#         dialogs in ~editor~@Editor@ option
  1076.   #selected area#         "Selected text" will be chosen
  1077.                         automatically, if selection exists, and
  1078.                         "Global search" otherwise.
  1079.  
  1080.   #Process selected#      If this option is set and panel contains
  1081.   #items if panel#        selected items, the option "search in
  1082.   #contains selected#     selected" will be turned on by default
  1083.   #items#                 in panels dialog. This option influences
  1084.                         work with a ~config-file~@INI@.
  1085.  
  1086.   #Search without#        Setting this option causes option
  1087.   #regular expressions#   "Regular expressions" in all dialogs
  1088.   #by default#            to be turned off by default.
  1089.  
  1090.   #Empty search#          If this option is set S&R at first start
  1091.   #and replace string#    after beginning of FAR session will
  1092.   #at first#              empty search and replace line in any
  1093.                         dialogs.
  1094.  
  1095.   #Save time#             If this option is turned on, when
  1096.   #of the last change#    replacing in panels processed files time
  1097.                         of last change is not changed.
  1098.  
  1099.   #Show found in editor#  For your convenience, you may set, where
  1100.                         to show found line when #searching# and
  1101.                         #setting position from found lines list# in
  1102.                         editor. "#Smart#" option means the line is
  1103.                         shown according to plug-in's choice (as it
  1104.                         was in all versions before 1.3). Other
  1105.                         options' names are self-meant :) When
  1106.                         #replacing#, these options are ignored and
  1107.                         plug-in assumes "#Smart#" option set.
  1108.  
  1109.   #Change top screen#     This option affects word under cursor
  1110.   #line if found#         search in ~editor~@Editor@ (items 5 and 6).
  1111.   #string exists in#      If this option is set and found string
  1112.   #current screen#        exists in current screen option "#Show found#
  1113.                         #in editor#" will be processed. If this option
  1114.                         is not set and found string exists in current
  1115.                         screen file will be shown from the same line
  1116.                         as line which was before search.
  1117.  
  1118.   #Path for settings#     The name of folder for storage of
  1119.   #storage#               configuration files. In current S&R version
  1120.                         this option is ignored.
  1121.  
  1122.   #Path for plugins#      The name of folder for storage of
  1123.                         ~user's plugins~@SRPlugins@ and cache (SRPCache)
  1124.                         Specified directory must exist. If this
  1125.                         option is empty, program stores configuration
  1126.                         files in the same folder as s_and_r.dll.
  1127.                         It's possible to use environment variables
  1128.                         here. Example: #%APPDATA%\S_And_R#
  1129.  
  1130.  ~Contents~@Contents@
  1131. @NoReplace
  1132. $^#Replace string is empty!#
  1133.  
  1134.   Replace string cannot be empty in this case. Change work conditions.
  1135.  
  1136.  ~Contents~@Contents@
  1137. @SchemeIs
  1138. $^#Scheme#
  1139.  
  1140.     #Scheme# is a set of search/replacement parameters for multiple use.
  1141.  
  1142.  ~Contents~@Contents@
  1143. @Scheme
  1144. $^#Scheme#
  1145.  
  1146.   #Enter#      Choose current ~scheme~@SchemeIs@
  1147.   #Esc#        Choose nothing
  1148.   #Ins#        Add a new scheme
  1149.   #F4#         ~Edit~@EditScheme@ current scheme
  1150.   #F5#         Copy current scheme. You'll be ~prompted for a new name~@EnterNameOfScheme@
  1151.   #F6#         ~Rename~@EnterNameOfScheme@ current scheme
  1152.   #Del#        Delete current scheme
  1153.   #Ctrl-Up#    Move the scheme up
  1154.   #Ctrl-Down#  Move the scheme down
  1155.  
  1156.  ~Contents~@Contents@
  1157. @EnterNameOfScheme
  1158. $^#Enter the scheme's name#
  1159.  
  1160.     ~Scheme's~@SchemeIs@ name cannot be longer than 127 symbols. There is no
  1161. sense in names longer 50 symbols. If you want to set a hot-key for this scheme,
  1162. prefix the letter with a '#&#' symbol.
  1163.  
  1164.  ~Contents~@Contents@
  1165. @EditScheme
  1166. $^#Edit scheme#
  1167.  
  1168.     All the parameters are similar to corresponding fields and options of the
  1169. main dialog. They just aren't checked to be correct.
  1170.  
  1171.     "#Rename#" button allows to change the ~scheme's~@SchemeIs@ name.
  1172.  
  1173.  ~Contents~@Contents@
  1174. @FoundFiles
  1175. $^#Found files#
  1176.  
  1177.   You see the list of found files. You can use the following commands to
  1178. work with it:
  1179.  
  1180.   #Enter#  Jump to the selected file
  1181.   #F2#     Save list to a file
  1182.   #F3#     View the file
  1183.   #F4#     Edit the file
  1184.   #Esc#    Finish working with the list
  1185.  
  1186.  ~Contents~@Contents@
  1187. @NotOnPluginPanel
  1188. $^#The usual file panel is required for this operation!#
  1189.  
  1190.     File-mask search is available only in a file panel...
  1191.  
  1192.  ~Contents~@Contents@
  1193. @ExtendedSearchOptions
  1194. $^#Additional search setup#
  1195.  
  1196.     Here you can set some special search parameters.
  1197.  
  1198.     #Size# is set in bytes: from 1 to 18446744073709551615. If you type non-numeral
  1199. data in dialog fields, they will change to zero. If no checkmark near this
  1200. string, its value is ignored.
  1201.  
  1202.     #Date# is set in DD.MM.YYYY format. If there is no cross at the field,
  1203. its value is ignored. You may point, which date/time to compare, pressing
  1204. the corresponding button.
  1205.  
  1206.     #Attributes# can be specified only in Far 1.70 build 1282 and above.
  1207.     Options meaning:
  1208.        #[ ]# Attribute must be turned off
  1209.        #[x]# Attribute must be turned on
  1210.        #[?]# Attribute is ignored
  1211.  
  1212.     #Search in symbolic links# - this option affects subfolders
  1213. procession. If option is turned off, program will not search in folders which
  1214. are ~symbolic links~@:HardSymLink@ (FILE_ATTRIBUTE_REPARSE_POINT). If
  1215. no additional search parameters used, program will search in symbolic links.
  1216.  
  1217.     #Exclude directories# - ~exclude folders mask~@EDMask@, files in these
  1218. folders will not be processed. If this field is not empty and folder's name
  1219. matches the mask, folder will not be processed. Exclusion: matched folder's
  1220. name is name of the current folder and option ~search in selected~@MainDialog@
  1221. is turned on - in this case selected files in this folder will be processed as
  1222. usual. Notice that folders tree traversal will be performed anyway.
  1223.  
  1224.  ~Contents~@Contents@
  1225. @EDMask
  1226. $^#Exclude directories mask#
  1227.  
  1228.    Mask of folders to exclude (files in such folders will not be processed) is
  1229. similar to ~file mask~@FileMask@. Mask can contain environment variables.
  1230. Mask compares to full folders names. Notice that name of folder to match is
  1231. always without symbol "#\#" at the end.
  1232.  
  1233. ^#Examples:#
  1234.  1. D:\MYFOLDER
  1235.     Don't process files in d:\myfolder
  1236.  2. D:\MYFOLDER\*
  1237.     Don't process files in subfolders of d:\myfolder
  1238.  3. /^D:\\MYFOLDER\\.*$/i
  1239.     The same as previous, but mask is a regular expression.
  1240.  4. %TEMP%#;#%TEMP%\*
  1241.     Don't process files in temp folder and in all it's subfolders.
  1242.  5. %WINDIR%#;#%WINDIR%\*#|#%WINDIR%\Fonts
  1243.     Don't process files in operating system folder and in all it's
  1244.     subfolders except subfolder "Fonts".
  1245.  6. D:
  1246.     Don't process files in root of disk D (D:\).
  1247.  7. *WINNT*
  1248.     Don't process files in folder, which name contains
  1249.     substring "WINNT", and all it's subfolders.
  1250.  8. /^.*?WINNT[^\\]*?$/i
  1251.     Don't process files in folder, which name contains
  1252.     substring "WINNT".
  1253.  
  1254.  ~Additional search setup~@ExtendedSearchOptions@
  1255.  ~Contents~@Contents@
  1256. @INI
  1257. $^#Working with an config-file#
  1258.  
  1259.    Plug-in allows you to make replacement, reading parameters from an
  1260. config-file. It may be useful, when replacing data with size up to 2550 bytes
  1261. (there is a limitation of 512 bytes in the dialog). Such an options file
  1262. may have any extension and consists of some predefined sections and
  1263. variables (see ~example.sr~@example.sr@).
  1264.    To run plug-in type the following in the ~command line~@CMD@:
  1265.  
  1266. ^#s&r:i/"Name of the file with settings"#
  1267.  
  1268.    You can specify relative or full path if you want.
  1269.  
  1270.  ~Contents~@Contents@
  1271. @example.sr
  1272. $^#example.sr#
  1273. @-
  1274. #[S&R]#
  1275. // Version. Default value - 1
  1276. // In S&R 2.0 (and above) this variable must be equal 4.
  1277. #Ver=4#
  1278.  
  1279. // MODE OF THE WORK (used if Ver>1)
  1280. // Mode=0 - replace
  1281. // Mode=1 - search
  1282. // Mode=2 - count
  1283. // Default value - 0
  1284. #Mode=0#
  1285.  
  1286. // "Save replace data to file"
  1287. // (used if Ver>3).
  1288. // If file with same name exists work cancelled.
  1289. #SaveTo=#
  1290.  
  1291. // Do not show final messages with information about finished work
  1292. // (used if Ver>2)
  1293. // 1 - show such messages
  1294. // 0 - forbid such messages
  1295. // Default value - 0
  1296. #NoFinalMsg=0#
  1297.  
  1298. // RegExp=1 - search with regular expressions, otherwise -
  1299. // simple search. Default value - 0
  1300. #RegExp=0#
  1301.  
  1302. // Lines=1 - process several lines (if RegExp=1).
  1303. // Default value - 0. This option affects only if the
  1304. // "Work without // when searching with regexps" option in
  1305. // "Options/Search" is set.
  1306. #Lines=0#
  1307.  
  1308. // DeleteTrash=1 - delete trash, otherwise - usual replacement.
  1309. // Default value - 0
  1310. #DeleteTrash=0#
  1311.  
  1312. // Bak=1 - make backups. Default value - 1
  1313. #Bak=1#
  1314.  
  1315. // Cfm=1 - ask for replacement confirmation. Default value - 1
  1316. #Cfm=1#
  1317.  
  1318. // Selected=1 - process selected files, otherwise files to process
  1319. // are taken from the Mask variable. Default value - 1
  1320. // When processing this parameter, the state of an option
  1321. // "Process selected items if panel contains selected items"
  1322. // is taken into account
  1323. #Selected=1#
  1324.  
  1325. // File-mask. Rules are the same as for the dialog.
  1326. // Default value - *
  1327. #Mask=*.txt#
  1328.  
  1329. // Search: 0 - files, 1 - folders, 2 - files and folders
  1330. #Target=0#
  1331.  
  1332. // Sub=1 - process subfolders. Default value - 0
  1333. #Sub=0#
  1334.  
  1335. // Sensitive=1 - case sensitive search. Default value - 0
  1336. #Sensitive=0#
  1337.  
  1338. // CodePage=0 - OEM codepage, 1-ANSI, 2-Unicode, 3-FAR codepage
  1339. // In the last case, the table, equal to Table variable, is used.
  1340. // Default value - 0
  1341. #CodePage=0#
  1342.  
  1343. // FAR's ~codepage name~@CT@, e.g. "CP-1251   (Windows russian)"
  1344. // or "KOI-8". If no table with such a name, it assumes,
  1345. // that CodePage=0
  1346. #Table=#
  1347.  
  1348. [ESO]
  1349. // Section "Additional search setup"
  1350. // Mode=1 - use this parameters, 0 - ignore
  1351. #Mode=0#
  1352.  
  1353. // File size (from 0 to 18446744073709551615 bytes)
  1354. // ...must be more or equal
  1355. #MinS=0#
  1356. // ...must be less or equal
  1357. #MaxS=0#
  1358. // Use MinS parameter: 1 - yes, 0 - no
  1359. #PrcMinS=0#
  1360. // Use MaxS parameter: 1 - yes, 0 - no
  1361. #PrcMaxS=0#
  1362.  
  1363. // Date (DD.MM.YYYY)
  1364. // ...must be more or equal
  1365. #MinT=0#
  1366. // ...must be less or equal
  1367. #MaxT=0#
  1368. // Use MinT parameter: 1 - yes, 0 - no
  1369. #PrcMinT=0#
  1370. // Use MaxT parameter: 1 - yes, 0 - no
  1371. #PrcMaxT=0#
  1372. // Date type:
  1373. // 0 - creation, 1 - last access, 2 - last change
  1374. #TimeT=0#
  1375.  
  1376. // File attributes
  1377. // String contains 8 bytes with some purpose: 01234567
  1378. // 0 - use attributes: 1 - yes, 0 - no
  1379. // 1 - Search in symbolic links: 1 - yes, 0 - no
  1380. // 2 - attribute "archive" must be:
  1381. //     0 - off, 1 - on, 2 - ignored
  1382. // 3, 4, 5, 6, 7 - purpose is the same as "2" - for attributes
  1383. //     "read-only", "hidden", "system",
  1384. //     "compressed", "encrypted"
  1385. #Attr=01222222#
  1386.  
  1387. #[SEARCH]#
  1388. // Search string. It separated into parts (up to 10) for your
  1389. // convenience. Maximum size of each line is 255 bytes.
  1390. // While working plug-in concatenates all the lines into one.
  1391. // If the line is in quotes, they are threw away.
  1392. // If the line is empty, plug-in assumes, that the data have
  1393. // ended. The rules are the same as in dialog.
  1394. #line0="John "#
  1395. #line1="Doe"#
  1396. #line2=#
  1397. #line3=#
  1398. #line4=#
  1399. #line5=#
  1400. #line6=#
  1401. #line7=#
  1402. #line8=#
  1403. #line9=#
  1404.  
  1405. #[REPLACE]#
  1406. // Replacement string. Format is similar to the [SEARCH] section.
  1407. #line0="John"#
  1408. #line1="ny"#
  1409. #line2=" "#
  1410. #line3="Doe"#
  1411. #line4=#
  1412. #line5=#
  1413. #line6=#
  1414. #line7=#
  1415. #line8=#
  1416. #line9=#
  1417. @+
  1418.  
  1419.  ~Contents~@Contents@
  1420. @CMD
  1421. $^#Additional abilities of the command line#
  1422.  
  1423.     Search:       #S&R:Search/"search string"#
  1424.     Search and Replace:
  1425.                   #S&R:Replace/"search string" "replacement string"#
  1426.     Search and Replace, reading parameters from an ~config-file~@INI@:
  1427.                   #S&R:INI/FileName#
  1428.     Run plug-in in dialog mode:
  1429.                   #S&R:#
  1430.  
  1431.     #All# the rest parameters are taken from the registry (i.e. they are
  1432. equal to those, you've typed last time you ran plug-in in the usual way).
  1433.  
  1434.     It is possible to use only first commands' letters. Instead of "/" it's
  1435. possible to use "\" or space.
  1436.     If you are mistaken in typing, you'll get help.
  1437.     If you type search/replacement string with mistakes, plug-in will run
  1438. dialog mode (except "s&r:ini/FileName" command).
  1439.  
  1440.  ~Contents~@Contents@
  1441. @FileIsRO
  1442. $^#The file is read only#
  1443.  
  1444.  #Process#        Plug-in will unset the read-only attribute, process
  1445.                  the file, and set the attribute.
  1446.  #All#            Process all files with this attribute
  1447.  #Skip#           Skip this file
  1448.  #Skip all#       Skip all read-only files
  1449.  #Cancel#         Stop working
  1450.  
  1451.  Pressing #ESC# is similar to pressing #"Cancel"# button.
  1452.  
  1453.  ~Contents~@Contents@
  1454. @word
  1455. $^#Word#
  1456.  
  1457.    #Word# when searching #without regexps# is treated as a sequence of letters
  1458. of letters and/or digits (specified in ~configuration~@CfgSearch@), and contents
  1459. of "Additional symbols of words" string (specified in ~configuration~@CfgSearch@).
  1460.  
  1461.    Maximum length of words processed by the plug-in in editor is 511 bytes.
  1462.  
  1463.  ~Contents~@Contents@
  1464. @ViSearch
  1465. $^#Search in viewer#
  1466.  
  1467.     If you use ~regular expressions~@SANDRWithRE@, follow ~this way~@RegExp@,
  1468. otherwise - follow ~this way~@stringformat@.
  1469.  
  1470.  #Case sensitive#     To adjust this parameter, when searching with
  1471.                     ~regexps~@RegExp@, in depend of ~settings~@CfgSearch@ use the #i#
  1472.                     parameter or this option.
  1473.  
  1474.  #Regular#            Enable work with ~regular expressions~@SANDRWithRE@
  1475.  #expressions#        in search and replace strings.
  1476.  
  1477.  #Reverse search#     Search is performed from the current position
  1478.                     to file beginning.
  1479.  
  1480.  #Process#            When searching with ~regexps~@RegExp@, depending on
  1481.  #several lines#      the ~configuration~@CfgSearch@ use the #s# parameter
  1482.                     or this option.
  1483.  
  1484.  #Ignore spaces#      When searching with ~regexps~@RegExp@, depending on
  1485.                     the ~configuration~@CfgSearch@ use #x# parameter
  1486.                     or this option.
  1487.  
  1488.  #Whole words#        Plug-in will search only for ~words~@word@.
  1489.                     Option makes sense when searching without
  1490.                     regexps.
  1491.  
  1492. ^#Dialog buttons appointment:#
  1493.  
  1494.   #OK#         Search for the first occurrence of search string. Search
  1495.              starts from cursor position or from the next position
  1496.              after cursor, depending on ~settings~@CfgSearch@.
  1497.  
  1498.   #Count#      Perform search and display number of found
  1499.              occurrences of search string.
  1500.  
  1501.   #Scheme#     Call ~schemes~@SchemeIs@ manipulations ~menu~@Scheme@.
  1502.              You can choose one of first 10 schemes without
  1503.              opening the menu using the following keys
  1504.              combination: #Alt-Shift-0#, #Alt-Shift-1#, ...,
  1505.              #Alt-Shift-9# (this will work only in FAR 1.70
  1506.              build 1282 and above).
  1507.  
  1508.   #Save#       Save current parameters as a ~scheme~@SchemeIs@
  1509.              (you'll be prompted for a scheme name). In current
  1510.              S&R version search scope parameters are not saved.
  1511.  
  1512.  ~Contents~@Contents@
  1513. @Viewer
  1514. $^#Search in viewer#
  1515.  
  1516.     Plug-in works in viewer only in Far 1.70 build 1282 and later.
  1517.     If plug-in's search feature cannot be performed, plug-in will
  1518. automatically call Far standard search (F7 or Shift-F7).
  1519.  
  1520.  1. ~Search~@ViSearch@           Standard search replacement for viewer.
  1521.  2. #Continue#         Continue searching with the same parameters,
  1522.                      which you've used last time. Position search
  1523.                      starts from depends on ~configuration~@CfgSearch@.
  1524.  3. #Continue#         This command is similar to the previous one,
  1525.     #(reverse search)# but search will be performed in the reverse
  1526.                      direction.
  1527.  0. ~Plugin commands~@SRPlugins@  Show plugins menu.
  1528.  
  1529.     Using ~macros~@:KeyMacro@ you can make keypresses #F7#, #Shift-F7# and
  1530. #AltF7# in editor to run corresponding plug-in commands. Macros ready to use
  1531. are in ~sr_viewer_macro.reg~@sr_viewer_macro@ file.
  1532.  
  1533.  ~Contents~@Contents@
  1534. @Editor
  1535. $^#Search and Replace in editor#
  1536.  
  1537.  1. ~Search~@EdSearch@           Replacement for a standard search in editor
  1538.  2. ~Replace~@EdReplace@          Replacement for a standard search and replace
  1539.                      in editor
  1540.  3. #Continue#         Continue search/replace with the same parameters
  1541.                      depending on what you used last time. Position
  1542.                      search begins at, depends on ~configuration~@CfgSearch@.
  1543.  4. #Continue#         This command is similar to previous one, but
  1544.     #(reverse search)# search is performed in reverse direction.
  1545.  5. #Search the word#  Plug-in will search for the ~word~@word@,
  1546.     #under the cursor# cursor is positioned on, without displaying
  1547.                      dialog. Search is performed without regexps,
  1548.                      it is case insensitive, from cursor, forward
  1549.                      (all the rest options are equal to those, which
  1550.                      were set last time in dialog). See also
  1551.                      ~configuration~@CfgSearch@.
  1552.  6. #Reverse search#   This command is similar to previous one, but
  1553.     #of the word#      search will be performed in reverse direction.
  1554.     #under the cursor#
  1555.  7. ~Delete not~@EdDelete@       This command deletes all the lines, which don't
  1556.     ~matched lines~@EdDelete@    contain at least one occurrence of search
  1557.                      string.
  1558.  8. #Find all#         Similar to #Find all occurrences# from
  1559.     #occurrences of#   ~search dialog~@EdSearch@, but ~the word~@word@
  1560.     #the word under#   under cursor is searched, no main dialog is
  1561.     #cursor#           shown. Search is regexp-less, case insensitive,
  1562.                      global (all the rest options are equal to those,
  1563.                      which were set last time in dialog). See also
  1564.                      ~configuration~@CfgSearch@.
  1565.  9. #Find all#         Search of all sections of the file on the base
  1566.     #sections of#      of files groups ~settings~@FATypes@.
  1567.     #the file#
  1568.  F. #Choose file-type# Choose ~type~@FATypes@ of current file (type affects
  1569.                      search of all occurrences and sections).
  1570.                      In brackets you can see current file-type.
  1571.  T. #Find all#         This command is equal to "Find all sections
  1572.     #sections of the#  of the file", but search will be performed
  1573.     #file, using#      with file-type settings, which are
  1574.     #settings of#      chosen in the ~menu~@FATypes@. This choice does
  1575.     #another type#     not affect real current file-type, which
  1576.                      is used in other editor commands.
  1577.  
  1578.  0. ~Plugin commands~@SRPlugins@  Show plugins menu.
  1579.  
  1580.     Plug-in can process the whole file, or selected text only.
  1581. ~For addition...~@EdSelected@
  1582.  
  1583.     Using ~macros~@:KeyMacro@, you can set up the keys
  1584. #F7#, #Ctrl-F7#, #Shift-F7# and #Alt-F7# in editor to run corresponding commands
  1585. of the plug-in. Ready-to-use macros are in ~sr_editor_macro.reg~@sr_editor_macro@ file.
  1586.  
  1587.     If editor is in "disable text modification" mode (~Clrl-L~@:Editor@) and
  1588. you will press any letter or digit ~search dialog~@EdSearch@ automatically
  1589. will be opened and typed symbol will be placed in the search line. This
  1590. behavior exists only in FAR 1.70 build 1282 and above, it can be turned off in
  1591. the ~configuration~@CfgSearch@.
  1592.  
  1593.  ~Contents~@Contents@
  1594. @sr_editor_macro
  1595. $^#sr_editor_macro.reg#
  1596. @-
  1597. REGEDIT4
  1598. ; 'S' - hot key
  1599.  
  1600. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\F7]
  1601. "Sequence"="F11 S 1"
  1602. "Description"="SR: Search"
  1603. "DisableOutput"=dword:00000001
  1604.  
  1605. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\CtrlF7]
  1606. "Sequence"="F11 S 2"
  1607. "Description"="SR: Search and Replace"
  1608. "DisableOutput"=dword:00000001
  1609.  
  1610. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\ShiftF7]
  1611. "Sequence"="F11 S 3"
  1612. "Description"="SR: Continue search/replace"
  1613. "DisableOutput"=dword:00000001
  1614.  
  1615. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\AltF7]
  1616. "Sequence"="F11 S 4"
  1617. "Description"="SR: Continue search/replace (reverse search)"
  1618. "DisableOutput"=dword:00000001
  1619.  
  1620. @+
  1621.  
  1622.  ~Contents~@Contents@
  1623. @sr_viewer_macro
  1624. $^#sr_viewer_macro.reg#
  1625. @-
  1626. REGEDIT4
  1627. ; 'S' - hot key
  1628.  
  1629. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Viewer\F7]
  1630. "Sequence"="F11 s 1"
  1631. "DisableOutput"=dword:00000001
  1632. "Description"="SR: Search in Viewer"
  1633.  
  1634. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Viewer\ShiftF7]
  1635. "Sequence"="F11 s 2"
  1636. "DisableOutput"=dword:00000001
  1637. "Description"="SR: Continue search"
  1638.  
  1639. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Viewer\Space]
  1640. "Sequence"="F11 s 2"
  1641. "DisableOutput"=dword:00000001
  1642. "Description"="SR: Continue search"
  1643.  
  1644. [HKEY_CURRENT_USER\Software\Far\KeyMacros\Viewer\AltF7]
  1645. "Sequence"="F11 s 3"
  1646. "DisableOutput"=dword:00000001
  1647. "Description"="SR: Continue search (reverse search)"
  1648.  
  1649. @+
  1650.  
  1651.  ~Contents~@Contents@
  1652. @EdSearch
  1653. $^#Search in editor#
  1654.  
  1655.     If you use ~regular expressions~@SANDRWithRE@, follow ~this way~@RegExp@,
  1656. otherwise - follow ~this way~@stringformat@.
  1657.  
  1658.     FAR specific: file is processed only by lines - you cannot find two or
  1659. several lines at once, also you cannot find eol-symbols.
  1660.  
  1661.  #Pick up the word#   This button adds current word under cursor
  1662.  #under cursor#       to the end of search string. Also see
  1663.                     ~configuration~@CfgSearch@.
  1664.  
  1665.  #Case sensitive#     To set this parameter when using ~regexps~@RegExp@
  1666.                     depending on ~configuration~@CfgSearch@
  1667.                     use the #i# parameter or this option.
  1668.  
  1669.  #Regular#            Enable work with ~regular expressions~@SANDRWithRE@
  1670.  #expressions#        in search and replace strings.
  1671.  
  1672.  #Reverse search#     Searching from the current position to the
  1673.                     beginning of the file (or to the beginning of
  1674.                     selected area).
  1675.  
  1676.  #Select found#       Select by stream block found data. Also
  1677.                     see ~configuration~@CfgSearch@.
  1678.  
  1679.  #Whole words#        Plug-in will search only for ~words~@word@.
  1680.                     Option makes sense when searching
  1681.                     without regexps.
  1682.  
  1683.  #Ignore spaces#      When searching with ~regexps~@RegExp@, depending on
  1684.                     the ~configuration~@CfgSearch@ use #x# parameter
  1685.                     or this option.
  1686.  
  1687.  #Scope, Origin#      See ~description~@EdSelected@.
  1688.  
  1689.  #Show the section# This option affects #"Find All"#. If it is turned on,
  1690.                   then after number of the line in found occurrences
  1691.                   menu file section name is also shown (depends on
  1692.                   ~settings~@FATypes@, e.g., for program sources it may be
  1693.                   function name, for an ini-file - name of the
  1694.                   section etc.), in which occurrence is found. Option
  1695.                   is ignored during reverse search, when working in
  1696.                   selected area, and absence of settings for given
  1697.                   filetype. Notice that when this option is turned
  1698.                   on, search always starts from the beginning of the
  1699.                   line, not from the current position, even if
  1700.                   #From cursor# option is selected.
  1701.  
  1702. ^#Other dialog buttons appointment:#
  1703.  
  1704.   #OK#         Search for the first occurrence of search string. Search
  1705.              starts from cursor position or from the next position
  1706.              after cursor, dependently on ~settings~@CfgSearch@.
  1707.  
  1708.   #Count#      Perform search and display number of found
  1709.              occurrences of search string.
  1710.  
  1711.   #Find All#   Search for lines, containing at least one
  1712.              occurrence of search string, display menu with
  1713.              found lines list and, making it possible
  1714.              to jump to any of them selectively
  1715.  
  1716.   #Scheme#     Call ~schemes~@SchemeIs@ manipulations ~menu~@Scheme@.
  1717.              You can choose one of first 10 schemes without
  1718.              opening the menu using the following keys
  1719.              combination: #Alt-Shift-0#, #Alt-Shift-1#, ...,
  1720.              #Alt-Shift-9# (this will work only in FAR 1.70
  1721.              build 1282 and above).
  1722.  
  1723.   #Save#       Save current parameters as a ~scheme~@SchemeIs@
  1724.              (you'll be prompted for a scheme name). In current
  1725.              S&R version search scope parameters are not saved.
  1726.  
  1727.  ~Contents~@Contents@
  1728. @EdDelete
  1729. $^#Delete not matched lines#
  1730.  
  1731.     This command #deletes all the lines#, which do not contain at least one
  1732. occurrence of search string. USE THIS PLUG-IN FUNCTION VERY CAREFULLY.
  1733.  
  1734.     If you use ~regular expressions~@SANDRWithRE@,
  1735. follow ~this way~@RegExp@, otherwise - ~here~@stringformat@.
  1736.  
  1737.     FAR specific: file is processed only by lines - you cannot find two or
  1738. several lines at once, also you cannot find eol-symbols.
  1739.  
  1740.  #Pick up the word#   This button adds current word under cursor
  1741.  #under cursor#       to the end of search string. Also see
  1742.                     ~configuration~@CfgSearch@.
  1743.  
  1744.  #Case sensitive#     To adjust this parameter when searching with
  1745.                     ~regexps~@RegExp@ depending on ~settings~@CfgSearch@
  1746.                     use the #i# parameter or this option.
  1747.  
  1748.  #Regular#            Enable work with ~regular expressions~@SANDRWithRE@
  1749.  #expressions#        in search and replace strings.
  1750.  
  1751.  #Reverse search#     Search is performed from the current position to
  1752.                     the beginning of the file (or selection area).
  1753.  
  1754.  #Only whole words#   Plug-in will search only for ~words~@word@.
  1755.                     Option affects only search without regexps.
  1756.  
  1757.  #Ignore spaces#      When searching with ~regexps~@RegExp@, depending on
  1758.                     the ~configuration~@CfgSearch@ use #x# parameter
  1759.                     or this option.
  1760.  
  1761. #Scope, Origin#       See ~description~@EdSelected@.  If "Selected text"
  1762.                     option is chosen, then all lines are processed,
  1763.                     starting from the first, which contains
  1764.                     selection, and finishing at last, which also
  1765.                     contains selection (if search is reverse one,
  1766.                     then vice versa).
  1767.  
  1768. ^#Other dialog buttons appointment:#
  1769.  
  1770.   #OK#         Start.
  1771.  
  1772.   #Scheme#     Call ~schemes~@SchemeIs@ manipulations ~menu~@Scheme@.
  1773.              You can choose one of first 10 schemes without
  1774.              opening the menu using the following keys
  1775.              combination: #Alt-Shift-0#, #Alt-Shift-1#, ...,
  1776.              #Alt-Shift-9# (this will work only in FAR 1.70
  1777.              build 1282 and above).
  1778.  
  1779.   #Save#       Save current parameters as a ~scheme~@SchemeIs@
  1780.              (you'll be prompted for a scheme name). In current
  1781.              S&R version search scope parameters are not saved.
  1782.  
  1783.  ~Contents~@Contents@
  1784.  
  1785. @EdReplace
  1786. $^#Search and Replace in editor#
  1787.  
  1788.     If you use ~regexps~@SANDRWithRE@, there are two sections for you:
  1789.     1. What can ~search string~@RegExp@ contain.
  1790.     2. What can ~replace string~@ReplaceRegExp@ contain.
  1791.  
  1792.     If you don't use regexps, see help on search and replace
  1793. ~strings format~@stringformat@.
  1794.  
  1795.     FAR specific: file is processed only by lines - you cannot find two or
  1796. several lines at once, also you cannot find eol-symbols.
  1797.  
  1798.  #Pick up the word#   This button adds current word under cursor
  1799.  #under cursor#       to the end of search string. Also see
  1800.                     ~configuration~@CfgSearch@.
  1801.  
  1802.  #Case sensitive#     To set this option, when searching with ~regexps~@RegExp@
  1803.                     depending on the ~configuration~@CfgSearch@ use
  1804.                     the #i# parameter or this option.
  1805.  
  1806.  #Regular#            Enable work with ~regular expressions~@SANDRWithRE@
  1807.  #expressions#        in search and replace strings.
  1808.  
  1809.  #Reverse search#     Searching from the current position to the
  1810.                     beginning of the file (or to the beginning of
  1811.                     selected area).
  1812.  
  1813.  #Select found#       Select by stream block found data. Also
  1814.                     see ~configuration~@CfgSearch@.
  1815.  
  1816.  #Whole words#        Plug-in will search only for ~words~@word@.
  1817.                     Option makes sense when searching
  1818.                     without regexps.
  1819.  
  1820.  #Delete empty#       If this option set and after replacement is
  1821.  #lines#              performed changed line will not contains
  1822.                     any symbols this line will be deleted. Also
  1823.                     see ~configuration~@CfgReplace@
  1824.  
  1825.  #Ignore spaces#      When searching with ~regexps~@RegExp@, depending on
  1826.                     the ~configuration~@CfgSearch@ use #x# parameter
  1827.                     or this option.
  1828.  
  1829.  #Scope, Origin#      See ~description~@EdSelected@.
  1830.  
  1831. ^#Other dialog buttons appointment:#
  1832.  
  1833.   #OK#         Start searching/replacing.
  1834.  
  1835.   #Scheme#     Call ~schemes~@SchemeIs@ manipulations ~menu~@Scheme@.
  1836.              You can choose one of first 10 schemes without
  1837.              opening the menu using the following keys
  1838.              combination: #Alt-Shift-0#, #Alt-Shift-1#, ...,
  1839.              #Alt-Shift-9# (this will work only in FAR 1.70
  1840.              build 1282 and above).
  1841.  
  1842.   #Save#       Save current parameters as a ~scheme~@SchemeIs@
  1843.              (you'll be prompted for a scheme name). In current
  1844.              S&R version search scope parameters are not saved.
  1845.  
  1846.  ~Contents~@Contents@
  1847.  
  1848. @EdSelected
  1849. $^#File area to be processed#
  1850.  
  1851. ^#Scope#
  1852.  
  1853.  #Global search#      Operation in all file.
  1854.  
  1855.  #Selected text#      Operation in selected area only.
  1856.                     If the cursor is outside of area of selection,
  1857.                     the operation will be carried out from boundaries
  1858.                     of selected area irrespective of a status of a
  1859.                     following option.
  1860.  
  1861. ^#Origin#
  1862.  
  1863.  #From cursor#        Plug-in searches (replaces), starting from
  1864.                     current cursor position (similar to internal
  1865.                     FAR search/replace).
  1866.  
  1867.  #Entire scope#       Plug-in searches (replaces), starting from
  1868.                     start/end of a file or a selected area.
  1869.  
  1870.  
  1871.  ~Contents~@Contents@
  1872. @TmpPanel
  1873. $^#Temporary panel support#
  1874.  
  1875.     Plug-in can place ~found files list~@CfgSearch@ in a temporary panel,
  1876. which is similar to a usual file panel.
  1877.  
  1878.     Files copied to temporary panel are not copied physically,
  1879. just links are created. When you process files in temporary panel,
  1880. all the changes mirror to real files on their places. E.g. deleting
  1881. a file in temporary panel causes real file deleting too. Use command
  1882. "#F7-Remove#" to remove selected files' names from temporary panel without
  1883. their physical deletion.
  1884.  
  1885.     To close temporary panel and go to the file cursor is positioned on,
  1886. press #Ctrl-PgUp#.
  1887.  
  1888.     When you move cursor the current folder is changed according item under
  1889. cursor. After you close temporary panel by pressing on "..", you will appear
  1890. in such new current folder.
  1891.  
  1892.     #Alt-Shift-F12# - open the menu to switch between available panels
  1893. (you can see number of the current panel in its title).
  1894.     #Alt-Shift-0#...#Alt-Shift-9# - quick switching between first 10 panels.
  1895.  
  1896.     To save the current contents of the panel to a list file, you
  1897. can use the hotkey #Alt-Shift-F2#.
  1898.  
  1899.     Temporary panel redefines panel mode ##4 ("wide mode"), see
  1900. ~configuration~@CfgTempPanel@ for details.
  1901.  
  1902.     Temporary panel in "Search and Replace" is implemented with
  1903. special 2nd level plug-in, which is represented by files temppanel.msg and
  1904. temppanel.srp, this plug-in should be located in "S&R\System\TempPanel"
  1905. folder. Temporary panel works only in Far 1.70 and later versions.
  1906.  
  1907.     S&R using this plugin can replace standard FAR Temporary panel
  1908. (distributed with FAR) - just delete standard plugin (tmppanel.dll).
  1909.  
  1910.     ~Temporary panel configuration~@CfgTempPanel@.
  1911.  
  1912.  ~Contents~@Contents@
  1913. @CNLoadTP
  1914. $^#Cannot load temporary panel#
  1915.  
  1916.     ~Temporary panel~@TmpPanel@ plug-in failed to load, found files will
  1917. be shown in a usual ~menu~@FoundFiles@.
  1918.     If you do not like this message to be shown every time, turn off temporary
  1919. panel in ~settings~@CfgSearch@ or place file
  1920. ~temppanel.srp~@TmpPanel@ in "S&R\System\TempPanel" folder.
  1921.  
  1922.  ~Contents~@Contents@
  1923. @FATypes
  1924. $^#Choose file type#
  1925.  
  1926.     In this menu you can choose, create, remove and ~change~@EditFAType@
  1927. settings for different filetypes. Keyboard hotkeys are the same as in
  1928. ~schemes choosing menu~@Scheme@. These settings affect #sections# search in
  1929. the file being edited (see ~Find all occurrences~@EdSearch@ and
  1930. ~Find all sections of the file~@Editor@).
  1931.  
  1932.  ~Contents~@Contents@
  1933. @EditFAType
  1934. $^#Edit filetype settings#
  1935.  
  1936.   #File mask#    ~Mask~@FileMask@ of the files of this type.
  1937.  
  1938.   #Search#       ~Regular expression~@RegExp@ to find file #sections#.
  1939.  
  1940.   #Ignore#       ~Regular expression~@RegExp@, describing the line
  1941.                which is not a section at all.
  1942.  
  1943.   #Menu's item#  ~Regular expression~@ReplaceRegExp@ for replace string.
  1944.   #template#     According this template found lines menu item will
  1945.                be formed. If this field is empty behavior the same
  1946.                as template equal ~$0~@ReplaceRegExp@.
  1947.  
  1948.    Notice that regexps in this case should be enclosed by slashes
  1949. (/..../) every time, i.e. the following ~settings~@CfgSearch@ make #no affect#:
  1950. @-
  1951. ^#Replace $ with \r\n when searching with regexps#
  1952. ^and
  1953. ^#Work without // when searching with regexps#
  1954. @+
  1955.  
  1956.  ~Contents~@Contents@
  1957. @EdLOF
  1958. $^#Editor: found lines list#
  1959.  
  1960. ^#Available commands:#
  1961.  
  1962.     #Enter#      Close the menu and go to selected line.
  1963.  
  1964.     #Ctrl-Enter# Go to selected line and show the menu again.
  1965.  
  1966.     #Esc#        Close the menu and return to the position,
  1967.                from which search was started.
  1968.  
  1969.     #F4#         ~Edit filetype settings~@EditFAType@. Use this command
  1970.                only if the menu was built for recognized filetype.
  1971.  
  1972.     #Ctrl-R#     Perform search again and build new found lines list.
  1973.                Use this command if you have enabled cache in
  1974.                ~configuration~@CfgSearch@ and you feel that list which you
  1975.                see is not valid.
  1976.  
  1977.     #Ctrl-F#     Turn on/off #lines filter#.
  1978.  
  1979.     #Ctrl-H#     Turn on/off #hot keys# auto assignment. The command is
  1980.                meaningful only if filter is turned off.
  1981.  
  1982.  ~Contents~@Contents@
  1983. @CT
  1984. $^#Additional information about codepages support#
  1985.  
  1986.     Work with #Unicode# is performed via translation from #Unicode# to #OEM#
  1987. and back.
  1988.  
  1989.     If you work with ~regexps~@SANDRWithRE@ you have #no warranties# for
  1990. normal work with #EBCDIC# codepage. This is limitation of regexp parsing
  1991. module by ~Konstantin Stupnik~@thanks@.
  1992.  
  1993.  ~Contents~@Contents@
  1994. @SFExists
  1995. $^#File for saving replace data already exists!#
  1996.  
  1997.     File for saving replace data already exists. Make your choice:
  1998.  
  1999.     #Stop#          Stop work and return to ~previous dialog~@MainDialog@.
  2000.  
  2001.     #Overwrite#     Overwrite existing file. Old file contents will be
  2002.                   #lost#!
  2003.  
  2004.     #Append#        Append replace data to the end of existing file.
  2005.  
  2006.     Pressing #ESC# equal pressing #"Stop"#.
  2007.  
  2008.  ~Contents~@Contents@
  2009. @PDone
  2010. $^#Panels: Work finished#
  2011.  
  2012.     S&R shows short work summary:
  2013.  
  2014.   #Processed files total#  Number of files, which were processed using
  2015.                          file-mask or others criteria.
  2016.  
  2017.   #Found files#            Number of files, which contains search
  2018.                          sequence.
  2019.  
  2020.   #Changed files total#    Number of changed files.
  2021.  
  2022.   #Created files total#    Number of created files. This variable
  2023.                          equals 1 if special file for saving
  2024.                          ~replace data~@MainDialog@ was created.
  2025.                          Bak-files are ignored.
  2026.  
  2027.   #Total found#            The search sequence was found so much time.
  2028.  
  2029.   #Total replacements#     Number of performed replacements.
  2030.   #performed#
  2031.  
  2032.  
  2033. ~Contents~@Contents@
  2034.