[Bast-commits] r7821 - trunk/Devel-REPL
matthewt at dev.catalyst.perl.org
matthewt at dev.catalyst.perl.org
Wed Oct 28 02:00:11 GMT 2009
Author: matthewt
Date: 2009-10-28 02:00:10 +0000 (Wed, 28 Oct 2009)
New Revision: 7821
Removed:
trunk/Devel-REPL/Changes
trunk/Devel-REPL/MANIFEST.SKIP
trunk/Devel-REPL/Makefile.PL
trunk/Devel-REPL/README
trunk/Devel-REPL/examples/
trunk/Devel-REPL/lib/
trunk/Devel-REPL/script/
trunk/Devel-REPL/t/
Log:
bai
Deleted: trunk/Devel-REPL/Changes
===================================================================
--- trunk/Devel-REPL/Changes 2009-10-26 19:11:22 UTC (rev 7820)
+++ trunk/Devel-REPL/Changes 2009-10-28 02:00:10 UTC (rev 7821)
@@ -1,78 +0,0 @@
-1.3.7
- - resolve rt.cpan#44919 fix deprecated use of compute_all_applicable_methods
-1.3.6
- - had to cut a new release, something went wrong with use of M::I
-1.3.5
- - resolve rt.cpan#43807 three Completion drivers not loading Completion plugin
- - resolve rt.cpan#43808 infinite recursion on Plugin::Commands when Plugin::Packages not loaded
- - resolve rt.cpan#44902 warning due to deprecated use of alias_method in Plugin.pm
- - add comment formatting option to the nopaste plugin
- - add #pastetitle command to Nopaste plugin
- - If the object we're dumping has stringification overloading, then use
- it directly
-1.3.4
- - resolve rt.cpan#43109 Missing deps for Default Profile Plugins
-1.3.3
- - make Nopaste attribute lazy
- - make ReadLineHistory history file location portable
- - resolve rt.cpan#42904 Nopaste plugin handle undef error messages
-1.3.2
- - make plugins be M::I features so dependencies are optional
- - resolve rt.cpan#42506 readdir might fail
- - test use of all plugins supported by Perl core
- - Add irc nick for oliver
-1.3.1
- - Fix brokenness in the distribution manifest
-1.3.0
- - OutputCache: If sub _ is already defined, then warn about it (once) and refuse to overwrite it
- - Turn MultiLine::PPI's needs_continuation into a method line_needs_continuation
- - Cleanup Plugin::Packages
- - Print a warning when Completion is loaded but the Term::ReadLine object doesn't support completion
- - Introduce error object for error_return
- - Make compile return a single value, use is_error to test if it's bad (it's now an error object instead of undef + error str)
- - Refactor to make it easier to add print/warn to the session
- - Preserve $^H and %^H when using the LexEnv plugin
- - Refactor the finding of the last element of the document into a method in Completion
- - Use namespaace::clean in turtles completion driver
- - Use Devel::REPL::Plugin instead of Moose::Role
- - Use "BEFORE_PLUGIN { load_plugin }" instead of "with"
- - Fix from Sartak for end-of-line comment bug reported by jrockway
- - Allow exception objects.
- - Don't initialize a turtles matcher if we don't need to
- - Improve the MultiLine::PPI plugin by checking whether adding ;; will end in PPI::Statement::Null. If not, then there must be some incomplete structure
- - Respect env var DEVEL_REPL_PROFILE
- -
- - Devel::REPL::Plugin::Peek
- - Devel::REPL::Plugin::B::Concise
- - Add CompletionDriver::Turtles
- - Devel::REPL::Error
- - Add a Nopaste plugin. #nopaste will publish your current session using App::Nopaste
- - Add the @INC completion driver.
- - Devel::REPL::Plugin::CompletionDriver::Globals
- - Add a PPI plugin for #ppi CODE
- - CompletionDriver::Methods which currently only works on classnames
- - FindVariable plugin, which returns a reference to a global variable by name
- -
- - Update dependencies
- - Give "NAME" pod sections to all the plugins
- - Add AUTHOR sections where I know off the top of my head who wrote the plugin
- - Expand some of the user documentation
-1.2.1
- - ship a working version of 1.2.0
-1.2.0
- - fix Plugin to work with latest Moose
- - deprecate NewlineHack plugin, cause fixed in REPL.pm
- - OutputCache plugin
- - MultiLine::PPI plugin
- - Timing plugin
- - Interrupt plugin
- - FancyPrompt plugin
- - Colors plugin
-1.1.0
- - profile system
- - fix up dependencies
- - DDS plugin
- - Commands plugin
- - Plugin metaclass
-1.0.0
- - Initial release
Deleted: trunk/Devel-REPL/MANIFEST.SKIP
===================================================================
--- trunk/Devel-REPL/MANIFEST.SKIP 2009-10-26 19:11:22 UTC (rev 7820)
+++ trunk/Devel-REPL/MANIFEST.SKIP 2009-10-28 02:00:10 UTC (rev 7821)
@@ -1 +0,0 @@
-^(?!script/\w+\.pl|examples/[^\.]+|lib/[\/\w]+\.p(m|od)|inc/|t/\w+\.t|Makefile.PL$|README$|MANIFEST$|Changes$|META.yml$)
Deleted: trunk/Devel-REPL/Makefile.PL
===================================================================
--- trunk/Devel-REPL/Makefile.PL 2009-10-26 19:11:22 UTC (rev 7820)
+++ trunk/Devel-REPL/Makefile.PL 2009-10-28 02:00:10 UTC (rev 7821)
@@ -1,67 +0,0 @@
-use strict;
-use warnings;
-use inc::Module::Install 0.91;
-
-name 'Devel-REPL';
-perl_version '5.008001';
-all_from 'lib/Devel/REPL.pm';
-
-install_script 'script/re.pl';
-
-# core
-requires 'File::Spec';
-requires 'Term::ReadLine';
-
-# rest
-requires 'Moose' => '0.74';
-requires 'MooseX::Object::Pluggable' => '0.0009';
-requires 'MooseX::Getopt' => '0.18';
-requires 'MooseX::AttributeHelpers' => '0.16';
-requires 'namespace::clean';
-requires 'File::HomeDir';
-requires 'Task::Weaken';
-requires 'B::Concise';
-requires 'Term::ANSIColor';
-requires 'Devel::Peek';
-
-feature 'Completion plugin - extensible tab completion',
- -default => 1,
- 'PPI' => 0;
-
-feature 'DDS plugin - better format results with Data::Dump::Streamer',
- -default => 1,
- 'Data::Dump::Streamer' => 0;
-
-feature 'INC completion driver - tab complete module names in use and require',
- -default => 0,
- 'File::Next' => 0;
-
-feature 'Keywords completion driver - tab complete Perl keywords and operators',
- -default => 0,
- 'B::Keywords' => 0;
-
-feature 'LexEnv plugin - variables declared with "my" persist between statements',
- -default => 1,
- 'Lexical::Persistence' => 0;
-
-feature 'MultiLine::PPI plugin - continue reading lines until all blocks are closed',
- -default => 1,
- 'PPI' => 0;
-
-feature 'Nopaste plugin - upload a session\'s input and output to a Pastebin',
- -default => 0,
- 'App::Nopaste' => 0;
-
-feature 'PPI plugin - PPI dumping of Perl code',
- -default => 1,
- 'PPI' => 0;
-
-feature 'Refresh plugin - automatically reload libraries with Module::Refresh',
- -default => 0,
- 'Module::Refresh' => 0;
-
-test_requires 'Test::More';
-
-auto_install;
-WriteAll;
-
Deleted: trunk/Devel-REPL/README
===================================================================
--- trunk/Devel-REPL/README 2009-10-26 19:11:22 UTC (rev 7820)
+++ trunk/Devel-REPL/README 2009-10-28 02:00:10 UTC (rev 7821)
@@ -1,200 +0,0 @@
-NAME
- Devel::REPL - a modern perl interactive shell
-
-SYNOPSIS
- my $repl = Devel::REPL->new;
- $repl->load_plugin($_) for qw(History LexEnv);
- $repl->run
-
- Alternatively, use the 're.pl' script installed with the distribution
-
- system$ re.pl
-
-DESCRIPTION
- This is an interactive shell for Perl, commonly known as a REPL - Read,
- Evaluate, Print, Loop. The shell provides for rapid development or
- testing of code without the need to create a temporary source code file.
-
- Through a plugin system, many features are available on demand. You can
- also tailor the environment through the use of profiles and run control
- files, for example to pre-load certain Perl modules when working on a
- particular project.
-
-USAGE
- To start a shell, follow one of the examples in the "SYNOPSIS" above.
-
- Once running, the shell accepts and will attempt to execute any code
- given. If the code executes successfully you'll be shown the result,
- otherwise an error message will be returned. Here are a few examples:
-
- $_ print "Hello, world!\n"
- Hello, world!
- 1
- $_ nosuchfunction
- Compile error: Bareword "nosuchfunction" not allowed while "strict subs" in use at (eval 130) line 5.
-
- $_
-
- In the first example above you see the output of the command ("Hello,
- world!"), if any, and then the return value of the statement (1).
- Following that example, an error is returned when the execution of some
- code fails.
-
- Note that the lack of semicolon on the end is not a mistake - the code
- is run inside a Block structure (to protect the REPL in case the code
- blows up), which means a single statement doesn't require the semicolon.
- You can add one if you like, though.
-
- If you followed the first example in the "SYNOPSIS" above, you'll have
- the History and LexEnv plugins loaded (and there are many more
- available). Although the shell might support "up-arrow" history, the
- History plugin adds "bang" history to that so you can re-execute chosen
- commands (with e.g. "!53"). The LexEnv plugin ensures that lexical
- variables declared with the "my" keyword will automatically persist
- between statements executed in the REPL shell.
-
- When you "use" any Perl module, the "import()" will work as expected -
- the exported functions from that module are available for immediate use:
-
- $_ carp "I'm dieeeing!\n"
- String found where operator expected at (eval 129) line 5, near "carp "I'm dieeeing!\n""
- (Do you need to predeclare carp?)
- Compile error: syntax error at (eval 129) line 5, near "carp "I'm dieeeing!\n""
- BEGIN not safe after errors--compilation aborted at (eval 129) line 5.
-
- $_ use Carp
-
- $_ carp "I'm dieeeing!\n"
- I'm dieeeing!
- at /usr/share/perl5/Lexical/Persistence.pm line 327
- 1
- $_
-
- To quit from the shell, hit "control+d" or "control+c".
-
- Run Control Files
- For particular projects you might well end up running the same commands
- each time the REPL shell starts up - loading Perl modules, setting
- configuration, and so on. A run control file lets you have this done
- automatically, and you can have multiple files for different projects.
-
- By default the "re.pl" program looks for "$HOME/.re.pl/repl.rc", and
- runs whatever code is in there as if you had entered it at the REPL
- shell yourself.
-
- To set a new run control file that's also in that directory, pass it as
- a filename like so:
-
- system$ re.pl --rcfile myproject.pc
-
- If the filename happens to contain a forwardslash, then it's used
- absolutely, or realive to the current working directory:
-
- system$ re.pl --rcfile /path/to/my/project/repl.rc
-
- Within the run control file you might want to load plugins. This is
- covered in "The REPL shell object" section, below.
-
- Profiles
- To allow for the sharing of run control files, you can fashion them into
- a Perl module for distribution (perhaps via the CPAN). For more
- information on this feature, please see the Devel::REPL::Profile manual
- page.
-
- A default profile ships with "Devel::REPL"; it loads the following
- plugins:
-
- * Devel::REPL::Plugin::History
-
- * Devel::REPL::Plugin::LexEnv
-
- * Devel::REPL::Plugin::DDS
-
- * Devel::REPL::Plugin::Packages
-
- * Devel::REPL::Plugin::Commands
-
- * Devel::REPL::Plugin::MultiLine::PPI
-
- Plugins
- Plugins are a way to add funcionality to the REPL shell, and take
- advantage of "Devel::REPL" being based on the Moose object system for
- Perl 5. This means it's simple to 'hook into' many steps of the R-E-P-L
- process. Plugins can change the way commands are interpreted, or the way
- their results are output, or even add commands to the shell environment.
-
- A number of plugins ship with "Devel::REPL", and more are available on
- the CPAN. Some of the shipped plugins are loaded in the default profile,
- mentioned above.
-
- Writing your own plugins is not difficult, and is discussed in the
- Devel::REPL::Plugin manual page, along with links to the manual pages of
- all the plugins shipped with "Devel::REPL".
-
- The REPL shell object
- From time to time you'll want to interact with or manipulate the
- "Devel::REPL" shell object itself; that is, the instance of the shell
- you're currently running.
-
- The object is always available through the $_REPL variable. One common
- requirement is to load an additional plugin, after your profile and run
- control files have already been executed:
-
- $_ $_REPL->load_plugin('Timing');
- 1
- $_ print "Hello again, world!\n"
- Hello again, world!
- Took 0.00148296356201172 seconds.
- 1
- $_
-
-REQUIREMENTS
- In addition to the contents of the standard Perl distribution, you will
- need the following:
-
- * Moose >= 0.64
-
- * MooseX::Object::Pluggable >= 0.0009
-
- * MooseX::Getopt >= 0.15
-
- * MooseX::AttributeHelpers >= 0.14
-
- * namespace::clean
-
- * File::HomeDir
-
- * Task::Weaken
-
- Optionally, some plugins if installed will require the following
- modules:
-
- * PPI
-
- * Data::Dump::Streamer
-
- * File::Next
-
- * B::Keywords
-
- * Lexical::Persistence
-
- * App::Nopaste
-
- * Module::Refresh
-
-AUTHOR
- Matt S Trout - mst (at) shadowcatsystems.co.uk
- (<http://www.shadowcatsystems.co.uk/>)
-
-CONTRIBUTORS
- Stevan Little - stevan (at) iinteractive.com
- Alexis Sukrieh - sukria+perl (at) sukria.net
- epitaph
- mgrimes - mgrimes (at) cpan dot org
- Shawn M Moore - sartak (at) gmail.com
- Oliver Gorwits - oliver on irc.perl.org
-
-LICENSE
- This library is free software under the same terms as perl itself
-
More information about the Bast-commits
mailing list