2008-02-11 Johannes Schmid <jhs@gnome.org>
[anjuta-git-plugin.git] / SEARCH-REPLACE
blobf175c72b5e0185ab87de5571ec4243b455fe93ed
2 Redesigning Search/Replace: Requirements:
3 -----------------------------------------
5 Reference implementation: Regexxer.
7 R1. Integrated GUI
8         1.1 Search and replace dialogs should be the same.
9         1.2 Same dialog for all files/current file.
11 R2. Specifying search expressions:
12         2.1 Constant strings.
13         2.2 Regular expressions.
14         2.3 Regexp shortcuts
15                 2.3.1 Ignore case
16                 2.3.2 Whole word
17                 2.3.3 Beginning of word
18         2.4 Subexpressions (ref 4.2)
20 R3. Specifying search range:
21         3.1 File level:
22                 3.1.1 Current buffer
23                 3.1.2 Current selection
24                 3.1.3 Current block
25                 3.1.4 Current function (top level block)
26                 3.1.5 All open buffers
27         3.2 Project Level:
28                 3.2.1 All project files
29                 3.2.2 Files of a particular module (e.g. include)
30         3.3 Directory level:
31                 3.3.1 Include directory patterns (globbing)
32                 3.3.2 File patterns (globbing)
33                 3.3.3 Exclude file patterns (globbing)
34                 3.3.4 Exclude directory patterns (globbing)
36 R4. Replace expression:
37         4.1 Fixed string
38         4.2 String with back references (ref 2.4)
39         4.3 Result of function call on matched string
40                 4.3.1 User defined functions (Python scripting)
41                 4.3.2 Pre-defined functions (upcase, etc.)
42                 4.3.2 Output of tool (Tools interface)
44 R5. Reuse configured dialogs (saved searches)
45         5.1 Save current dialog
46                 5.1.1 User level
47                 5.1.2 Project Level (?)
48         5.2 Assign names to commonly used dialog settings.
49         5.3 Retrieve dialog settings by name from combo.
51 R6. Context help with variables and regular expressions.
53 R7. Miscellaneous options:
54         7.1 Ask before replacing.
55         7.2 Open in editor before replacing.
57 R8. Displaying search results:
58         8.1 Show in find pane.
59         8.2 Two find panes.
60         8.3 Highlight all occurences in buffers.
62 -----------------------------------------------