Padre (short for "Perl Application Development and Refactoring Environment") is a multi-language
software development platform comprising an
IDE and a
plug-in
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of softwar ...
system to extend it. It is written primarily in
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
and is used to develop applications in this
language
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
.
Padre is written in Perl 5 but can be extended by any language running on top of the
Parrot virtual machine, such as
Raku, through its plug-in system and its integration with Parrot. The development officially started in June 2008 but Padre has reused components that have been available on
CPAN, and the latest version of Padre is itself always available on CPAN. Most importantly, it uses the Perl bindings of
wxWidgets
wxWidgets (formerly wxWindows) is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with min ...
for the windowing system, and
PPI to correctly parse and highlight Perl and to allow refactoring. The primary advantages of Padre for Perl developers is that full and easy access to the source code of their editor is available, and a unique set of "Perl intuition" features that allow the IDE to understand details about project structure and content without needing to be told by the user.
Architecture
Padre employs plug-ins in order to provide all of its functionality on top of the runtime system. All the functionality except the core Perl 5 support is implemented as plug-ins. Padre has plug-ins for
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
and
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
editing.
This plug-in mechanism is a lightweight framework. In addition to allowing Padre to be extended using other
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
s, the plug-in framework allows Padre to work with networking applications such as
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet cont ...
, and
database management system
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
s. The plug-in architecture supports writing any desired extension to the environment, such as for
configuration management, version control systems (
Subversion
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
,
Git) support, etc.
Padre's
widgets are implemented by
wxWidgets
wxWidgets (formerly wxWindows) is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with min ...
, an open source, cross-platform toolkit written in
C++.
Features
*Bookmark Support
*Code Folding
*Session Support
*Diff Feature
*CPAN Explorer Tool
*Graphical Debugger Tool
*Version Control Tool
Notable plug-ins
*Version Control:
Subversion
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
,
Git,
Mercurial
*Languages:
Raku,
Parrot
Parrots, also known as psittacines (), are birds of the roughly 398 species in 92 genera comprising the order Psittaciformes (), found mostly in tropical and subtropical regions. The order is subdivided into three superfamilies: the Psittaco ...
,
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
,
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
,
CSS,
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well.
In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosper ...
*Editor Compatibility:
Vim
Vim means enthusiasm and vigor. It may also refer to:
* Vim (cleaning product)
* Vim Comedy Company, a movie studio
* Vim Records
* Vimentin, a protein
* "Vim", a song by Machine Head on the album ''Through the Ashes of Empires''
* Vim (text ed ...
*Helper tool for
Catalyst
Catalysis () is the process of increasing the rate of a chemical reaction by adding a substance known as a catalyst (). Catalysts are not consumed in the reaction and remain unchanged after it. If the reaction is rapid and the catalyst recyc ...
See also
*
Comparison of integrated development environments
The following tables list notable software packages that are nominal IDEs; standalone tools such as source code editors and GUI builders are not included. These IDEs are listed in alphabetical order of the supported language.
ActionScript
...
References
External links
*
Padre on MetaCPAN*
*
Plug-ins on CPAN
{{DEFAULTSORT:Padre (Software)
Free integrated development environments
Linux integrated development environments
Debuggers
Cross-platform free software
Free software programmed in Perl
Perl software
Software that uses wxWidgets
Software using the Artistic license
Software that uses Scintilla