1[[PageOutline(1-2)]]
2
3List of existing and planned features with links to description of each feature
4with relevant tickets and test cases to make sure the features are implemented correctly.
5
6= Features =
7
8 * multi-platform: [wiki:DownloadWindows Microsoft Windows], [wiki:Download Linux], [wiki:DownloadFreeBSD FreeBSD], [wiki:DownloadMacOSX Mac OS X], [wiki:DownloadNetBSD NetBSD]
9 * Free and Open Source Software under the Perl licensing terms: [http://svn.perlide.org/padre/trunk/Padre/COPYING GPL I] [http://svn.perlide.org/padre/trunk/Padre/Artistic Artistic I]
10 * Written in Perl. There are parts that rely on libraries written in C or C++ but they are all wrapped in CPAN packages and have an API in Perl 5.
11 * [wiki:Features/BasicEditorFeatures Basic Editor Features]
12 * [wiki:Features/VisualEditorEffects Visual Editor Effects]
13   * Line Numbers
14   * Code Folding
15   * Current Line
16   * Right Margin
17   * Newlines
18   * Whitespaces
19   * Indentation Guide
20 * [wiki:Features/SyntaxHighlighting Syntax Highlighting]
21 * [wiki:Features/Run Run a Script]
22 * [wiki:Features/TitleAndStatusBarPersonalization Title and Status Bar Personalization]
23 * [wiki:Features/CommandLineWindow Command Line Window]
24 * [wiki:Features/OpenResource Open Resource]
25 * [wiki:Features/QuickMenuAccess Quick Menu Access]
26 * [wiki:Features/SingleInstance Single Instance]
27 * [wiki:Features/AutoSave Automatic Save and Backup]
28 * [wiki:Features/RemoteEditing Remote Editing via FTP, HTTP, SSH]
29 * [wiki:Features/CooperativeEditing Cooperative Editing] (Swarm)
30 * [wiki:Features/SearchAndReplace Search and Replace]
31 * [wiki:Features/IncrementalSearch Incremental Search]
32 * [wiki:Features/FindInFiles Find In Files]
33 * [wiki:Features/TODOList TODO List]
34 * [wiki:Features/EditPatch Patch]
35 * [wiki:Features/AutoDiff Auto-Diff]
36 * [wiki:Features/CodeSnippets Code Snippets]
37 * [wiki:Features/CPANModuleInstaller CPAN Module Installer]
38 * [wiki:Features/SessionManagement Session Management]
39 * [wiki:Features/SplitView Split View]
40 * [wiki:Features/Bookmarks Bookmarks]
41 * [wiki:Features/RightClick Context Menu]
42 * [wiki:Features/ProjectManagement Project Management]
43 * [wiki:Features/ProjectSkeletonGeneration Project Skeleton Generation]
44 * [wiki:Features/Autocomplete Autocomplete]
45 * [wiki:Features/HelpViewer Help Viewer]
46 * [wiki:Features/ContextSensitiveHelp Context Sensitive Help]
47 * [wiki:Features/RectangularEditing Rectangular Selection and Editing]
48 * [wiki:Features/Autoindent Autoindent]
49 * [wiki:Features/Brackets Bracket Completition and Matching]
50 * [wiki:Features/Outline Code Browser and Var tree called Outline]
51 * [wiki:Features/Autocomplete Source code suggestions and Autocomplete]
52 * [wiki:Features/PreferenceSystem Configuration and Preference System]
53 * [wiki:Features/OpenSelection Open Selection]
54 * Multi-document editing - as far as we understand this only means you can edit several files at the same time
55 * Code-assist editor - What does this cover?
56 * IME - [wiki:Features/MultilingualInputMethodEditor Multilingual Input Method Editor]
57 * [wiki:Features/IntegratedWebServer Integrated Web Server] for web application development
58 * Call tips
59* [wiki:Features/ToolsPrefernces Tools Prefernces draft]
60
61== Perl-specific features ==
62
63 * [wiki:Features/SyntaxChecking Real Time Syntax Checking For Perl 5 and 6]
64 * [wiki:Features/Perl5Debugger Perl 5 Debugger] - perl debugging in Padre
65 * [wiki:Features/RefactoringPerl5 Refactoring Perl 5 code]
66 * [wiki:Features/AutomatedBuildAndTest Automated Build and Test]
67 * [wiki:Features/Perl6 Perl 6 features]
68 * [wiki:Features/RegexEditor Regex Editor]
69 * [wiki:PluginAPI Extendable in Perl 5] via a Powerful [wiki:PluginAPI Plugin API]
70 * [wiki:Features/PerlTidy] - automatic reformatting (tidying) of code
71 * [wiki:Features/REPL REPL]
72 * [wiki:Features/ProjectBrowser Project Browser] (Tree view of source files and resources)
73 * [wiki:Features/IdentifyCommonErrors Identify Common Errors]
74 * special features for beginners (we can create a page listing them)
75 * advanced features (we can create a page listing them)
76
77 * [wiki:Features/Extendable Extendable in Perl 6 and other languages]
78 * [wiki:Features/HandleMultipleLanguages]
79
80
81== Plugins ==
82
83 * [wiki:Plugins] generic plugins related tickets
84 * [wiki:Features/IntegratedVersionControl Integrated Version Control]
85 * [wiki:Features/SuperGrep Super Grep]
86
87= Feature requests and ideas from other sources =
88
89In this section we have lists of features taken from verious articles
90and web sites comparing tools and even from other IDEs.
91
92For each feature we first link it to a related ticket but later
93on we will point to the description of our implementation of
94that feature.
95
96== From Perlmonks ==
97
98Perlmonks has a table comparing features of IDEs and editors to be used for Perl
99development.
100
101The table can be found at [http://www.perlmonks.org/?node=Perl%20Development%20Tools Perl Development Tools]
102
103TODO: add links to the relevant Feature Pages
104
105|| '''Feature'''      || '''Status or link to ticket''' ||
106|| Perl Exclusive     || Why is yes considered good here? ||
107|| Free               || yes - Under the "perl" license. ||
108|| Perl Engine        || Any - Padre itself runs on 5.8.7 or higher but your code can run on any version of perl ||
109|| [wiki:Features/SyntaxChecking Syntax Checking]  || yes ||
110|| [wiki:Features/SyntaxHighlighting Syntax colouring]  || yes ||
111|| [wiki:Features/Autoindent Autoindent]    || yes ||
112|| [wiki:Features/IncrementalSearch Incremental search] || yes ||
113|| [wiki:Features/Brackets Bracket Completition and Matching] || yes ||
114|| Folding            || see under [wiki:Features/VisualEditorEffects Visual Editor Effects] ||
115|| Var tree           || see in [wiki:Features/Outline Outline] ||
116|| Code browser       || see in [wiki:Features/Outline Outline] ||
117|| Debugger           || [wiki:Features/Perl5Debugger Perl 5 Debugger] ||
118|| Stepping           || See Debugger ||
119|| Breakpoints        || See Debugger ||
120|| Watches            || See Debugger ||
121|| Var evaluation     || See Debugger ||
122|| Stack module       || See Debugger ||
123|| [wiki:Features/Bookmarks Bookmarks]    || yes ||
124|| Suggest & complete || see #67 but add more ||
125|| [wiki:Features/IdentifyCommonErrors Identify errors] || also [wiki:Features/SyntaxChecking Syntax Checking] ||
126|| [wiki:Features/REPL Interactive shell]  || ||
127|| [wiki:Features/CodeSnippets Code snippets]  || yes ||
128|| [wiki:Features/ProjectManagement Project] || ||
129|| Control version    ||  [wiki:Features/IntegratedVersionControl Integrated Version Control] ||
130|| Multi document     || yes ||
131|| [wiki:Features/SplitView Split View] || ||
132|| IME                || Multilingual Input Method Editor ||
133|| [wiki:Features/HelpViewer Docs & Help viewer] || yes ||
134|| [wiki:Features/CPANModuleInstaller Module installer]   || ||
135|| WEB                || [wiki:Features/IntegratedWebServer Integrated Web Server] ||
136|| FTP                || #12 Read and write over ftp protocol (modify the program at remote server) ||
137|| HTML export        || #112 To export the source of program with the syntax colouring. ||
138|| Linux              || [wiki:Download] ||
139|| BSD                || [wiki:DownloadFreeBSD] and [wiki:DownloadNetBSD] ||
140|| Mac OS X           || [wiki:DownloadMacOSX] ||
141|| Solaris            || ||
142|| Windows            || [wiki:DownloadWindows] ||
143
144
145== From Perl Needs Better Tools ==
146
147[http://www.eigenstate.net/perl_tools/ Perl Needs Better Tools] by Matisse Enzer
148
149||'''Feature'''                                                    || '''Status or link to ticket''' ||
150||[wiki:Features/SyntaxHighlighting Syntax coloring]               || ||
151||[wiki:Features/SyntaxChecking Real Time Syntax Checking] || ||
152||[wiki:Features/IntegratedVersionControl Version control integration] || ||
153||Code-assist editor                                               ||  ||
154||Excellent refactoring support                                    || [wiki:Features/RefactoringPerl5 Refactoring Perl 5 code] ||
155||Tree view of source files and resources                          ||  ||
156||Support for creating and running unit tests                      || [wiki:Features/AutomatedBuildAndTest Automated Build and Test] ||
157||Language-specific help                                           || [wiki:Features/ContextSensitiveHelp Context Sensitive Help] ||
158||Run your code under a debugger with real-time display of results ||  ||
159||Automatic reformatting of code.                                  ||  ||
160||handling of multiple languages                                   ||  ||
161||Automated build and test                                         ||  ||
162
163
164== From Enlightened Perl ==
165
166Work together with the folks at Enlightened Perl http://www.enlightenedperl.org/
167to see how Padre can provide a GUI for their efforts.
168Look at Kensho, http://search.cpan.org/dist/Task-Kensho/ a list of recommended module
169and see how Padre can provide a GUI (via a plugin or in core Padre) for them.
170
171== From Competitors ==
172
173See the [wiki:'Competitor Analysis']
174
175== From Eclipse EPIC ==
176
177[http://www.eclipse.org/cdt/ Eclipse CDT - C/C++ Development Tooling]
178[http://www.eclipse.org/jdt/ Eclipse Java development tools (JDT)]
179
180Some of these features are only relevant (or possible) for C/C++ or Java
181
182||'''Feature'''                                            || '''Status or link to ticket''' ||
183||Find all references                                      || ||
184||Find definition/declaration/usage                        || ||
185||Type Hierarchy                                           || ||
186||Call Hierarchy (or call graph)                           || ||
187||[wiki:Features/RefactoringPerl5 Refactoring]             || ||
188||[wiki:Features/SourceNavigation Source navigation]       || ||
189||[wiki:Features/SyntaxHighlighting Syntax highlighting]   || ||
190||Code folding                                             || under [wiki:Features/VisualEditorEffects Visual Editor Effects] ||
191||Hyperlink navigation                                     || ||
192||Include browser                                          || ||
193||Project creation                                         || [wiki:Features/ProjectSkeletonGeneration Project Skeleton Generation] ||
194||Managed build for various toolchains                     || ||
195||Standard make build                                      || Via Run menu ||
196||Macro definition browser                                 || ||
197||Code generation                                          || partly (File -> New...) ||
198||Visual debugging tools                                   || ||
199||Memory, registers, and disassembly viewers               || ||
200
201
202