[[PageOutline(1-2)]]

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.

# Features

- multi-platform: Microsoft Windows, Linux, FreeBSD, Mac OS X, NetBSD
- Free and Open Source Software under the Perl licensing terms: GPL I Artistic I
- 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.
- Basic Editor Features
- Visual Editor Effects
  - Line Numbers
  - Code Folding
  - Current Line
  - Right Margin
  - Newlines
  - Whitespaces
  - Indentation Guide
- Syntax Highlighting
- Run a Script
- Title and Status Bar Personalization
- Command Line Window
- Open Resource
- Quick Menu Access
- Single Instance
- Automatic Save and Backup
- Remote Editing via FTP, HTTP, SSH
- Cooperative Editing (Swarm)
- Search and Replace
- Incremental Search
- Find In Files
- TODO List
- Patch
- Auto-Diff
- Code Snippets
- CPAN Module Installer
- Session Management
- Split View
- Bookmarks
- Context Menu
- Project Management
- Project Skeleton Generation
- Autocomplete
- Help Viewer
- Context Sensitive Help
- Rectangular Selection and Editing
- Autoindent
- Bracket Completition and Matching
- Code Browser and Var tree called Outline
- Source code suggestions and Autocomplete
- Configuration and Preference System
- Open Selection
- Multi-document editing - as far as we understand this only means you can edit several files at the same time
- Code-assist editor - What does this cover?
- IME - Multilingual Input Method Editor
- Integrated Web Server for web application development
- Call tips

* Tools Prefernces draft

## Perl-specific features

- Real Time Syntax Checking For Perl 5 and 6
- Perl 5 Debugger - perl debugging in Padre
- Refactoring Perl 5 code
- Automated Build and Test
- Perl 6 features
- Regex Editor
- Extendable in Perl 5 via a Powerful Plugin API
- Features/PerlTidy - automatic reformatting (tidying) of code
- REPL
- Project Browser (Tree view of source files and resources)
- Identify Common Errors
- special features for beginners (we can create a page listing them)
- advanced features (we can create a page listing them)

- Extendable in Perl 6 and other languages
- Features/HandleMultipleLanguages

## Plugins

- Plugins generic plugins related tickets
- Integrated Version Control
- Super Grep

# Feature requests and ideas from other sources

In this section we have lists of features taken from verious articles and web sites comparing tools and even from other IDEs.

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.

## From Perlmonks

Perlmonks has a table comparing features of IDEs and editors to be used for Perl development.

The table can be found at Perl Development Tools

TODO: add links to the relevant Feature Pages

Feature | Status or link to ticket
Perl Exclusive | Why is yes considered good here?
Free | yes - Under the "perl" license.
Perl Engine | Any - Padre itself runs on 5.8.7 or higher but your code can run on any version of perl
Syntax Checking | yes
Syntax colouring | yes
Autoindent | yes
Incremental search | yes
Bracket Completition and Matching | yes
Folding | see under Visual Editor Effects
Var tree | see in Outline
Code browser | see in Outline
Debugger | Perl 5 Debugger
Stepping | See Debugger
Breakpoints | See Debugger
Watches | See Debugger
Var evaluation | See Debugger
Stack module | See Debugger
Bookmarks | yes
Suggest & complete | see #67 but add more
Identify errors | also Syntax Checking
Interactive shell |
Code snippets | yes
Project |
Control version | Integrated Version Control
Multi document | yes
Split View |
IME | Multilingual Input Method Editor
Docs & Help viewer | yes
Module installer |
WEB | Integrated Web Server
FTP | #12 Read and write over ftp protocol (modify the program at remote server)
HTML export | #112 To export the source of program with the syntax colouring.
Linux | Download
BSD | DownloadFreeBSD and DownloadNetBSD
Mac OS X | DownloadMacOSX
Solaris |
Windows | [wiki:DownloadWindows]

## From Perl Needs Better Tools

Perl Needs Better Tools by Matisse Enzer

Feature | Status or link to ticket
Syntax coloring |
Real Time Syntax Checking |
Version control integration |
Code-assist editor |
Excellent refactoring support | Refactoring Perl 5 code
Tree view of source files and resources |
Support for creating and running unit tests | Automated Build and Test
Language-specific help | Context Sensitive Help
Run your code under a debugger with real-time display of results |
Automatic reformatting of code. |
handling of multiple languages |
Automated build and test |

## From Enlightened Perl

Work together with the folks at Enlightened Perl http://www.enlightenedperl.org/ to see how Padre can provide a GUI for their efforts. Look at Kensho, http://search.cpan.org/dist/Task-Kensho/ a list of recommended module and see how Padre can provide a GUI (via a plugin or in core Padre) for them.

## From Competitors

See the 'Competitor Analysis'

## From Eclipse EPIC

Eclipse CDT - C/C++ Development Tooling Eclipse Java development tools (JDT)

Some of these features are only relevant (or possible) for C/C++ or Java

Feature | Status or link to ticket
Find all references |
Find definition/declaration/usage |
Type Hierarchy |
Call Hierarchy (or call graph) |
Refactoring |
Source navigation |
Syntax highlighting |
Code folding | under Visual Editor Effects
Hyperlink navigation |
Include browser |
Project creation | Project Skeleton Generation
Managed build for various toolchains |
Standard make build | Via Run menu
Macro definition browser |
Code generation | partly (File -> New...)
Visual debugging tools |
Memory, registers, and disassembly viewers |