Changes between Version 31 and Version 32 of Features


Ignore:
Timestamp:
03/23/10 15:42:18 (4 years ago)
Author:
zenogantner
Comment:

preliminary changes ... not done yet

Legend:

Unmodified
Added
Removed
Modified
  • Features

    v31 v32  
    11[[PageOutline(1-2)]] 
    22 
    3 Padre will have lots of features and it will be compared to other Editors and IDEs used for Perl development. 
    4 Here we will list all the interesting features of Padre and we can also maintain comparison tables used in some other places and make sure Padre will support them. 
    5  
    6 = Features = 
    7  
    8 List of existing a planned features with links to relevant tickets and 
     3List of existing and planned features with links to relevant tickets and 
    94some explanation how to use them or links to such explanations 
    105 
    116TODO: Padre has a lot more feature that should me mentioned here and explained 
    127 
    13 == Customizable syntax highlighting (coloring) of many languages == 
    14  
    15 #6 #305 
    16  
    17 == Syntax checking for Perl 5 and Perl 6 == 
    18  
    19 #23 
    20  
    21 == Smart highlighting == 
    22  
    23 See example in this blog http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html 
    24  
    25 == Refactoring tools for Perl 5 == 
    26  
    27 The various Perl 5 refactoring features are available in the Perl menu - when viewing a file 
    28 that was recognized as a Perl 5 file. 
    29  
    30 #8 #525 #531 
    31  
    32 === Lexically Rename Variable === 
    33  
    34 {{{ 
    35  
    36 my $x = 23; 
    37 { 
    38   my $x = 42; 
    39   { 
    40     my $x = 19; 
    41     print $x;  # 19 
    42   } 
    43   print $x;    # 42 
    44 } 
    45  
    46 print $x;      # 23 
    47 }}} 
    48  
    49 In the above code the programmer used the same variable name in several scopes. 
    50 We would like to replace the one in the middle where $x is 42. We cannot replace it 
    51 based on selection as that would rename the internal variables ($x = 19) as well. 
    52  
    53 We can select one of the occurrences of $x that we want to replace, right-click on the mouse, 
    54 select "Lexically Rename Variable", type in a new name and click OK. It will 
    55 replace the correct variable (Once the bugs reported in  #565 are fixed). 
    56  
    57 === Extract Subroutine === 
    58  
    59 === Introduce Temporary Variable === 
    60  
    61  
    62 == Refactoring tools for Perl 6 == 
    63  
    64 These can be found in the Padre::Plugin::Perl6 You can find them in the  
    65 '''Plugins/Perl 6/Refactor...''' menu item. 
    66  
    67  
    68 == Context sensitive Language-specific help == 
    69  
    70 Select any text and click on F2 or just click on F2. 
    71  
    72 It currently is implemented for Perl 5 and Perl 6. 
    73  
    74 See ( #96, #56, #58, #59 ) 
    75  
    76 See example in this blog http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html 
    77  
    78 == Rectangular Selection == 
    79  
    80 Rectangular selection in Padre can be done by pressing the Shift and Alt keys together and then 
    81 use the arrow keys and/or the mouse to make the text selection. 
    82  
    83 See (#167) 
    84  
    85 == Multi-platform: Microsoft Windows, Linux, !FreeBSD, Mac OS X == 
    86  
    87 See the [http://padre.perlide.org/download.html download] page on instructions 
    88 how to install Padre on the various operating systems. 
    89  
     8TODO: re-working this pages is not finished yet 
     9 
     10= Existing Features = 
     11 * multi-platform: Microsoft Windows, Linux, !FreeBSD, Mac OS X, NetBSD 
     12 * 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] 
     13 * 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. 
     14 * Customizable syntax highlighting (coloring) for many languages: #6 #305 
     15 * multi-document editing 
     16 * Perl-specific features 
     17   * Syntax checking for Perl 5 and Perl 6 #23 
     18     * See example in this blog http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html 
     19   * Refactoring tools for Perl 5: #8 #531 
     20     * Lexically Rename Variable 
     21     * Extract Subroutine 
     22     * Introduce Temporary Variable 
     23   * Refactoring tools for Perl 6: Padre::Plugin::Perl6 
     24   * Context sensitive help (Perl 5 and 6): #96 #56 #58 #59 
     25     * Select any text and click on F2 or just click on F2. 
     26     * See example in this blog http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html 
     27   * Regex Editor for building and debugging regular expressions #542 
     28   * Extendable in Perl 5: TODO: Describe and link to the plugin system 
     29   * Automatic reformatting of code: Padre::Plugin::PerlTidy 
     30   * REPL: #110 
     31   * Project support #10 
     32 * Rectangular selection: #167 
     33   * press Shift and Alt keys together while selecting with the mouse or the arrow keys 
     34 * Integrated version control: #82 Padre::Plugin::Git, Padre::Plugin::SVN, Padre::Plugin::SVK, Padre::Plugin::HG 
     35 
     36 
     37= Planned Features = 
     38 * More Perl 5 refactoring tools 
     39   * rename subroutine #525  
     40 * Extendable in Perl 6: There is a very experimental way to extend Padre using Perl 6 via the very limited Inline::Rakudo module. See Padre::Plugin::PSI for a simple example. (Last checked in March 2009) 
     41 * Extendable in Python/PHP/Ruby/etc.: By embedding the Parrot virtual machine into Padre we can allow extending Padre by any language implemented on top of Parrot. The Padre::Plugin::Parrot has the code to embed Parrot and it has an example on coding in PIR. 
     42 
     43 
     44  
    9045== Special features for beginners == 
    9146 
    9247Tickets related to these feature are usually under report:12 
    9348 
    94 == Detection of common beginner errors == 
    95  
    96 See http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html 
    9749 
    9850== Extra features for advanced programmers == 
     
    10153 
    10254 
    103 == Free and Open Source under the "Perl license" == 
    104  
    105  
    106 [http://svn.perlide.org/padre/trunk/Padre/COPYING GPL I] 
    107 [http://svn.perlide.org/padre/trunk/Padre/Artistic Artistic I] 
    108  
    109 == Written in Perl 5 == 
    110  
    111 Most of the code if Padre is written in Perl. There are parts that rely on libraries 
    112 written in C or C++ but they are all wrapped in CPAN packages and have an API in Perl 5 
    113  
    114 == Extendable in Perl 5 == 
    115  
    116 TODO: Describe and link to the plugin system 
    117  
    118 == Extendable in Perl 6 == 
    119  
    120 There is a very experimental way to extend Padre using Perl 6 via the  
    121 very limited Inline::Rakudo module. See Padre::Plugin::PSI for a  
    122 simple example. (Last checked in March 2009) 
    123  
    124  
    125 == Extendable in Python/PHP/Ruby/etc == 
    126  
    127 By embedding the Parrot virtual machine into Padre we can allow 
    128 extending Padre by any language implemented on top of Parrot. 
    129 This is a Planned feature. The Padre::Plugin::Parrot has the code to 
    130 embed Parrot and it has an example on coding in PIR. 
     55 
     56 
     57 
     58 
    13159 
    13260== Tree view of source files and resources == 
     
    13664#10 #65 
    13765 
    138 == Automatic reformatting of code == 
    139  
    140 See the Padre::Plugin::PerlTidy 
    14166 
    14267== Handling of multiple languages == 
     
    213138#111, #52 
    214139 
    215 == Interactive shell == 
    216  
    217 Also known as REPL and explained as executing code on the file  
    218  
    219 #110 
    220140 
    221141== Code snippets == 
     
    225145You can store and retrieve set of lines of code 
    226146 
    227 == Project support == 
    228  
    229 #10 
    230  
    231 == Integrated version control == 
    232  
    233 See Padre::Plugin::Git, Padre::Plugin::SVN, Padre::Plugin::SVK 
    234  
    235 #82 
    236  
    237 == Multi document == 
    238  
    239 Padre can handle several documents at the same time. You will see a TABs for each document. Opening a file open a new TAB. 
     147 
    240148 
    241149== Split view == 
     
    274182 
    275183To export the source of program with the syntax colouring. 
    276  
    277 == Regex Editor == 
    278  
    279 A tool that allows the less experienced users as well 
    280 to build and debug a regular expressions 
    281  
    282 See #542 
    283184 
    284185== Super Grep tool ==