<p>
[[PageOutline(1-2)]]
</p>
<p>
List of existing and planned features with links to description of each feature
with relevant tickets and test cases to make sure the features are implemented correctly.
</p>
<h1 id="Features">Features</h1>
<ul><li>multi-platform: <a class="wiki" href="/wiki/DownloadWindows">Microsoft Windows</a>, <a class="wiki" href="/wiki/Download">Linux</a>, <a class="wiki" href="/wiki/DownloadFreeBSD">FreeBSD</a>, <a class="wiki" href="/wiki/DownloadMacOSX">Mac OS X</a>, <a class="wiki" href="/wiki/DownloadNetBSD">NetBSD</a>
</li><li>Free and Open Source Software under the Perl licensing terms: <a class="ext-link" href="http://svn.perlide.org/padre/trunk/Padre/COPYING"><span class="icon"></span>GPL I</a> <a class="ext-link" href="http://svn.perlide.org/padre/trunk/Padre/Artistic"><span class="icon"></span>Artistic I</a>
</li><li>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.
</li><li><a class="wiki" href="/wiki/Features/BasicEditorFeatures">Basic Editor Features</a>
</li><li><a class="wiki" href="/wiki/Features/VisualEditorEffects">Visual Editor Effects</a>
<ul><li>Line Numbers
</li><li>Code Folding
</li><li>Current Line
</li><li>Right Margin
</li><li>Newlines
</li><li>Whitespaces
</li><li>Indentation Guide
</li></ul></li><li><a class="wiki" href="/wiki/Features/SyntaxHighlighting">Syntax Highlighting</a>
</li><li><a class="wiki" href="/wiki/Features/Run">Run a Script</a>
</li><li><a class="wiki" href="/wiki/Features/TitleAndStatusBarPersonalization">Title and Status Bar Personalization</a>
</li><li><a class="wiki" href="/wiki/Features/CommandLineWindow">Command Line Window</a>
</li><li><a class="wiki" href="/wiki/Features/OpenResource">Open Resource</a>
</li><li><a class="wiki" href="/wiki/Features/QuickMenuAccess">Quick Menu Access</a>
</li><li><a class="wiki" href="/wiki/Features/SingleInstance">Single Instance</a>
</li><li><a class="wiki" href="/wiki/Features/AutoSave">Automatic Save and Backup</a>
</li><li><a class="wiki" href="/wiki/Features/RemoteEditing">Remote Editing via FTP, HTTP, SSH</a>
</li><li><a class="wiki" href="/wiki/Features/CooperativeEditing">Cooperative Editing</a> (Swarm)
</li><li><a class="wiki" href="/wiki/Features/SearchAndReplace">Search and Replace</a>
</li><li><a class="wiki" href="/wiki/Features/IncrementalSearch">Incremental Search</a>
</li><li><a class="wiki" href="/wiki/Features/FindInFiles">Find In Files</a>
</li><li><a class="wiki" href="/wiki/Features/TODOList">TODO List</a>
</li><li><a class="wiki" href="/wiki/Features/EditPatch">Patch</a>
</li><li><a class="wiki" href="/wiki/Features/AutoDiff">Auto-Diff</a>
</li><li><a class="wiki" href="/wiki/Features/CodeSnippets">Code Snippets</a>
</li><li><a class="wiki" href="/wiki/Features/CPANModuleInstaller">CPAN Module Installer</a>
</li><li><a class="wiki" href="/wiki/Features/SessionManagement">Session Management</a>
</li><li><a class="wiki" href="/wiki/Features/SplitView">Split View</a>
</li><li><a class="wiki" href="/wiki/Features/Bookmarks">Bookmarks</a>
</li><li><a class="wiki" href="/wiki/Features/RightClick">Context Menu</a>
</li><li><a class="wiki" href="/wiki/Features/ProjectManagement">Project Management</a>
</li><li><a class="wiki" href="/wiki/Features/ProjectSkeletonGeneration">Project Skeleton Generation</a>
</li><li><a class="wiki" href="/wiki/Features/Autocomplete">Autocomplete</a>
</li><li><a class="wiki" href="/wiki/Features/HelpViewer">Help Viewer</a>
</li><li><a class="wiki" href="/wiki/Features/ContextSensitiveHelp">Context Sensitive Help</a>
</li><li><a class="wiki" href="/wiki/Features/RectangularEditing">Rectangular Selection and Editing</a>
</li><li><a class="wiki" href="/wiki/Features/Autoindent">Autoindent</a>
</li><li><a class="wiki" href="/wiki/Features/Brackets">Bracket Completition and Matching</a>
</li><li><a class="wiki" href="/wiki/Features/Outline">Code Browser and Var tree called Outline</a>
</li><li><a class="wiki" href="/wiki/Features/Autocomplete">Source code suggestions and Autocomplete</a>
</li><li><a class="wiki" href="/wiki/Features/PreferenceSystem">Configuration and Preference System</a>
</li><li><a class="wiki" href="/wiki/Features/OpenSelection">Open Selection</a>
</li><li>Multi-document editing - as far as we understand this only means you can edit several files at the same time
</li><li>Code-assist editor - What does this cover?
</li><li>IME - <a class="wiki" href="/wiki/Features/MultilingualInputMethodEditor">Multilingual Input Method Editor</a>
</li><li><a class="wiki" href="/wiki/Features/IntegratedWebServer">Integrated Web Server</a> for web application development
</li><li>Call tips</li></ul>
<p>
* <a class="wiki" href="/wiki/Features/ToolsPrefernces">Tools Prefernces draft</a>
</p>
<h2 id="Perl-specificfeatures">Perl-specific features</h2>
<ul><li><a class="wiki" href="/wiki/Features/SyntaxChecking">Real Time Syntax Checking For Perl 5 and 6</a>
</li><li><a class="wiki" href="/wiki/Features/Perl5Debugger">Perl 5 Debugger</a> - perl debugging in Padre
</li><li><a class="wiki" href="/wiki/Features/RefactoringPerl5">Refactoring Perl 5 code</a>
</li><li><a class="wiki" href="/wiki/Features/AutomatedBuildAndTest">Automated Build and Test</a>
</li><li><a class="wiki" href="/wiki/Features/Perl6">Perl 6 features</a>
</li><li><a class="wiki" href="/wiki/Features/RegexEditor">Regex Editor</a>
</li><li><a class="wiki" href="/wiki/PluginAPI">Extendable in Perl 5</a> via a Powerful <a class="wiki" href="/wiki/PluginAPI">Plugin API</a>
</li><li><a class="wiki" href="/wiki/Features/PerlTidy">Features/PerlTidy</a> - automatic reformatting (tidying) of code
</li><li><a class="wiki" href="/wiki/Features/REPL">REPL</a>
</li><li><a class="wiki" href="/wiki/Features/ProjectBrowser">Project Browser</a> (Tree view of source files and resources)
</li><li><a class="wiki" href="/wiki/Features/IdentifyCommonErrors">Identify Common Errors</a>
</li><li>special features for beginners (we can create a page listing them)
</li><li>advanced features (we can create a page listing them)</li></ul>
<ul><li><a class="wiki" href="/wiki/Features/Extendable">Extendable in Perl 6 and other languages</a>
</li><li><a class="wiki" href="/wiki/Features/HandleMultipleLanguages">Features/HandleMultipleLanguages</a></li></ul>
<h2 id="Plugins">Plugins</h2>
<ul><li><a class="wiki" href="/wiki/Plugins">Plugins</a> generic plugins related tickets
</li><li><a class="wiki" href="/wiki/Features/IntegratedVersionControl">Integrated Version Control</a>
</li><li><a class="wiki" href="/wiki/Features/SuperGrep">Super Grep</a></li></ul>
<h1 id="Featurerequestsandideasfromothersources">Feature requests and ideas from other sources</h1>
<p>
In this section we have lists of features taken from verious articles
and web sites comparing tools and even from other IDEs.
</p>
<p>
For each feature we first link it to a related ticket but later
on we will point to the description of our implementation of
that feature.
</p>
<h2 id="FromPerlmonks">From Perlmonks</h2>
<p>
Perlmonks has a table comparing features of IDEs and editors to be used for Perl
development.
</p>
<p>
The table can be found at <a class="ext-link" href="http://www.perlmonks.org/?node=Perl%20Development%20Tools"><span class="icon"></span>Perl Development Tools</a>
</p>
<p>
TODO: add links to the relevant Feature Pages
</p>
<table>
<tr><td> <strong>Feature</strong> </td><td> <strong>Status or link to ticket</strong> </td></tr>
<tr><td> Perl Exclusive </td><td> Why is yes considered good here? </td></tr>
<tr><td> Free </td><td> yes - Under the "perl" license. </td></tr>
<tr><td> Perl Engine </td><td> Any - Padre itself runs on 5.8.7 or higher but your code can run on any version of perl </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/SyntaxChecking">Syntax Checking</a> </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/SyntaxHighlighting">Syntax colouring</a> </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/Autoindent">Autoindent</a> </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/IncrementalSearch">Incremental search</a> </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/Brackets">Bracket Completition and Matching</a> </td><td> yes </td></tr>
<tr><td> Folding </td><td> see under <a class="wiki" href="/wiki/Features/VisualEditorEffects">Visual Editor Effects</a> </td></tr>
<tr><td> Var tree </td><td> see in <a class="wiki" href="/wiki/Features/Outline">Outline</a> </td></tr>
<tr><td> Code browser </td><td> see in <a class="wiki" href="/wiki/Features/Outline">Outline</a> </td></tr>
<tr><td> Debugger </td><td> <a class="wiki" href="/wiki/Features/Perl5Debugger">Perl 5 Debugger</a> </td></tr>
<tr><td> Stepping </td><td> See Debugger </td></tr>
<tr><td> Breakpoints </td><td> See Debugger </td></tr>
<tr><td> Watches </td><td> See Debugger </td></tr>
<tr><td> Var evaluation </td><td> See Debugger </td></tr>
<tr><td> Stack module </td><td> See Debugger </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/Bookmarks">Bookmarks</a> </td><td> yes </td></tr>
<tr><td> Suggest & complete </td><td> see <a class="ticket" href="/ticket/67">#67</a> but add more </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/IdentifyCommonErrors">Identify errors</a> </td><td> also <a class="wiki" href="/wiki/Features/SyntaxChecking">Syntax Checking</a> </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/REPL">Interactive shell</a> </td><td> </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/CodeSnippets">Code snippets</a> </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/ProjectManagement">Project</a> </td><td> </td></tr>
<tr><td> Control version </td><td> <a class="wiki" href="/wiki/Features/IntegratedVersionControl">Integrated Version Control</a> </td></tr>
<tr><td> Multi document </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/SplitView">Split View</a> </td><td> </td></tr>
<tr><td> IME </td><td> Multilingual Input Method Editor </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/HelpViewer">Docs & Help viewer</a> </td><td> yes </td></tr>
<tr><td> <a class="wiki" href="/wiki/Features/CPANModuleInstaller">Module installer</a> </td><td> </td></tr>
<tr><td> WEB </td><td> <a class="wiki" href="/wiki/Features/IntegratedWebServer">Integrated Web Server</a> </td></tr>
<tr><td> FTP </td><td> <a class="ticket" href="/ticket/12">#12</a> Read and write over ftp protocol (modify the program at remote server) </td></tr>
<tr><td> HTML export </td><td> <a class="ticket" href="/ticket/112">#112</a> To export the source of program with the syntax colouring. </td></tr>
<tr><td> Linux </td><td> <a class="wiki" href="/wiki/Download">Download</a> </td></tr>
<tr><td> BSD </td><td> <a class="wiki" href="/wiki/DownloadFreeBSD">DownloadFreeBSD</a> and <a class="wiki" href="/wiki/DownloadNetBSD">DownloadNetBSD</a> </td></tr>
<tr><td> Mac OS X </td><td> <a class="wiki" href="/wiki/DownloadMacOSX">DownloadMacOSX</a> </td></tr>
<tr><td> Solaris </td><td> </td></tr>
<tr><td> Windows </td><td> <a class="wiki" href="/wiki/[wiki:DownloadWindows]">[wiki:DownloadWindows]</a> </td></tr>
</table>
<h2 id="FromPerlNeedsBetterTools">From Perl Needs Better Tools</h2>
<p>
<a class="ext-link" href="http://www.eigenstate.net/perl_tools/"><span class="icon"></span>Perl Needs Better Tools</a> by Matisse Enzer
</p>
<table>
<tr><td><strong>Feature</strong> </td><td> <strong>Status or link to ticket</strong> </td></tr>
<tr><td><a class="wiki" href="/wiki/Features/SyntaxHighlighting">Syntax coloring</a> </td><td> </td></tr>
<tr><td><a class="wiki" href="/wiki/Features/SyntaxChecking">Real Time Syntax Checking</a> </td><td> </td></tr>
<tr><td><a class="wiki" href="/wiki/Features/IntegratedVersionControl">Version control integration</a> </td><td> </td></tr>
<tr><td>Code-assist editor </td><td> </td></tr>
<tr><td>Excellent refactoring support </td><td> <a class="wiki" href="/wiki/Features/RefactoringPerl5">Refactoring Perl 5 code</a> </td></tr>
<tr><td>Tree view of source files and resources </td><td> </td></tr>
<tr><td>Support for creating and running unit tests </td><td> <a class="wiki" href="/wiki/Features/AutomatedBuildAndTest">Automated Build and Test</a> </td></tr>
<tr><td>Language-specific help </td><td> <a class="wiki" href="/wiki/Features/ContextSensitiveHelp">Context Sensitive Help</a> </td></tr>
<tr><td>Run your code under a debugger with real-time display of results </td><td> </td></tr>
<tr><td>Automatic reformatting of code. </td><td> </td></tr>
<tr><td>handling of multiple languages </td><td> </td></tr>
<tr><td>Automated build and test </td><td> </td></tr>
</table>
<h2 id="FromEnlightenedPerl">From Enlightened Perl</h2>
<p>
Work together with the folks at Enlightened Perl <a class="ext-link" href="http://www.enlightenedperl.org/"><span class="icon"></span>http://www.enlightenedperl.org/</a>
to see how Padre can provide a GUI for their efforts.
Look at Kensho, <a class="ext-link" href="http://search.cpan.org/dist/Task-Kensho/"><span class="icon"></span>http://search.cpan.org/dist/Task-Kensho/</a> a list of recommended module
and see how Padre can provide a GUI (via a plugin or in core Padre) for them.
</p>
<h2 id="FromCompetitors">From Competitors</h2>
<p>
See the <a class="wiki" href="/wiki/'Competitor Analysis'">'Competitor Analysis'</a>
</p>
<h2 id="FromEclipseEPIC">From Eclipse EPIC</h2>
<p>
<a class="ext-link" href="http://www.eclipse.org/cdt/"><span class="icon"></span>Eclipse CDT - C/C++ Development Tooling</a>
<a class="ext-link" href="http://www.eclipse.org/jdt/"><span class="icon"></span>Eclipse Java development tools (JDT)</a>
</p>
<p>
Some of these features are only relevant (or possible) for C/C++ or Java
</p>
<table>
<tr><td><strong>Feature</strong> </td><td> <strong>Status or link to ticket</strong> </td></tr>
<tr><td>Find all references </td><td> </td></tr>
<tr><td>Find definition/declaration/usage </td><td> </td></tr>
<tr><td>Type Hierarchy </td><td> </td></tr>
<tr><td>Call Hierarchy (or call graph) </td><td> </td></tr>
<tr><td><a class="wiki" href="/wiki/Features/RefactoringPerl5">Refactoring</a> </td><td> </td></tr>
<tr><td><a class="wiki" href="/wiki/Features/SourceNavigation">Source navigation</a> </td><td> </td></tr>
<tr><td><a class="wiki" href="/wiki/Features/SyntaxHighlighting">Syntax highlighting</a> </td><td> </td></tr>
<tr><td>Code folding </td><td> under <a class="wiki" href="/wiki/Features/VisualEditorEffects">Visual Editor Effects</a> </td></tr>
<tr><td>Hyperlink navigation </td><td> </td></tr>
<tr><td>Include browser </td><td> </td></tr>
<tr><td>Project creation </td><td> <a class="wiki" href="/wiki/Features/ProjectSkeletonGeneration">Project Skeleton Generation</a> </td></tr>
<tr><td>Managed build for various toolchains </td><td> </td></tr>
<tr><td>Standard make build </td><td> Via Run menu </td></tr>
<tr><td>Macro definition browser </td><td> </td></tr>
<tr><td>Code generation </td><td> partly (File -> New...) </td></tr>
<tr><td>Visual debugging tools </td><td> </td></tr>
<tr><td>Memory, registers, and disassembly viewers </td><td> </td></tr>
</table>